媒體報導
讓我們來看看華為內建的功能,並探索一些程式設計技巧,幫助你擴展華為的TTS功能。
華為的文字轉語音功能
如果你覺得三星手機的價格過高或想要一個替代選擇,你可以考慮華為手機。雖然這些設備通常有一些缺點,例如無法訪問Google Play商店,但它們仍然運行Android操作系統。
這意味著你可以使用內建的文字轉語音(TTS) 閱讀器進行語音播放。讓我們來看看如何做到這一點,並探索一些程式設計技巧,幫助你擴展華為的TTS功能。
華為是誰?
自1987年成立以來,華為已成為領先的電子和通信技術供應商。這家中國公司在超過170個國家運營,擁有195,000名員工。
大多數人知道華為是生產一系列經濟實惠的移動設備的製造商,如智能手機。這些設備大多使用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應用。
如何在華為設備上進行語音輸入?
進入設備的「控制面板」,然後前往「輔助功能」。選擇「語音識別」並點擊「開始語音識別」。
Android 有文字轉語音功能嗎?
除了 TalkBack,您還可以在 Android 手機上使用許多 TTS 引擎。
泰勒·魏茲曼
泰勒·魏茲曼是 Speechify 的聯合創辦人、人工智慧負責人及總裁,這是全球排名第一的文字轉語音應用程式,擁有超過 100,000 個五星評價。魏茲曼畢業於史丹佛大學,獲得數學學士學位及人工智慧方向的計算機科學碩士學位。他被《Inc.》雜誌評選為 50 大企業家之一,並曾在《Business Insider》、《TechCrunch》、《LifeHacker》、《CBS》等媒體上亮相。魏茲曼的碩士研究專注於人工智慧和文字轉語音,他的最終論文題為:「CloneBot:個性化對話回應預測」。