Core Speech Kit简介
Core Speech Kit简介
概述
Core Speech Kit(基础语音服务)是鸿蒙系统集成的语音类基础AI能力,提供文本转语音(TextToSpeech)及语音识别(SpeechRecognizer)两大核心功能。该服务便于用户与设备进行自然语言交互,实现实时语音与文本之间的双向转换。
核心功能
文本转语音(TTS)
将不超过10000字数的文本合成为语音并进行播报,支持多种音色和播报策略配置。
主要特性:
-
支持中文、英文(简体中文、繁体中文、中文语境下的英文)
-
提供三种音色:聆小珊女声音色、英语(美国)劳拉女声音色、凌飞哲男声音色
-
支持单词播报、数字播报、静音停顿、汉字发音策略等播报策略
-
适用于无障碍服务、屏幕朗读、新闻播报等场景
语音识别(ASR)
将音频信息转换为文本,支持短语音模式(不超过60s)和长语音模式(不超过8h)。
主要特性:
-
支持中文普通话识别
-
采用离线模型,无需网络连接
-
支持PCM音频文件和实时语音输入
-
适用于听障人士辅助、会议记录、语音输入等场景
应用场景
无障碍服务
-
视障人士辅助:系统应用无障碍(屏幕朗读)接入文本转语音能力,为视障人士提供播报服务
-
听障人士辅助:为听障人士或不方便收听音频的场景提供音频转文本能力
智能交互
-
语音输入:将用户语音实时转换为文本,提升输入效率
-
语音播报:将文本内容以语音形式播报,增强用户体验
-
会议记录:长语音模式支持会议录音转文字
系统集成
-
系统通知:重要通知以语音形式播报
-
导航播报:导航信息语音播报
-
新闻阅读:新闻内容自动播报
技术架构
开发环境要求
-
设备限制:仅适用于中国境内(不包含中国香港、中国澳门、中国台湾)的Phone、Tablet、PC/2in1
-
系统要求:HarmonyOS 5.0+
-
开发工具:DevEco Studio 5.0.7.210+
核心API结构
// 文本转语音
import { textToSpeech } from '@kit.CoreSpeechKit';// 语音识别
import { speechRecognizer } from '@kit.CoreSpeechKit';
开发指南
文本转语音开发流程
- 创建引擎
let ttsEngine: textToSpeech.TextToSpeechEngine;
let initParamsInfo: textToSpeech.CreateEngineParams = {language: 'zh-CN',person: 0,online: 1,extraParams: {"style": 'interaction-broadcast', "locate": 'CN'}
};textToSpeech.createEngine(initParamsInfo, (err, engine) => {if (!err) {ttsEngine = engine;}
});
- 设置播报参数
let speakParams: textToSpeech.SpeakParams = {requestId: '123456',extraParams: {"queueMode": 0,"speed": 1,"volume": 2,"pitch": 1}
};
- 执行播报
ttsEngine.speak("Hello HarmonyOS", speakParams);
语音识别开发流程
- 创建识别引擎
let asrEngine: speechRecognizer.SpeechRecognitionEngine;
let initParamsInfo: speechRecognizer.CreateEngineParams = {language: 'zh-CN',online: 1,extraParams: {"locate": "CN", "recognizerMode": "short"}
};speechRecognizer.createEngine(initParamsInfo, (err, engine) => {if (!err) {asrEngine = engine;}
});
- 设置识别参数
let recognizerParams: speechRecognizer.StartParams = {sessionId: '123456',audioInfo: {audioType: 'pcm',sampleRate: 16000,soundChannel: 1,sampleBit: 16}
};
- 开始识别
asrEngine.startListening(recognizerParams);
播报策略配置
单词播报方式
-
[h0]
:智能判断单词播放方式(默认) -
[h1]
:逐个字母进行播报 -
[h2]
:以单词方式进行播报
数字播报策略
-
[n0]
:智能判断数字处理策略(默认) -
[n1]
:作为号码逐个数字播报 -
[n2]
:作为数值播报
静音停顿
[pN]
:插入N毫秒的静音停顿
汉字发音指定
[=MN]
:M表示拼音,N表示声调(1-5)
权限配置
麦克风权限
{"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "$string:reason","usedScene": {"abilities": ["EntryAbility"],"when": "inuse"}}]
}
性能优化
内存管理
-
及时释放引擎资源,避免内存泄漏
-
合理设置音频缓冲区大小
-
避免同时创建多个引擎实例
音频处理
-
使用合适的音频格式(PCM 16kHz 单声道)
-
控制音频流大小(640或1280字节)
-
实现音频流分块处理
错误处理
-
完善的异常捕获机制
-
网络异常时的降级处理
-
用户友好的错误提示
隐私保护
数据处理原则
-
云端不存储:用户数据不在云端存储
-
本地处理:语音识别采用离线模型
-
最小权限:仅申请必要的麦克风权限
个人数据清单
-
音频数据:用于语音识别,不留存
-
文本数据:用于文本转语音,不留存
合规要求
-
在隐私政策中告知用户数据处理方式
-
获取用户明确同意
-
支持用户数据主体权利
最佳实践
用户体验优化
- 播报策略:根据内容类型选择合适的播报策略
- 音色选择:提供多种音色供用户选择
- 速度调节:支持播报速度自定义
- 音量控制:适配系统音量设置
开发建议
- 资源管理:及时释放引擎资源
- 错误处理:完善的异常处理机制
- 性能监控:监控内存使用和响应时间
- 兼容性测试:在不同设备上测试功能
总结
Core Speech Kit为鸿蒙应用提供了强大的语音交互能力,通过文本转语音和语音识别两大核心功能,能够显著提升应用的用户体验。开发者可以根据具体需求选择合适的配置和策略,构建功能完善、性能稳定的语音应用。
参考资源
-
Core Speech Kit API参考
-
鸿蒙应用开发指南
-
语音服务最佳实践
更新时间:2025-07-11 16:01
版本:HarmonyOS 5.0+
适用范围:中国境内Phone、Tablet、PC/2in1设备
🎯 想入门鸿蒙开发又怕花冤枉钱?别错过!
现在能免费系统学 —— 从 ArkTS 面向对象核心的类和对象、继承多态,到吃透鸿蒙开发关键技能,还能冲刺鸿蒙基础 + 高级开发者证书,更惊喜的是考证成功还送好礼!快加入我的鸿蒙班,一起从入门到精通!
班级链接:鸿蒙开发训练营