掲載メディア
Huaweiの内蔵機能を見て、HuaweiのTTS機能を拡張するためのプログラミング技術をチェックしましょう。
Huaweiのテキスト読み上げ機能
Samsungのモバイルデバイスの価格が高すぎると感じたり、代替品を探している場合は、Huaweiのスマートフォンを試してみると良いでしょう。これらのデバイスは、Google Playストアにアクセスできないなどの欠点がありますが、それでも Androidオペレーティングシステムを実行しています。
つまり、内蔵の テキスト読み上げ (TTS) リーダーを使用して音声再生が可能です。それを行う方法を見てみましょう。また、HuaweiのTTS機能を拡張するためのプログラミング技術もチェックしてみましょう。
Huaweiとは?
1987年の設立以来、Huaweiは電子機器と通信技術のリーディングプロバイダーとしての地位を確立してきました。この中国企業は170以上の国で事業を展開し、195,000人の従業員を抱えています。
多くの人は、Huaweiをコストパフォーマンスの高いスマートフォンなどのモバイルデバイスの製造元として知っています。これらのデバイスの多くはAndroidオペレーティングシステムのバージョンを使用しています。しかし、多くのアメリカ企業がデータ関連の懸念を抱えているため、制限があります。
それでも、Huaweiは世界をリードする技術企業であり、さまざまな便利なデバイスとサービスを提供しています。
HuaweiデバイスでTalkBack TTSエンジンを有効にする方法
Huaweiには、 TalkBackという内蔵のテキスト読み上げスクリーンリーダーがあります。これは、 AppleのiPhoneやiPadで見られるVoiceOverと同様に機能します。
このアプリは音声フィードバックを提供し、画面上の内容を音声で読み上げます。また、音声コマンドでHuaweiのスマートフォンを操作することもでき、画面を見る必要はありません。そのため、TalkBackは視覚障害者にとって理想的です。
TalkBackを有効にする方法は次のとおりです:
- 「設定」を開き、「アクセシビリティ機能」を選択します。
- 「アクセシビリティ」をタップします。
- 「TalkBack」を選択し、ソフトウェアを有効にします。
- 「OK」をタップします。
TalkBackを無効にする
TalkBackをオフにしたい場合は、電話の電源ボタンを押し続け、「再起動」と「電源オフ」のアイコンが表示されるまで待ちます。その後、画面に触れて3秒間押し続けると、TalkBackが無効になります。
テキストを音声に変換する
TalkBackが有効になったら、デジタルテキストを音声に変換するために次の手順を行います:
- 「設定」を開き、「アクセシビリティ」画面に移動します。
- 「テキスト読み上げ」をタップし、希望するテキスト読み上げエンジンを選択します。
- 音声の速度とピッチを好みに合わせて調整します。
これらの手順を使用して、Huaweiデバイスにインストールされている任意のTTSアプリでテキスト読み上げをオンにすることができます。アクティブ化されると、電話は画面上のテキスト情報を音声で読み上げます。
MLTtsengine.speakを使用してAndroidアプリに音声を追加する
Huaweiデバイスには、MLTtsengine.speak開発キットが搭載されています。このキットを使用すると、デバイスを使用して作成した任意のAndroidアプリにテキスト読み上げ機能を追加できます。
開発者の Tushar Srivastavaからの情報を使用した基本的な手順は次のとおりです:
- Android Studioを使用して新しいプロジェクトを作成します。
- 次の依存関係をプロジェクトに追加します:
- implementation 'com.huawei.hms:ml-computer-voice-tts:1.0.4.300'
- 次のコードを使用して、app.gradleファイルの上部にAGCプラグインを追加します:
- 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)}
その他の便利なコールバックメソッド
HuaweiのAPIは、アプリでオーディオデータやテキスト読み上げを利用するためのいくつかのコールバックメソッドを提供しています。ここでは、最も一般的な4つを紹介します。
Public void onError()
エラーが発生した場合、このエラーコールバックに制御が移ります。これは、アプリユーザーにエラーが発生したことを通知し、適切な場所に分析データを送信するよう依頼するために使用されます。
Public void onWarn()
ユーザーが警告を受けた場合、例えばアプリに十分な帯域幅がない場合、このコールバックが呼び出されます。
Public void onEvent()
新しいイベントが発生したとき、例えばユーザーがオーディオを一時停止したときにこのコールバックを使用します。
Public void onRangeStart()
このコールバックは、現在再生中のセグメントとユーザーが読みたいテキストとのマッピングを返します。
追加の注意事項
新しいmlttscallbackルーチンを作成する際には制限があります。上記の例では、文字はUTF-8でエンコードされ、500文字の制限があります。
その一方で、この機能は英語、中国語の男性と女性の声をサポートしています。
Speechify - Talkbackの代替
ご覧の通り、Huaweiデバイスでのテキスト読み上げは複雑になることがあります。しかし、プログラミングに興味がない場合、代替のテキスト読み上げアプリがリアルタイムでテキストを読み上げてくれます。
そのアプリがSpeechifyです。
すべてのAndroidデバイスで利用可能なSpeechifyは、音声合成技術を使用して、さまざまな人間の声を提供します。ユーザーは14以上の言語から選択し、読み上げ速度を調整できます。
アプリを使用していないときは、シャットダウンして通常通りテキストを読むことができます。
SpeechifyがHuaweiデバイスでどのように機能するかについてもっと知りたい場合は、無料トライアルを試してみてください。ブラウザでもリーダーを使用できます。
FAQ
Huaweiでテキスト読み上げをオンにするにはどうすればいいですか?
この記事の指示に従って、TalkBackアプリを有効にしてください。
Huaweiで音声入力を行うにはどうすればいいですか?
デバイスの「コントロールパネル」に入り、「簡単操作」を選択します。「音声認識」を選び、「音声認識の開始」をタップします。
Androidにテキスト読み上げ機能はありますか?
TalkBack以外にも、Androidスマートフォンで利用できる多くのTTSエンジンがあります。
タイラー・ワイツマン
タイラー・ワイツマンは、世界で最も人気のあるテキスト読み上げアプリ「Speechify」の共同創設者であり、人工知能部門の責任者兼社長です。100,000件以上の5つ星レビューを獲得しています。スタンフォード大学で数学の学士号と人工知能専攻のコンピュータサイエンス修士号を取得しました。Inc. Magazineによってトップ50の起業家に選ばれ、Business Insider、TechCrunch、LifeHacker、CBSなどのメディアで取り上げられています。修士論文では人工知能とテキスト読み上げに焦点を当て、「CloneBot: Personalized Dialogue-Response Predictions」というタイトルの最終論文を執筆しました。