调用讯飞开放平台语音转写demo,用python写一个调用文件夹下的所有音频文件对其逐一进行语音转写输出成TXT文本保存
时间: 2024-06-11 18:08:32 浏览: 100
以下是一个简单的Python脚本,可以使用讯飞开放平台的语音转写API对指定文件夹下的所有音频文件进行转写,并将结果保存到TXT文件中。请确保已安装讯飞开放平台的Python SDK,并已经注册并获取了API key和API secret。
```python
import os
from iflytek import IFLYSpeechRecognizer
APPID = 'YOUR_APPID' # 在讯飞开放平台申请的appid
API_KEY = 'YOUR_API_KEY' # 在讯飞开放平台申请的api key
API_SECRET = 'YOUR_API_SECRET' # 在讯飞开放平台申请的api secret
LANGUAGE = 'zh_cn' # 语言种类,中文普通话为'zh_cn'
def speech_to_text(audio_path):
recognizer = IFLYSpeechRecognizer(APPID, API_KEY, API_SECRET, LANGUAGE)
recognizer.set_sample_rate(16000) # 设置采样率
recognizer.set_result_level('plain') # 设置结果格式为纯文本
with open(audio_path, 'rb') as f:
result = recognizer.recognize(f.read())
return result
def batch_process(folder_path, output_folder):
if not os.path.exists(output_folder):
os.makedirs(output_folder)
for filename in os.listdir(folder_path):
if filename.endswith('.wav') or filename.endswith('.mp3'):
audio_path = os.path.join(folder_path, filename)
output_path = os.path.join(output_folder, filename + '.txt')
result = speech_to_text(audio_path)
with open(output_path, 'w', encoding='utf-8') as f:
f.write(result)
if __name__ == '__main__':
batch_process('audio_folder', 'output_folder')
```
将上述代码保存为一个Python脚本,将其中的`YOUR_APPID`、`YOUR_API_KEY`和`YOUR_API_SECRET`替换为自己在讯飞开放平台申请的对应信息,然后指定要处理的音频文件夹路径和输出文件夹路径,运行脚本即可开始批量处理。注意,该脚本仅支持处理后缀名为`.wav`或`.mp3`的音频文件,如需处理其他格式的音频文件,请自行修改代码。
阅读全文