做这个之前,需要在电脑上安装FFmpeg工具,将要转的语音格式转为PCM格式.
FFmpeg不需要安装,下载后,打开bin文件夹,然后将路径放在系统环境变量里.
记住,要关闭所有打开的Pycharm,然后重启,FFmpeg的环境变量才生效.
1.打开bin文件
2.复制文件所在路径
D:\ffmpe-win64-shared\ffmpeg-20180619-a990184-win64-shared\bin
3.添加系统环境变量
下面是代码部分:
# Python import os # Third-party Library from aip import AipSpeech APP_ID = '15422825' APP_KEY = 'DhXGtWHYMujMVZZGRI3a7rzb' SECRET_KEY = 'PbyUvTL31fImGthOOIP5ZbbtEOGwGOoT' # 与百度进行一次加密校验,认证你是合法用户合法的应用 # AipSpeech是百度语音的客户端,认证成功之后,客户端将被开启,这里的client就是已经开启的百度语音的客户端了 client = AipSpeech(APP_ID, APP_KEY, SECRET_KEY) # 1.将wma格式文件转为pcm格式文件 def get_file_content(filePath): # 执行cmd命令os.system() os.system(f"ffmpeg -y -i {filePath} -acodec pcm_s16le -f s16le -ac 1 -ar 16000 {filePath}.pcm") with open(f"{filePath}.pcm", 'rb') as fp: return fp.read() # 2.将音频转成文字 res = client.asr(get_file_content('media/weather.wma'), 'pcm', 16000, { # 不填写lan参数生效,都不填写,默认1537(普通话 输入法模型),dev_pid参数见本节开头的表格 'dev_pid': 1536, }) # 将录音转成文字,然后打印 print(res.get("result")[0])