首页 > 生活 > 娱乐

有什么录音软件可以转文字(自己实现录音文件转文字)

时间:2023-02-06 17:49:04 作者: 阅读:0

之前老婆他们单位开会比较多,有一些会议时间比较长,而且会议的内容需要去回顾,所以基本上会议都进行了录音。但回顾录音往往是一个很痛苦的过程,基本上很难定位重点的内容位于录音的哪一部分,再加上有时候有一些现场讨论的情况, 听一次录音比开一次会的时间还要长。


最开始有这种问题的时候,我在网上找了几个做音频文件转文字的软件,要不就是收费太贵,要不就是只支持1分钟的试用,好不容易找到一个勉强能用的,准确率还不太高。不过总算能满足一部分的需求。

昨天老婆又拿回来一个4个小时的音频文件,说要转换成文字。在电脑上翻了翻,之前那个软件已经没办法用了,微信小程序和网上都找不到几个靠谱的,倒是各大云平台服务商推的云平台服务不少,翻了翻发现腾讯的语音识别服务离线语音文件9.9元60个小时,秉承着9.9买不了吃亏,9.9买不了上当的理念,就准备自己整一个试试。

有什么录音软件可以转文字(自己实现录音文件转文字)(1)

(之前用过百度的OCR和识图API,每天有一定的免费次数,不确定其他服务是不是也有免费试用的次数,其他的云平台也可以多了解下,薅下羊毛。)


一、注册一个腾讯云账号,我用绑定银行卡的微信进行的实名认证。二、购买9.9的录音文件识别资源包(这里看了下,正常价格是72块钱60个小时)。

有什么录音软件可以转文字(自己实现录音文件转文字)(2)

订单列表

购买完成后,发现可使用的资源包里面还有一些赠送的资源,不过是一个月之内到期的。

有什么录音软件可以转文字(自己实现录音文件转文字)(3)

资源包详情

三、购买成功之后,在云产品——语音识别当中,可以看到需要的接口文档

有什么录音软件可以转文字(自己实现录音文件转文字)(4)

接口文档

四、调用接口还需要腾讯云平台的SecretId和SecretKey

两个信息在个人头像——访问管理——访问秘钥——API秘钥管理当中创建

有什么录音软件可以转文字(自己实现录音文件转文字)(5)

SecretId和SecretKey的获取

有什么录音软件可以转文字(自己实现录音文件转文字)(6)

创建好的SecretId和SecretKey

五、根据API文档调用接口

接口文档地址为https://cloud.tencent.com/document/product/1093/37823,这里面有个比较坑的地方,上传的录音文件有两个途径传给云平台:

1.通过网络URL地址,前提是你的文件在网络上有个可以公开访问的URL,这里限制文件小于512M,市场小于5个小时

2.通过请求体直接发,限制文件小于5M(我就想问,5M能放点啥)

有什么录音软件可以转文字(自己实现录音文件转文字)(7)

参数要求

由于我手头上的文件是4个多小时,140多M,我自认没信心把它能压缩到5M以内,于是抛弃第二种方式。

开始的时候想把文件放到云盘或者网盘上面,看了一圈发现没有哪个云盘和网盘上传上去后能直接访问的,要么是要登录,要么是要输入提取码的。

最后没办法,在我的一台华为云的ECS上装了个nginx,做了一个简单的文件服务器,把文件传到服务器上,才获取了一个可以直接访问录音文件的URL

有什么录音软件可以转文字(自己实现录音文件转文字)(8)

简单的文件服务器

调用的方式倒是比较简单,参照文档上的接口参数列表,以及github上的调用示例,或者腾讯云提供的API Explorer工具进行,我用的Python版本的。

有什么录音软件可以转文字(自己实现录音文件转文字)(9)

接口文档示例

有什么录音软件可以转文字(自己实现录音文件转文字)(10)

API Explorer示例

有什么录音软件可以转文字(自己实现录音文件转文字)(11)

github上调用说明

参考地址:

录音文件转文字API地址:https://cloud.tencent.com/document/product/1093/37823

API Explorer地址:https://console.cloud.tencent.com/api/explorer?Product=asr&Version=2019-06-14&Action=CreateRecTask&SignVersion=

Python调用腾讯云平台介绍:https://cloud.tencent.com/document/sdk/Python

github上腾讯云平台API及文档:https://github.com/TencentCloud/tencentcloud-sdk-python

六、具体代码

前期工作做完之后,代码其实比较简单,主要使用两个接口,一个发送转换的任务,另一个查询转换任务的结果

1.提交转换任务

import json from tencentcloud.common import credential from tencentcloud.common.exception.tencent_cloud_sdk_Exception import TencentCloudSDKException from tencentcloud.asr.v20190614 import asr_client, models try: # cred = credential.EnvironmentVariableCredential().get_credential() cred = credential.Credential("你的SecretId", "你的SecretKey") client = asr_client.AsrClient(cred, "ap-shanghai") req = models.CreateRecTaskRequest() params = { "Action": "CreateRecTask", "Version": "2019-06-14", "EngineModelType": "16k_zh", "ChannelNum": 1, "ResTextFormat": 0, "SourceType": 0, "Url": "http://*****你的网络地址*******/files/chen.m4a" } req.from_json_string(json.dumps(params)) resp = client.CreateRecTask(req) print(resp.to_json_string()) except TencentCloudSDKException as err: print(err)

本来api上说可以通过配置环境变量的方式,增加TENCENTCLOUD_SECRET_ID和TENCENTCLOUD_SECRET_KEY两个值,然后通过cred = credential.EnvironmentVariableCredential().get_credential()初始化,但我试了下初始化失败,没弄清问题在哪里,就直接写死了两个值进行初始化。

2.查询转换结果

import json from tencentcloud.common import credential from tencentcloud.common.profile.client_profile import clientProfile from tencentcloud.common.profile.http_profile import HttpProfile from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException from tencentcloud.asr.v20190614 import asr_client, models try: cred = credential.Credential("你的SecretId", "你的SecretKey") httpProfile = HttpProfile() httpProfile.endpoint = "asr.tencentcloudapi.com" clientProfile = ClientProfile() clientProfile.httpProfile = httpProfile client = asr_client.AsrClient(cred, "", clientProfile) req = models.DescribeTaskStatusRequest() params = { "Action": "DescribeTaskStatus", "Version": "2019-06-14", "TaskId": 你的任务id,这个值是上个接口返回的信息中的 } req.from_json_string(json.dumps(params)) resp = client.DescribeTaskStatus(req) print(resp.to_json_string()) except TencentCloudSDKException as err: print(err)

七、转换

首先执行了第一个方法,返回了任务

{"Data": {"TaskId": *********}, "RequestId": "*******************"}

我在这里用*号代替,实际上会返回具体的数值

然后执行第二个方法,会返回状态码0,状态waiting(可能需要1个多小时),实际执行的时间我也不太清楚,因为并没有加轮训或者回调,过了6、7个小时候想起来再跑了一遍第二个方法,发现已经执行完成了(实际执行时间应该没这么久)。

附带一部分的执行结果(实际的返回值当中是有\n换行符的,放到word里面需要手动替换成^p换行符)

有什么录音软件可以转文字(自己实现录音文件转文字)(12)

部分转换结果

用word统计了下,4个多小时的语音文件转换了6w多字,准确性基本上OK,就是那个“学琴”我也不懂是啥意思,可能是口音比较重,没转换成功。

有什么录音软件可以转文字(自己实现录音文件转文字)(13)

字数

转换参数当中其实还有一些可选项,可以进行转换调优,比如:

是否开启说话人分离、说话人分离人数、是否进行阿拉伯数字智能转换、是否过滤脏词、是否过滤标点符号、是否过滤语气词等等


转换完成后看了下资源包,优先扣的是赠送的那部分资源,也就是买的60个小时还在。后期考虑自己写个简单的GUI界面,使用方便一点,再加上自动上传音频文件的功能就完美了。

还是自己调API转换比便宜,质量还有保障。

,

图文新闻

相关文章

热门资讯

评论

1111111

更多推荐

有什么录音软件可以转文字(自己实现录音文件转文字)
有什么录音软件可以转文字(自己实现录音文件转文字)

之前老婆他们单位开会比较多,有一些会议时间比较长,而且会议的内容需要去回顾,所以基本上会议都进行了录音。但回顾录音往往是一个

2023-02-06
内存更大手机更耗电吗(手机上内存和电脑上的内存是同一个概念吗)
内存更大手机更耗电吗(手机上内存和电脑上的内存是同一个概念吗)

在挑选手机的时候,“内存”是很多人选择的重要因素。尤其对于爱拍照的MM们,挑选手机时一看拍照功能是否强大,二看是否有更大的“内

2023-02-06
《君子盟》兰珏和张屏是什么关系 《君子盟》兰珏是怎样的人
《君子盟》兰珏和张屏是什么关系 《君子盟》兰珏是怎样的人

在电视剧《君子盟》中,井柏然扮演的兰珏是礼部侍郎,温润如玉,宋威龙扮演的张屏是一个穷书生,隐藏锋芒,两人身上都有各自的优点。那么兰

2023-02-06
《君子盟》小说张屏结局是什么 张屏的身世是怎样的
《君子盟》小说张屏结局是什么 张屏的身世是怎样的

在《君子盟》中,张屏现在整个人的体质就是走到哪里哪里都会出现一些谜案,就像大家所说的张屏的刀人体质不就是古代时候的柯南。那么

2023-02-06
《你比星光美丽》是根据什么小说改编的 韩廷和纪星有孩子吗结局是什么
《你比星光美丽》是根据什么小说改编的 韩廷和纪星有孩子吗结局是什么

《你比星光美丽》今日开机,这部剧是谭松韵和许凯主演的,原著是玖月晞的《你比北京美丽》,男女主人公分别是韩廷纪星,那么,韩廷纪星有孩

2023-02-06
《风雨送春归》人物关系是怎样的 《风雨送春归》讲的是什么故事
《风雨送春归》人物关系是怎样的 《风雨送春归》讲的是什么故事

电视剧《风雨送春归》正在热播,王志文、俞飞鸿、王力可、于震、张秋歌、陈龙、石兆琪、鲁诺等主演,是很精彩的一部剧。那么《风雨送

2023-02-06
《女士的品格》追剧日历 《女士的品格》更新时间表
《女士的品格》追剧日历 《女士的品格》更新时间表

《女士的品格》今晚就要开播了,这是讲述了姚薇、安欣和刘小溪三位女性的成长故事,围绕职场和家庭生活,那么,该剧具体更新时间是怎样的

2023-02-06
为什么现在都盛行打九价 九价到底有没有打的必要
为什么现在都盛行打九价 九价到底有没有打的必要

接种HPV疫苗是预防宫颈癌的重要措施,而且现在九价HPV疫苗适用年龄从16至26岁拓展为9至45岁了,更多人都会选择九价疫苗吧。那么为什

2023-02-06
哪些人群不建议打九价疫苗 打九价疫苗的注意事项有哪些
哪些人群不建议打九价疫苗 打九价疫苗的注意事项有哪些

宫颈癌目前是全球唯一能用疫苗预防的癌症,并且HPV容易反复感染,如果已经感染了宫颈癌变,一定要治疗后再接种,所以在接种前可以做好检

2023-02-06
防脱发洗发水能改善脱发吗 洗发水主要作用是什么
防脱发洗发水能改善脱发吗 洗发水主要作用是什么

目前市面上有很多防脱发,生发的洗发水宣传,对于有脱发困扰的人群来说,就会乐于尝试,那么,防脱发洗发水能改善脱发吗?洗发水主要作用是什

2023-02-06
返回顶部