Python 实现语音转文本

Python 实现语音转文本

Python可以使用多种方式来实现语音转文本,下面介绍其中两种。

方法一:使用Google Speech API

Google Speech API 是 Google 在 2012 年推出的一个 API,可以用于实现语音转文本。使用 Google Speech API 需要安装 SpeechRecognition 库,可以使用 pip 安装:

pip install SpeechRecognition

安装完成后,可以使用下面的代码实现语音转文本:

import speech_recognition as sr

# 设置音频文件的位置
audio_file = './audio.wav'

# 创建 SpeechRecognition 对象
r = sr.Recognizer()

# 读取音频文件
with sr.AudioFile(audio_file) as source:
    audio = r.record(source)

# 识别音频文件
try:
    print(r.recognize_google(audio, language='zh-CN'))
except sr.UnknownValueError:
    raise 'Google Speech Recognition could not understand audio'
except sr.RequestError as e:
    raise 'Could not request results from Google Speech Recognition Service'

方法二:使用百度语音识别

除了 Google Speech API 外,还可以使用百度语音识别来实现语音转文本。使用百度语音识别需要安装 Baidu-Aip 库,可以使用 pip 安装:

pip install Baidu-Aip

安装完成后,可以使用下面的代码实现语音转文本:

from aip import AipSpeech

# 设置 APPID、API Key 和 Secret Key
APP_ID = 'your_app_id'
API_KEY = 'your_api_key'
SECRET_KEY = 'your_secret_key'

# 初始化 AipSpeech 对象
client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)

# 设置音频文件的位置
audio_file = './audio.wav'

# 读取音频文件
with open(audio_file, 'rb') as fp:
    audio_data = fp.read()

# 识别音频文件
res = client.asr(audio_data, 'wav', 16000, {
    'dev_pid': 1536,
})
if res['err_no'] == 0:
    print(res['result'][0])

以上就是使用 Python 实现语音转文本的两种方法。