diff options
Diffstat (limited to 'chromium/docs/accessibility/patts.md')
-rw-r--r-- | chromium/docs/accessibility/patts.md | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/chromium/docs/accessibility/patts.md b/chromium/docs/accessibility/patts.md new file mode 100644 index 00000000000..7d67ee8580b --- /dev/null +++ b/chromium/docs/accessibility/patts.md @@ -0,0 +1,112 @@ +# The Chrome OS PATTS speech synthesis engine + +Chrome OS comes with a speech synthesis engine developed internally at Google +called PATTS. It's based on the same engine that ships with all Android devices. + +## Building from source + +This is for Googlers only. + +Visit [http://go/chrome-tts-blaze](http://go/chrome-tts-blaze) +for instructions on how to build the engine from source and get the +latest voice files. + +When debugging, start Chrome from the command-line and set the +NACL_PLUGIN_DEBUG environment variable to 1 to print log messages to stdout. + +## Updating + +First, follow the public +[Chromium OS Developer Guide](http://www.chromium.org/chromium-os/developer-guide) to check out the source. +At a minimum you'll need to create a chroot. +You do not need to build everything from source. +You do need to start the devserver. + +Next, flash your device to a very recent test build. Internally at Google +you can do this with the following command when the dev server is running, +where CHROMEBOOK_IP_ADDRESS is the IP address of your Chromebook already +in developer mode, and $BOARD is your Chromebook's board name. + +```cros flash ssh://CHROMEBOOK_IP_ADDRESS xbuddy://remote/$BOARD/latest-dev/test``` + +Before you can make changes to PATTS, the first thing you need to run +(from the chroot) is call cros_workon with two relevant ebuilds: + +``` +cros_workon --board=$BOARD start chromiumos-assets +cros_workon --board=$BOARD start common-assets +``` + +From outside the root, from anywhere under your top-level ```<repo-dir>```, pull down the relevant sources: + +``` +repo sync +``` + +Again, outside the root, make sure you're in the ```<repo-dir>/src/platform/assets``` directory and run +```repo start``` to create a branch: + +``` +cd src/platform/assets +repo start <branch_name> . +``` + + +The PATTS data files can be found in this directory: + +```src/platform/assets/speech_synthesis/patts``` + +When updating the files, the native client files (nexe) need to be zipped. + +Replace all of the files you need to update, commit them using git, +then from the chroot, run: + +``` +emerge-$BOARD common-assets +cros deploy CHROMEBOOK_IP_ADDRESS common-assets +``` + +Note that you need to call cros_workon on both chromeos-assets and +common-assets. You will be changing files in chromeos-assets, but +to flash it onto your device, you need to emerge and deploy +common-assets. + +After that, reboot your Chromebook and verify that speech works. + +To upload the change, use repo upload, something like this: + +``` +git commit -a + BUG=chromium:12345 + TEST=Write what you tested here +repo upload . +``` + +## Ebuild + +Note that sometimes you'll have to update the ebuild file that +takes the patts data files and installs them, unzipping the .nexe +files in the process. + +For example, you'll need to edit the ebuild if you add or remove +a language code, or if you add or remove a file that needs to be +installed as part of the extension. + +To update the ebuild, edit this file: + +``` +/third_party/chromiumos-overlay/chromeos-base/common-assets/common-assets-9999.ebuild +``` + +If you need to land changes to both common-assets and chromiumos-assets, +upload the changes separately and then make them depend on one another +using this syntax in the changelog: + +``` +CQ-DEPEND=CL:12345 +``` + +Note that you can (and often should) have two changes depend on one another +so they'll land atomically. + + |