中国驻美大使谢锋:人工智能不能野蛮生长跑马圈地
2026-06-22
2026-06-26 0
必须完成实名认证才能开通API服务;创建应用获取AppID、API Key、APISecret三凭证;配置Python环境并转换音频为16kHz单声道WAV;用密钥生成带签名的wss鉴权URL;发送启动帧、音频帧和结束帧获取识别结果。

你需要在自己的程序里调用讯飞听见的语音转文字服务,但卡在API接入环节——密钥填了没反应、WebSocket连不上、音频发过去没返回结果,根本不知道哪一步出错。
打开讯飞听见开放平台官网(直接搜索“讯飞听见开放平台”即可),用手机号注册新账号。注册后立刻点击右上角头像→「实名认证」,按提示上传身份证正反面照片并人脸识别。这一步【必须完成】,否则后续所有服务都无法开通,控制台里看不到任何API入口。
认证提交后通常5分钟内通过,页面会自动跳转回控制台首页。如果10分钟还没变绿,刷新页面或退出重登一次。
进入控制台→点击「我的应用」→「创建新应用」。
应用名称必须用英文或英文+数字组合,比如meeting_transcribe_v1,不能含中文、空格或特殊符号,否则后续调用会返回401 Unauthorized错误。
提交后立即跳转到应用详情页,在左侧菜单栏找到「语音听写」或「实时语音转写」服务,点击开通。开通成功后,页面右侧会显示三行关键信息:
AppID:一串18位纯数字,如123456789012345678
API Key:32位字母数字混合字符串,如a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6
APISecret:同样32位,如q7r8s9t0u1v2w3x4y5z6a7b8c9d0e1f2
这三项必须一次性复制完整,漏一个字符都会导致鉴权失败。建议新建记事本,逐行粘贴并标注用途,不要直接写进代码里。
确保已安装Python 3.8及以上版本,然后执行:
pip install websocket-client requests pydub
其中pydub用于后续音频格式转换——讯飞要求输入必须是16kHz采样率、16bit、单声道的PCM或WAV,而你手里的MP3或手机录音往往不满足。这一步不能跳过,否则服务器直接拒绝接收数据帧。
如果你用的是VS Code,确认终端当前路径是你项目的根目录,不是桌面或C盘根目录。路径不对会导致ModuleNotFoundError。
讯飞不接受裸连,必须用API Key和APISecret按固定算法生成临时授权地址。以下是Python可直接运行的片段:
第一步:计算当前时间戳(秒级整数)
第二步:拼接签名原文:api_key + 当前时间戳
第三步:用HMAC-SHA256算法对原文做哈希,再Base64编码
第四步:把编码结果拼进URL模板:wss://rtasr.xfyun.cn/v1/ws?appid=你的AppID&ts=时间戳&signa=签名
注意:时间戳必须是整数,不能带小数点;signa参数值是Base64编码后的字符串,不是原始哈希值;URL中wss://不能写成ws://,否则连接会被立即断开。
方法一:使用官方SDK(推荐新手)
下载讯飞开放平台提供的Python SDK压缩包,解压后进入sample/rtasr目录,把app_id、api_key、api_secret替换成你自己的值,再把测试音频路径改成本地WAV文件路径,直接运行python demo.py。
方法二:手写WebSocket客户端(适合调试)
建立连接后,先发启动帧(JSON格式,含语言类型、音频格式、是否返回标点等参数)→再循环读取WAV文件每1280字节→每帧调用send()发送→最后一帧发结束帧→监听on_message回调提取data.result字段。
音频文件必须是单声道,双声道WAV会导致识别结果为空。可用Audacity免费软件打开音频→Tracks→Stereo Track to Mono快速转换。