Python调用百度语音识别API完整流程与代码示例

桃夭
桃夭
发布时间:2026-10-13| 6人浏览过
原创

本文详细介绍如何使用Python 3.5在CentOS 7环境下调用百度语音识别REST API。内容涵盖从创建应用获取API Key和Secret Key,到通过OAuth 2.0接口获取Access Token,最后发送语音数据获取识别结果的全流程。附带完整的Python代码示例,包括Token获取、语音文件读取及识别请求发送,帮助开发者快速实现语音检索功能。

近期在处理语音检索相关任务时,涉及到了语音识别模块的开发。在技术选型上,分别采用了讯飞和百度的API接口:讯飞接口通过JavaScript实现,而百度接口则使用Python 3进行开发,这主要基于团队对Python语言的熟悉程度。

开发环境配置如下:

Python 3.5版本,运行于CentOS 7操作系统。

整体处理流程:

调用百度语音识别REST API主要包含三个核心步骤:

第一步为申请操作,需在百度开发者平台创建应用,并获取该应用对应的API Key以及Secret Key。

第二步为程序实现部分,利用已获取的API Key和Secret Key,向https://openapi.baidu.com/oauth/2.0/token发送POST请求,以获取访问令牌(token)。

第三步同样属于程序实现,利用上一步获取的token,通过POST方法将相关的语音信息发送至http://vop.baidu.com/server_api接口,从而获取最终的语音识别结果。

上述流程细节可参考百度语音官方开发文档或网络上相关的技术资料。

以下是具体的Python代码实现部分:

程序的整体逻辑结构如下所示:

import requests
import json
import uuid
import base64

def get_token():
 url = "https://openapi.baidu.com/oauth/2.0/token"
 grant_type = "client_credentials"
 api_key = "NzGBYD0jPFDqVT8VHRYa****"  # 自己申请的应用
 secret_key = "8439155b9db2040b4acd13b0c*****" # 自己申请的应用
 data = {'grant_type': 'client_credentials', 'client_id': api_key, 'client_secret': secret_key}
 r = requests.post(url, data=data)
 token = json.loads(r.text).get("access_token")
 return token


def recognize(sig, rate, token):
 url = "http://vop.baidu.com/server_api"
 speech_length = len(sig)
 speech = base64.b64encode(sig).decode("utf-8")
 mac_address = uuid.UUID(int=uuid.getnode()).hex[-12:]
 rate = rate
 data = {
 "format": "wav",
 "lan": "zh",
 "token": token,
 "len": speech_length,
 "rate": rate,
 "speech": speech,
 "cuid": mac_address,
 "channel": 1,
 }
 data_length = len(json.dumps(data).encode("utf-8"))
 headers = {"Content-Type": "application/json",
 "Content-Length": data_length}
 r = requests.post(url, data=json.dumps(data), headers=headers)
 print(r.text)


filename = "two.wav"

signal = open(filename, "rb").read()
rate = 8000

token = get_token()
recognize(signal, rate, token)

此外,获取语音数据的方式也可以通过以下方式实现:

import scipy.io.wavfile
filename = "two.wav"
rate, signal = scipy.io.wavfile.read(filename=filename)

以上内容构成了本文的全部介绍,希望能为各位的学习提供有益的帮助,同时也欢迎大家继续支持本站。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。