精选推荐
让我们来看看华为的内置功能,并了解一些编程技巧,以扩展华为的TTS功能。
华为的文字转语音
如果你觉得三星手机的价格过高或想要一个替代品,可以尝试华为手机。尽管这些设备通常有一些缺点,比如无法访问Google Play商店,但它们仍然运行 Android操作系统。
这意味着你可以使用内置的 文字转语音 (TTS) 阅读器进行语音播放。让我们来看看如何做到这一点,并了解一些可以用来扩展华为TTS功能的编程技巧。
华为是谁?
自1987年成立以来,华为已成为领先的电子和通信技术提供商。这家中国公司在170多个国家开展业务,雇佣了19.5万人。
大多数人知道华为是各种经济实惠的移动设备的制造商,如智能手机。这些设备大多使用Android操作系统的版本。然而,由于许多美国公司对数据相关问题的担忧,它们存在一些限制。
即便如此,华为仍是一家世界领先的科技公司,提供各种有用的设备和服务。
如何在华为设备上启用TalkBack TTS引擎
华为有一个内置的文字转屏幕阅读器,名为 TalkBack。它的功能类似于在 苹果的iPhone和iPad上可以找到的VoiceOver。
该应用程序为你提供语音反馈,这意味着它会将屏幕上的任何内容朗读出来。你还可以通过语音命令操作华为手机——无需查看屏幕。因此,TalkBack非常适合视力障碍人士。
以下是激活TalkBack的方法:
- 打开“设置”,选择“辅助功能”。
- 点击“辅助功能”。
- 选择“TalkBack”并启用该软件。
- 点击“确定”。
禁用TalkBack
如果你想关闭TalkBack,按住手机的电源按钮,直到显示“重启”和“关机”图标。然后,触摸屏幕并按住三秒钟以停用TalkBack。
将文字转换为语音
一旦TalkBack被激活,按照以下步骤将数字文本转换为语音:
- 打开“设置”,导航到“辅助功能”屏幕。
- 点击“文字转语音”,选择你想要的文字转语音引擎。
- 根据你的喜好调整语速和音调。
请注意,你可以使用这些步骤为安装在华为设备上的任何TTS应用程序启用文字转语音功能。一旦激活,手机将朗读它看到的任何文本信息。
使用MLTtsengine.speak为Android应用程序添加语音
华为设备提供MLTtsengine.speak开发工具包。此工具包允许你为使用该设备创建的任何Android应用程序添加文字转语音功能。
以下是使用开发者 Tushar Srivastava的信息进行的基本步骤:
- 使用Android Studio创建一个新项目。
- 将以下依赖项添加到项目中:
- implementation 'com.huawei.hms:ml-computer-voice-tts:1.0.4.300'
- 使用以下代码将AGC插件添加到app.gradle文件的顶部:
- apply plugin: 'com.huawei.agconnect'
- 在你的Android Studio活动中使用以下代码创建一个回调:
var callback: MLTtsCallback = object : MLTtsCallback {
override fun onError(taskId: String, err: MLTtsError) {
}
override fun onWarn(taskId: String, warn: MLTtsWarn) {
}
override fun onRangeStart(taskId: String, start: Int, end: Int) {
}
override fun onEvent(taskId: String, eventName: Int, bundle: Bundle?) {
if (eventName == MLTtsConstants.EVENT_PLAY_STOP) {
val isStop = bundle?.getBoolean(MLTtsConstants.EVENT_PLAY_STOP_INTERRUPTED)
}
}
- 使用以下代码行初始化对象:
mlConfigs = MLTtsConfig()
.setLanguage(MLTtsConstants.TTS_EN_US)
.setPerson(MLTtsConstants.TTS_SPEAKER_FEMALE_EN)
.setSpeed(1.0f)
.setVolume(1.0f)
mlTtsEngine = MLTtsEngine(mlConfigs)
mlTtsEngine.setTtsCallback(callback)
- 在您的活动中创建以下方法,以便您可以通过按钮点击访问应用中的文本转语音输出:
private fun startTtsService() { val id = mlTtsEngine.speak(sourceText,MLTtsEngine.QUEUE_APPEND)}
其他有用的回调方法
华为API提供了几种回调方法,用于在应用中使用音频数据和文本转语音。以下是四种最常见的方法。
Public void onError()
如果发生错误,控制流将转到此错误回调。它用于通知应用用户发生了错误,并请求他们将分析数据发送到适当的地方进行验证。
Public void onWarn()
如果用户遇到警告,例如应用带宽不足,回调将流向此处。
Public void onEvent()
每当发生新事件时使用此回调,例如用户暂停音频。
Public void onRangeStart()
此回调返回当前播放段与用户想要阅读的文本之间的映射。
附加说明
您创建的任何新的mlttscallback例程都有其限制。在上述示例中,字符以UTF-8编码,并且有500个字符的限制。
好的一面是,该功能支持英语、普通话的男女声,以及两者的组合。
Speechify - Talkback的替代方案
如您所见,使用华为设备读取设备上的文本可能会很复杂。然而,如果您不想编程,替代的文本转语音应用可以实时为您朗读任何文本。
这个应用就是Speechify。
Speechify适用于所有Android设备,使用语音合成技术提供多种人声音色。用户可以选择超过14种语言,并根据需要调整朗读速度。
当您不使用该应用时,只需关闭它,您就可以像平常一样阅读文本。
如果您想了解更多关于Speechify如何在您的华为设备上工作, 今天就试用免费试用版。您还可以在浏览器中使用阅读器。
常见问题
如何在华为设备上开启文本转语音功能?
使用本文中的说明激活TalkBack应用。
如何在华为设备上进行语音输入?
进入设备的“控制面板”,前往“轻松访问”。选择“语音识别”并点击“开始语音识别”。
安卓设备有文字转语音功能吗?
除了TalkBack,你还可以在安卓手机上使用许多TTS引擎。
泰勒·韦茨曼
泰勒·韦茨曼是Speechify的联合创始人、人工智能负责人兼总裁,Speechify是全球排名第一的文字转语音应用,拥有超过10万个五星好评。韦茨曼毕业于斯坦福大学,获得数学学士学位和人工智能方向的计算机科学硕士学位。他被《Inc.》杂志评选为50大企业家之一,并曾被《商业内幕》、《TechCrunch》、《LifeHacker》、《CBS》等媒体报道。韦茨曼的硕士研究专注于人工智能和文字转语音,他的最终论文题为:“CloneBot: 个性化对话响应预测。”