前面的章节构建了语音识别的理论体系。我们了解到声学模型如何识别声音,以及语言模型如何提供语境,它们共同作用,以找到音频信号中最可能的词语序列。从头开始构建这样的系统是一项大工程,需要大量数据集和可观的计算能力。幸运的是,对于大多数应用来说,这并非必需。您无需自行构建这些组件,而是可以使用现成的库和应用程序编程接口 (API)。这使您可以借鉴现有成果,仅需几行代码即可将复杂的语音识别功能集成到您的程序中。这里将介绍您会遇到的主要工具类别,以及我们将用于构建第一个应用的工具。工具包:库和API从宏观上看,向应用程序添加语音识别的工具可分为几类。理解它们之间的区别对于为您的项目选择合适的工具有帮助。库是您安装并运行在您自己的计算机上的一组代码。对于ASR,这通常包含预训练模型。您对过程有直接控制权,一旦安装,它可以完全离线工作。这就像在家里拥有专业级厨房电器;您拥有完全控制权,但其性能取决于您自己的配置。另一方面,API是在远程服务器上运行的服务,通常由像Google、Amazon或Microsoft这样的公司管理。您的应用程序通过互联网向API发送音频文件,服务会返回文本转录。这就像从餐馆点餐;您无需管理厨房即可获得高质量结果,但您需要与餐馆建立连接,并且服务会有费用。三种转录途径集成ASR有三种常见方法,每种方法在复杂性、成本和控制方面各有取舍。云API: 您可以直接使用诸如Google Cloud Speech-to-Text或Amazon Transcribe等服务。这种方法使您可以使用极度准确、大规模的模型。主要不足之处在于依赖互联网连接、基于使用量的潜在费用,以及需要将数据发送给第三方服务。本地开源库: 您可以使用Hugging Face transformers等强大的开源库,直接在您的机器上运行OpenAI的Whisper等模型。这使您对数据有完全控制权,可以离线工作,并且通常免费。然而,它可能需要更多设置和一台性能较好的计算机才能高效运行。封装库: 这些库为多种不同的ASR服务提供了简化的统一接口,包括云API和本地模型。它们非常适合学习和快速原型开发,因为它们为您处理了大部分复杂性。digraph G { rankdir=TB; node [shape=box, style="rounded,filled", fontname="Helvetica", fillcolor="#e9ecef"]; edge [fontname="Helvetica"]; subgraph cluster_app { label = "您的Python应用程序"; style=filled; color="#f8f9fa"; app [label="您的脚本", fillcolor="#a5d8ff"]; } subgraph cluster_tools { label = "ASR工具方法"; style=filled; color="#f8f9fa"; wrapper [label="封装库\n(例如,SpeechRecognition)", fillcolor="#d0bfff"]; local_lib [label="本地库和模型\n(例如,Transformers + Whisper)", fillcolor="#b2f2bb"]; cloud_api [label="云API\n(例如,Google Speech-to-Text)", fillcolor="#ffd8a8"]; } transcription [label="文本\n转录", shape=document, fillcolor="#ced4da"]; app -> wrapper [label=" 简化接口"]; wrapper -> cloud_api [label=" API调用"]; app -> cloud_api [label=" 直接API调用", style=dashed]; app -> local_lib [label=" 本地处理"]; cloud_api -> transcription; local_lib -> transcription; }使用ASR工具从应用程序到最终文本转录的不同路径。我们选择的工具对于本课程,我们将专注于为入门提供最大简便性和灵活性的途径:封装库。SpeechRecognition 库我们的主要工具将是Python SpeechRecognition 库。它是初学者的绝佳选择,原因有几点:简洁性: 它提供了一个单一、易用的ASR执行接口。灵活性: 它支持多种ASR引擎和API,包括Google Web Speech API、Sphinx(用于离线识别),以及来自Google、Microsoft等公司的API。易用性: 它允许您免费使用Google Web Speech API进行个人项目和学习,非常符合我们的需求。您无需注册云账户或提供信用卡即可转录音频。这个库充当一个有用的管理器,使我们能以最少的代码将音频发送到能干的后端服务。关于现代开源模型的一点说明语音识别领域发展迅速,强大的开源模型正变得普遍可用。一个突出的例子是OpenAI的Whisper,它在多种语言中提供了出色的准确性。您可以通过Hugging Face的transformers等库使用Whisper等模型。尽管直接使用这些工具提供更强的能力,但它也涉及更陡峭的学习曲线,包括管理更大的模型下载和潜在的复杂软件依赖。通过从 SpeechRecognition 库开始,您将学习语音转文本应用程序的基本工作流程。您获得的技能将为后续使用更高级的、直接与模型交互的库提供坚实的基础。在接下来的章节中,我们将安装 SpeechRecognition 并编写我们的第一个Python脚本,将口语转换为文本。