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';

开发指南

文本转语音开发流程

  1. 创建引擎
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;
  }
});
  1. 设置播报参数
let speakParams: textToSpeech.SpeakParams = {
  requestId: '123456',
  extraParams: {
    "queueMode": 0,
    "speed": 1,
    "volume": 2,
    "pitch": 1
  }
};
  1. 执行播报
ttsEngine.speak("Hello HarmonyOS", speakParams);

语音识别开发流程

  1. 创建识别引擎
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;
  }
});
  1. 设置识别参数
let recognizerParams: speechRecognizer.StartParams = {
  sessionId: '123456',
  audioInfo: {
    audioType: 'pcm',
    sampleRate: 16000,
    soundChannel: 1,
    sampleBit: 16
  }
};
  1. 开始识别
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为鸿蒙应用提供了强大的语音交互能力,通过文本转语音和语音识别两大核心功能,能够显著提升应用的用户体验。开发者可以根据具体需求选择合适的配置和策略,构建功能完善、性能稳定的语音应用。

参考资源


更新时间:2025-07-11 16:01
版本:HarmonyOS 5.0+
适用范围:中国境内Phone、Tablet、PC/2in1设备


🎯 想入门鸿蒙开发又怕花冤枉钱?别错过!

现在能免费系统学 —— 从 ArkTS 面向对象核心的类和对象、继承多态,到吃透鸿蒙开发关键技能,还能冲刺鸿蒙基础 + 高级开发者证书,更惊喜的是考证成功还送好礼!快加入我的鸿蒙班,一起从入门到精通!

班级链接鸿蒙开发训练营

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐