做这个之前,需要在电脑上安装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])