Google 文本转语音 (GoogleTTS) 预安装语言包

Google Text-to-speech (GoogleTTS) Language Packs for preinstall

我想构建映像以预安装 GoogleTTS 语言包 无需通过 Wifi 下载语言包。

我还从 Google 发布网站找到了 Language Packs Preinstall Guild。 在本文档中,

1. Language packs for English (US) is included in GoogleTTS.apk itself. You don't have to preinstall it.    
2. Language pack files are in zip format. For preinstall, unzip a language pack, and copy extracted files into corresponding installation directory.    
For example, if you want to preinstall German, install unzipped files into /system/tts/google/de-de-x-nfh directory of the device.  
Language pack files include some subfolders - please retain the subfolder structure when unzipping the files in a language pack.    
3. Use these files with GoogleTTS 3.10.10 or later

我跟随 Preinstall Guild 来构建镜像, 和更新的设备,当我切换语言时 TTS 无法播放我预建语言的测试语音。

我列出了我的集成步骤:

  1. 从 Google 发布网站下载 GoogleTTS 语言包 GoogleTTS3.16+
  2. 的文字转语音 (TTS) 语言包
Japanese:ja-jp-r5.zvoice

Chinese (Taiwan):cmn-tw-r5.zvoice

German (Germany):de-de-r5.zvoice

Spanish (Spain):es-es-r5.zvoice
  1. 解压缩这些语言包 zip,并复制到源代码
  2. 定义一个device.mk来复制语言包
  3. 构建镜像
  4. 通过图像更新设备
  5. 切换语言查看tts播放

我尝试将设备系统语言切换为日语, 但是TTS播放失败

我还检查了包含这些语言包的设备/系统

device:/ $ cd system/tts/google/
device:/system/tts/google $ ls -al
total 24
drwxr-xr-x 6 root root 4096 2019-09-25 12:02 .
drwxr-xr-x 3 root root 4096 2019-09-25 12:02 ..
drwxr-xr-x 3 root root 4096 2019-09-25 12:02 cmn-tw-x-sxx
drwxr-xr-x 3 root root 4096 2019-09-25 12:02 de-de-x-nfh
drwxr-xr-x 4 root root 4096 2019-09-25 12:02 es-es-x-ana
drwxr-xr-x 4 root root 4096 2019-09-25 12:02 ja-jp-x-htm

日志:

09-25 17:37:54.396  4166  4166 I TextToSpeech: Connected to ComponentInfo{com.google.android.tts/com.google.android.tts.service.GoogleTTSService}
09-25 17:37:54.413  4782  4798 I TTS.GoogleTTSServiceImp: For default lang en-us is name en-US-language (en-us-x-sfg-server)
09-25 17:37:54.414  4166 22396 I TextToSpeech: Set up connection to ComponentInfo{com.google.android.tts/com.google.android.tts.service.GoogleTTSService}
09-25 17:37:54.487  4782  4798 I TTS.GoogleTTSServiceImp: For default lang en-us is name en-US-language (en-us-x-sfg-server)
09-25 17:37:54.643  4782  4802 I TTS.GoogleTTSServiceImp: For default lang en-us is name en-US-language (en-us-x-sfg-server)
09-25 17:37:54.789  4782  4802 I TTS.GoogleTTSServiceImp: For default lang en-us is name en-US-language (en-us-x-sfg-server)
09-25 17:37:54.882  4782  4797 I TTS.GoogleTTSServiceImp: For default lang en-us is name en-US-language (en-us-x-sfg-server)
09-25 17:37:55.157  4782  4797 I TTS.GoogleTTSServiceImp: For default lang en-us is name en-US-language (en-us-x-sfg-server)
09-25 17:37:55.272  4782 23058 I TTS.GoogleTTSServiceImp: For default lang en-us is name en-US-language (en-us-x-sfg-server)
09-25 17:38:03.010  4782 23058 I TTS.GoogleTTSServiceImp: For default lang ja-jp is name ja-JP-language (ja-jp-x-htm-server)
09-25 17:38:03.018  4782  4873 E TTS.ControllerWrapper:         at com.google.android.tts.service.GoogleTTSService.onLoadVoice(PG:390)
09-25 17:38:03.091  4782 23058 I TTS.GoogleTTSServiceImp: For default lang ja-jp is name ja-JP-language (ja-jp-x-htm-server)
09-25 17:38:03.095  4782  4873 E TTS.ControllerWrapper:         at com.google.android.tts.service.GoogleTTSService.onLoadVoice(PG:390)
09-25 17:38:03.165  4782  4797 I TTS.GoogleTTSServiceImp: For default lang ja-jp is name ja-JP-language (ja-jp-x-htm-server)
09-25 17:38:03.168  4782  4873 E TTS.ControllerWrapper:         at com.google.android.tts.service.GoogleTTSService.onLoadVoice(PG:390)
09-25 17:38:03.376  4782  4797 I TTS.GoogleTTSServiceImp: For default lang ja-jp is name ja-JP-language (ja-jp-x-htm-server)
09-25 17:38:03.380  4782  4873 E TTS.ControllerWrapper:         at com.google.android.tts.service.GoogleTTSService.onLoadVoice(PG:390)
09-25 17:38:03.459  4782  4797 I TTS.GoogleTTSServiceImp: For default lang ja-jp is name ja-JP-language (ja-jp-x-htm-server)
09-25 17:38:03.464  4782  4873 E TTS.ControllerWrapper:         at com.google.android.tts.service.GoogleTTSService.onLoadVoice(PG:390)
09-25 17:38:10.306  4782  4797 I TTS.GoogleTTSServiceImp: For default lang ja-jp is name ja-JP-language (ja-jp-x-htm-server)
09-25 17:38:10.310  4782  4873 E TTS.ControllerWrapper:         at com.google.android.tts.service.GoogleTTSService.onLoadVoice(PG:390)
09-25 17:38:10.425  4782  4797 I TTS.GoogleTTSServiceImp: For default lang ja-jp is name ja-JP-language (ja-jp-x-htm-server)
09-25 17:38:10.429  4782  4873 E TTS.ControllerWrapper:         at com.google.android.tts.service.GoogleTTSService.onLoadVoice(PG:390)
09-25 17:38:12.722  4782  4873 I TTS.GoogleTTSServiceImp: Synthesis request for locale jpn-JPN and name ja-JP-language
09-25 17:38:12.727  4782  4873 I TTS.GoogleTTSServiceImp: TTS dispatch: ja-jp-x-htm-lstm-embedded
09-25 17:38:12.729  4782  4873 E TTS.ControllerWrapper:         at com.google.android.tts.service.GoogleTTSService.onSynthesizeText(PG:235)
09-25 17:38:12.731  4782  4873 E TTS.GoogleTTSServiceImp: Synthesis failure with error status code: -4
09-25 17:38:26.206  4782  4873 I TTS.GoogleTTSServiceImp: Synthesis request for locale jpn-JPN and name ja-JP-language
09-25 17:38:26.209  4782  4873 I TTS.GoogleTTSServiceImp: TTS dispatch: ja-jp-x-htm-lstm-embedded
09-25 17:38:26.211  4782  4873 E TTS.ControllerWrapper:         at com.google.android.tts.service.GoogleTTSService.onSynthesizeText(PG:235)
09-25 17:38:26.213  4782  4873 E TTS.GoogleTTSServiceImp: Synthesis failure with error status code: -4
09-25 17:38:31.248  4782  4873 I TTS.GoogleTTSServiceImp: Synthesis request for locale jpn-JPN and name ja-JP-language
09-25 17:38:31.250  4782  4873 I TTS.GoogleTTSServiceImp: TTS dispatch: ja-jp-x-htm-lstm-embedded
09-25 17:38:31.251  4782  4873 E TTS.ControllerWrapper:         at com.google.android.tts.service.GoogleTTSService.onSynthesizeText(PG:235)
09-25 17:38:31.252  4782  4873 E TTS.GoogleTTSServiceImp: Synthesis failure with error status code: -4

有人遇到过这个问题吗?

GoogleTTS版本:3.16.6.232892818

Android OS:Pie

我找到了预安装 GoogleTTS 语言包的正确路径

我们需要定义 makefile 来将这些语言包复制到 system/tts/google 例如:

日语: system/tts/google/ja-jp