Python实现语音识别:SpeechRecognition

最近在学习语音识别的一些基本知识,也在了解Python的语音识别功能依赖库。分享一下。

 

常用Python语音识别依赖库

Python的依赖库中有一些现成的语音识别软件包。其中包括:

  • apiai
  • google-cloud-speech
  • pocketsphinx
  • SpeechRcognition
  • watson-developer-cloud
  • wit

其中SpeechRecognition,是google出的,专注于语音向文本的转换。

wit 和 apiai 提供了一些超出基本语音识别的内置功能,如识别讲话者意图的自然语言处理功能。

 

SpeechRecognition库的优势

满足几种主流语音 API ,灵活性高

Google Web Speech API 支持硬编码到 SpeechRecognition 库中的默认 API 密钥,无需注册就可使用

SpeechRecognition无需构建访问麦克风和从头开始处理音频文件的脚本, 只需几分钟即可自动完成音频输入、检索并运行。因此易用性很高。

 

SpeechRecognition的识别器

SpeechRecognition 的核心就是识别器类。一共有七个Recognizer API ,包含多种设置和功能来识别音频源的语音,分别是:

  • recognize_bing():Microsoft Bing Speech

  • recognize_google(): Google Web Speech API

  • recognize_google_cloud():Google Cloud Speech - requires installation of the google-cloud-speech package

  • recognize_houndify(): Houndify by SoundHound

  • recognize_ibm():IBM Speech to Text

  • recognize_sphinx():CMU Sphinx - requires installing PocketSphinx

  • recognize_wit():Wit.ai

以上七个中只有 recognition_sphinx()可与CMU Sphinx 引擎脱机工作, 其他六个都需要连接互联网。

另外,SpeechRecognition 附带 Google Web Speech API 的默认 API 密钥,可直接使用它。其他六个 API 都需要使用 API 密钥或用户名/密码组合进行身份验证,因此本文使用了 Web Speech API。

 

SpeechRecognition 的使用要求

To use all of the functionality of the library, you should have:

  • Python 2.6, 2.7, or 3.3+ (required)

需要Python 2.6、2.7和3.3以上的版本

  • PyAudio 0.2.11+ (required only if you need to use microphone input, Microphone)

需要安装PyAudio 0.2.11+的版本

  • PocketSphinx (required only if you need to use the Sphinx recognizer, recognizer_instance.recognize_sphinx)

需要安装PocketSphinx

  • Google API Client Library for Python (required only if you need to use the Google Cloud Speech API, recognizer_instance.recognize_google_cloud)

需要使用Google API Client Library for Python

  • FLAC encoder (required only if the system is not x86-based Windows/Linux/OS X)

需要安装FLAC encoder,如果系统不是X86

 

SpeechRecognition 支持的文件类型

支持的文件类型有:

  • WAV: 必须是 PCM/LPCM 格式

  • AIFF

  • AIFF-C

  • FLAC: 必须是初始 FLAC 格式;OGG-FLAC 格式不可用

 

SpeechRecognition的Demo调试

import speech_recognition as sr

r = sr.Recognizer()

test = sr.AudioFile('/Users/alice/Documents/Work/Blog/AI/语音识别/speechrecognition/audiofiles/test1.wav')

with test as source:
    audio = r.record(source)

type (audio)

r.recognize_google(audio, language='zh-CN', show_all= True)

 

你可能感兴趣的:(Python)