跳到主要内容

腾讯云语音识别工具

概述

腾讯云语音识别工具是一个基于腾讯云语音识别API的智能语音转文字工具。它支持多种音频格式和语言,能够将音频文件或音频数据流转换为准确的文字内容,广泛应用于语音转录、智能客服、会议记录等场景。

核心特性

  • 多格式支持: 支持WAV、MP3、PCM、M4A、AAC等主流音频格式
  • 多语言识别: 支持中文、英文、日文、韩文等9种主要语言
  • 高精度识别: 基于腾讯云先进的语音识别技术
  • 灵活输入: 支持base64编码、Buffer数据、文件路径等多种输入方式
  • 安全可靠: 内置数据验证和错误处理机制
  • 详细报告: 提供完整的识别结果和执行统计信息

重要限制说明

⚠️ 使用前请注意以下限制

  • 音频时长: 最大支持60秒音频(腾讯云API限制)
  • 文件大小: 最大支持5MB音频文件
  • 识别模式: 仅支持一句话识别,不支持实时转录
  • 网络要求: 需要稳定的网络连接访问腾讯云API

配置参数

腾讯云凭据配置

参数类型默认值必填说明
secretIdstring环境变量 TENCENT_SECRET_ID腾讯云 API 密钥 ID(以 AKID 开头)
secretKeystring环境变量 TENCENT_SECRET_KEY腾讯云 API 密钥 Key(最少 20 位)
appIdstring环境变量 TENCENT_CLOUD_APP_ID腾讯云 App ID
regionstring'ap-guangzhou'服务区域

识别参数配置

参数类型默认值说明
engineTypestring'16k_zh'引擎模型类型,详见支持的语言列表
timeoutnumber60000超时时间(毫秒),范围 5000–300000
maxFileSizenumber5242880最大文件大小(字节),默认 5MB
maxDurationnumber60最大音频时长(秒)
defaultLanguagestring'zh-CN'默认识别语言

支持的语言和格式

支持的语言

源码使用标准语言代码(非引擎模型类型字符串),系统内部自动映射:

语言代码语言说明
zh-CN中文(普通话)默认语言
zh-TW中文(繁体)繁体中文识别
en-US英语(美式)英文识别
ja-JP日语日文识别
ko-KR韩语韩文识别
es-ES西班牙语西班牙文识别
fr-FR法语法文识别
de-DE德语德文识别
ru-RU俄语俄文识别

支持的音频格式

voiceFormat 使用字符串格式(非数字):

格式voiceFormat 值文件扩展名说明
WAV'wav'.wav无损音频格式,推荐使用,也是默认回退格式
MP3'mp3'.mp3常用压缩音频格式
M4A'm4a'.m4aApple 音频格式
PCM'pcm'.pcm原始音频数据
AAC'aac'.aac高级音频编码

输入参数

参数类型必填说明
audiostring / Buffer音频数据(base64 编码字符串或 Buffer)
languagestring识别语言代码(如 zh-CN),默认取配置中的 defaultLanguage
formatstring音频格式(如 wavmp3),默认 'wav'
filenamestring文件名,默认 audio.{format}
sessionIdstring会话 ID
注意
  • 输入参数名为 audio(非 audioData
  • realtime 参数如果传入会被忽略并产生警告(不支持实时转录)

输出结果

成功响应结构

{
"success": true,
"text": "识别出的文字内容",
"language": "zh-CN",
"confidence": 0.85,
"provider": "tencent",
"method": "sentence",
"processedAt": "2025-06-15T10:30:00.000Z",
"audioSize": 83200,
"sessionId": "xxx",
"executionTime": 500
}
备注

confidence 当前为固定值 0.85,未使用腾讯云返回的实际置信度。

失败响应结构

{
"success": false,
"error": "错误信息",
"provider": "tencent",
"processedAt": "2025-06-15T10:30:00.000Z",
"sessionId": "xxx",
"failed": true
}

输出字段说明

字段类型说明
successboolean识别是否成功
textstring识别出的文字内容
languagestring使用的语言代码
confidencenumber置信度(当前固定为 0.85)
providerstring服务提供商(固定为 "tencent"
methodstring识别方法(固定为 "sentence"
processedAtstring处理时间(ISO 8601 格式)
audioSizenumber音频数据大小(字节)
sessionIdstring会话 ID
executionTimenumber执行耗时(毫秒)
errorstring失败时的错误信息
failedboolean失败时为 true

使用示例

1. 基础语音识别

最简单的使用方式,识别中文语音:

{
"id": "speech-recognition",
"type": "tencent-speech",
"config": {
"secretId": "AKIDxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"secretKey": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"region": "ap-guangzhou"
},
"inputs": {
"audio": "UklGRigAAABXQVZFZm10IBAAAAABAAEAQB8AAEAfAAABAAgAZGF0YQQAAAAAAA==",
"language": "zh-CN",
"format": "wav"
}
}

2. 多语言识别

识别英文语音:

{
"id": "english-recognition",
"type": "tencent-speech",
"config": {
"secretId": "AKIDxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"secretKey": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"engineModelType": "16k_en"
},
"inputs": {
"audio": "{{base64_audio_data}}",
"language": "en",
"format": "mp3"
}
}

3. 文件上传识别

处理上传的音频文件:

{
"workflow": [
{
"id": "file-upload",
"type": "file-input",
"config": {
"acceptedTypes": ["audio/wav", "audio/mp3", "audio/m4a"]
}
},
{
"id": "speech-recognition",
"type": "tencent-speech",
"config": {
"secretId": "{{TENCENT_SECRET_ID}}",
"secretKey": "{{TENCENT_SECRET_KEY}}"
},
"inputs": {
"audio": "{{file-upload.content}}",
"format": "{{file-upload.format}}"
}
}
]
}

4. 批量处理

批量处理多个音频文件:

{
"workflow": [
{
"id": "batch-recognition",
"type": "js-executor",
"inputs": {
"audioFiles": [
{"name": "audio1.wav", "data": "base64_data_1"},
{"name": "audio2.mp3", "data": "base64_data_2"},
{"name": "audio3.m4a", "data": "base64_data_3"}
],
"code": `
let results = [];
for (let file of inputs.audioFiles) {
try {
const result = await callOperator('tencent-speech', {
audioData: file.data,
format: file.name.split('.').pop()
});
results.push({
filename: file.name,
text: result.text,
success: true
});
} catch (error) {
results.push({
filename: file.name,
error: error.message,
success: false
});
}
}
return { results };
`
}
}
]
}

5. 中英混合识别

处理包含中英文混合的音频:

{
"id": "mixed-language-recognition",
"type": "tencent-speech",
"config": {
"secretId": "{{TENCENT_SECRET_ID}}",
"secretKey": "{{TENCENT_SECRET_KEY}}",
"engineModelType": "16k_zh_en"
},
"inputs": {
"audio": "{{mixed_audio_data}}",
"language": "zh_en",
"format": "wav"
}
}

6. 热词优化识别

使用热词表提高专业术语识别准确率:

{
"id": "hotword-recognition",
"type": "tencent-speech",
"config": {
"secretId": "{{TENCENT_SECRET_ID}}",
"secretKey": "{{TENCENT_SECRET_KEY}}",
"hotwordId": "your_hotword_table_id"
},
"inputs": {
"audio": "{{professional_audio_data}}",
"language": "zh",
"format": "wav"
}
}

环境配置

1. 获取腾讯云密钥

  1. 登录 腾讯云控制台
  2. 进入 访问管理 > API密钥管理
  3. 点击 新建密钥 创建新的API密钥
  4. 记录 SecretIdSecretKey

2. 环境变量配置

在环境变量中设置密钥信息:

# .env 文件
TENCENT_SECRET_ID=AKIDxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
TENCENT_SECRET_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
TENCENT_REGION=ap-guangzhou

3. 权限配置

确保API密钥具有语音识别服务权限:

{
"version": "2.0",
"statement": [
{
"effect": "allow",
"action": [
"asr:SentenceRecognition"
],
"resource": "*"
}
]
}

工作流集成

在工作流中使用

  1. 添加语音识别节点

    • 从工具库中选择"腾讯云语音识别"
    • 配置腾讯云凭据和识别参数
  2. 连接数据源

    • 将音频输入节点的输出连接到语音识别节点
    • 支持文件上传、URL下载等多种数据源
  3. 后续处理

    • 将识别结果传递给文本处理节点
    • 或用于内容分析、情感分析等场景

与其他工具配合

{
"workflow": [
{
"id": "audio-input",
"type": "file-input",
"config": {
"acceptedTypes": ["audio/*"]
}
},
{
"id": "speech-to-text",
"type": "tencent-speech",
"config": {
"secretId": "{{TENCENT_SECRET_ID}}",
"secretKey": "{{TENCENT_SECRET_KEY}}"
},
"inputs": {
"audio": "{{audio-input.content}}",
"format": "{{audio-input.format}}"
}
},
{
"id": "text-analysis",
"type": "text-analyzer",
"inputs": {
"text": "{{speech-to-text.text}}"
}
},
{
"id": "save-result",
"type": "database-save",
"inputs": {
"table": "transcriptions",
"data": {
"original_audio": "{{audio-input.filename}}",
"transcribed_text": "{{speech-to-text.text}}",
"confidence": "{{text-analysis.confidence}}",
"created_at": "{{now}}"
}
}
}
]
}

性能优化

最佳实践

  1. 音频质量优化

    • 使用16kHz采样率的音频文件
    • 保持音频清晰,避免背景噪音
    • 控制音频时长在60秒以内
  2. 格式选择

    • 优先使用WAV格式获得最佳识别效果
    • MP3格式在保持质量的同时减小文件大小
    • 避免过度压缩的音频格式
  3. 批量处理优化

    • 对于大量音频文件,考虑分批处理
    • 使用并发控制避免API调用频率限制
    • 实现重试机制处理临时网络问题

性能指标

  • 识别准确率: 在清晰音频条件下可达95%以上
  • 处理速度: 通常在1-3秒内完成识别
  • 支持时长: 最大60秒音频
  • 文件大小: 最大5MB音频文件

错误处理

常见错误类型

错误代码错误信息原因解决方案
INVALID_CREDENTIALS凭据无效SecretId或SecretKey错误检查腾讯云API密钥
AUDIO_TOO_LONG音频时长超限音频超过60秒分割音频或使用其他识别方案
FILE_TOO_LARGE文件过大音频文件超过5MB压缩音频或降低音质
UNSUPPORTED_FORMAT格式不支持音频格式不在支持列表中转换为支持的格式
NETWORK_ERROR网络错误网络连接问题检查网络连接和防火墙设置

错误响应处理

{
"workflow": [
{
"id": "speech-recognition",
"type": "tencent-speech",
"config": {
"secretId": "{{TENCENT_SECRET_ID}}",
"secretKey": "{{TENCENT_SECRET_KEY}}"
},
"inputs": {
"audio": "{{audio_data}}"
},
"onError": {
"continue": true,
"defaultValue": {
"success": false,
"text": "",
"error": "语音识别失败,请检查音频格式和网络连接"
}
}
},
{
"id": "handle-result",
"type": "js-executor",
"inputs": {
"result": "{{speech-recognition}}",
"code": `
if (inputs.result.success) {
return {
status: 'success',
message: '识别成功',
text: inputs.result.text
};
} else {
return {
status: 'error',
message: inputs.result.error || '识别失败',
text: ''
};
}
`
}
}
]
}

故障排除

调试技巧

  1. 检查音频数据

    // 验证base64音频数据
    const isValidBase64 = (str) => {
    try {
    return btoa(atob(str)) === str;
    } catch (err) {
    return false;
    }
    };
  2. 测试API连接

    # 使用curl测试腾讯云API连接
    curl -X POST https://asr.tencentcloudapi.com/ \
    -H "Content-Type: application/json" \
    -d '{"Action":"SentenceRecognition","Version":"2018-08-08"}'
  3. 音频格式检查

    // 检查音频文件头部信息
    const checkAudioFormat = (buffer) => {
    const header = buffer.slice(0, 12).toString('ascii');
    if (header.startsWith('RIFF') && header.includes('WAVE')) {
    return 'wav';
    } else if (buffer[0] === 0xFF && (buffer[1] & 0xE0) === 0xE0) {
    return 'mp3';
    }
    return 'unknown';
    };

常见问题

Q: 为什么我的音频识别准确率很低? A: 检查音频质量,确保采样率为16kHz,音频清晰无噪音,说话清楚。

Q: 如何处理超过60秒的长音频? A: 需要将长音频分割成60秒以内的片段分别识别,然后合并结果。

Q: 支持实时语音识别吗? A: 当前版本仅支持一句话识别,不支持实时流式识别。

Q: 如何提高专业术语的识别准确率? A: 可以创建热词表并在配置中指定hotwordId参数。

版本信息

  • 当前版本: 1.1.0
  • 兼容性: Node.js 14+
  • 依赖项: tencentcloud-sdk-nodejs
  • 更新日志:
    • v1.1.0: 修正功能限制,移除不支持的实时转录功能
    • v1.0.0: 初始版本发布

相关资源