因为有朋友需要将录音转成文字, 给我的是m4a格式, 我给转成txt发给他的.
我找了找, 发现网上很多都是收费软件,而且转换结果不尽人意., 最后决定使用讯飞服务来完成转换, 讯飞语音转写api支持大文件, 转换结果也十分准确, 感谢讯飞及制作demo的大佬yanmeng2, 嘻嘻
1先注册账号, 获取key…
在讯飞开放平台(https://passport.xfyun.cn/login)注册账号, 然后创建应用.
再去新用户送5小时转换时间, 需要去领取 (http://www.xfyun.cn/services/lfasr).
将领取的奖励选择到创建出的应用中
进入应用(如下页面)拿到需要的参数
2 修改代码, 将值输入并确定,
3 执行
打开cmd, 输入python D:\workspace\python\weblfasr_python3_demo\weblfasr_python3_demo.py
执行完毕后, 就可以在 代码设置的to_file中看到结果了
源码:
# -*- coding: utf-8 -*-
#
# author: yanmeng2
#
# 非实时转写调用demo
import base64
import hashlib
import hmac
import json
import os
import time
import requests
lfasr_host = 'http://raasr.xfyun.cn/api'
# 请求的接口名
api_prepare = '/prepare'
api_upload = '/upload'
api_merge = '/merge'
api_get_progress = '/getProgress'
api_get_result = '/getResult'
# 文件分片大小10M
file_piece_sice = 10485760
# ——————————————————转写可配置参数————————————————
# 参数可在官网界面(https://doc.xfyun.cn/rest_api/%E8%AF%AD%E9%9F%B3%E8%BD%AC%E5%86%99.html)查看,根据需求可自行在gene_params方法里添加修改
# 转写类型
lfasr_type = 0
# 是否开启分词
has_participle = 'false'
has_seperate = 'true'
# 多候选词个数
max_alternatives = 0
# 子用户标识
suid = ''
class SliceIdGenerator:
"""slice id生成器"""
def __init__(self):
self.__ch = 'aaaaaaaaa`'
def getNextSliceId(self):
ch = self.__ch
j = len(ch) - 1
while j >= 0:
cj = ch[j]
if cj != 'z':
ch = ch[:j] + chr(ord(cj) + 1) + ch[j + 1:]
break
else:
ch = ch[:j] + 'a' + ch[j + 1:]
j = j - 1
self.__ch = ch
return self.__ch
class RequestApi(object):
def __init__(self, appid, secret_key, upload_file_path, to_file):
self.appid = appid
self.secret_key =</