原文: https://pythonbasics.org/transcribe-audio/

您可以使用 Python 自动转录音频文件。

如果您有一个带有口语单词的音频文件,则程序将完全自动输出该音频文件的转录本。

本示例使用英语作为音频文件的输入语言,但是从技术上讲,只要语音识别引擎支持,就可以使用任何语言。

示例

首先创建带有语音的音频文件。 这可以是任何带有英语单词的音频文件。 将文件另存为transcript.mp3

如果不确定从哪里获得语音音频文件,则可以使用 Bluemix 生成一个语音文件。

安装必备组件

要运行该应用程序,您需要安装以下几项:

  • Python 3
  • pydub 模块
  • 程序 ffmpeg
  • 模块语音识别

您可以使用 pip 安装 Python 模块。ffmpeg可以与您的软件包管理器一起安装(apt-getemergeyumpacman

转录

音频转录可以通过几个步骤进行:

  1. mp3 到 WAV 转换,
  2. 加载音频文件,
  3. 将音频文件提供给特定的识别系统。

复制下面的程序,并将其另存为transcribe.py

  1. import speech_recognition as sr
  2. from os import path
  3. from pydub import AudioSegment
  4. # convert mp3 file to wav
  5. sound = AudioSegment.from_mp3("transcript.mp3")
  6. sound.export("transcript.wav", format="wav")
  7. # transcribe audio file
  8. AUDIO_FILE = "transcript.wav"
  9. # use the audio file as the audio source
  10. r = sr.Recognizer()
  11. with sr.AudioFile(AUDIO_FILE) as source:
  12. audio = r.record(source) # read the entire audio file
  13. print("Transcription: " + r.recognize_google(audio))

使用以下程序运行程序:

  1. python3 transcribe.py

它将输出原始音频文件的转录。

下载音频示例