(Add category info) |
No edit summary |
||
Line 4: | Line 4: | ||
System-wide voice data packages enable the text-to-speech functionality of application. | System-wide voice data packages enable the text-to-speech functionality of application. | ||
Usually, the voice data are independently developed for certain application, should it be customized web browsers, or input methods which use voice to confirm the input. | Usually, the voice data are independently developed for certain application, should it be customized web browsers, or input methods which use voice to confirm the input. | ||
== Voice data license == | == Voice data license == | ||
According to Tom Callaway, | According to Tom Callaway, | ||
the voice data should be in one of our [[Licensing#Good_Licenses|Good Free Software]] | the voice data should be in one of our [[Licensing#Good_Licenses|Good Free Software]] | ||
, [[Licensing#Good_Licenses_3|Approved content License], or at least freely redistributable with out limitation. | , [[Licensing#Good_Licenses_3|Approved content License]], or at least freely redistributable with out limitation. | ||
== Voice file format == | == Voice file format == | ||
Line 25: | Line 20: | ||
== Package naming guide == | == Package naming guide == | ||
voicedata-<locale>-< | voicedata-<locale>-<upstream>-<variant> | ||
where | where | ||
* ''locale'' is the locale string. | * ''locale'' is the locale string. | ||
* '' | * ''upstream'' is the upstream or the project name that provide the voice. ''default'' should be reserved word, as it will be a link to the preferred voice from org/variant. | ||
* ''variant'' is an optional field for noticeable info, such as the person who provide the voice, algorithm name. | * ''variant'' is an optional field for noticeable info, such as the person who provide the voice, algorithm name. | ||
Line 80: | Line 75: | ||
to its own ''org''/''variant'' directory. | to its own ''org''/''variant'' directory. | ||
== To | == Dialect handling == | ||
== To ponder == | |||
* Multilingual voice data | * Multilingual voice data | ||
[[Category:Packaging guidelines drafts]] | [[Category:Packaging guidelines drafts]] |
Revision as of 04:58, 14 August 2009
Introduction
System-wide voice data packages enable the text-to-speech functionality of application. Usually, the voice data are independently developed for certain application, should it be customized web browsers, or input methods which use voice to confirm the input.
Voice data license
According to Tom Callaway, the voice data should be in one of our Good Free Software , Approved content License, or at least freely redistributable with out limitation.
Voice file format
Voice data can be stored as individual files, packed in an archived file, or produced by synthesizers.
Voice data should be stored in open audio format format such as ogg. If using archive files, the archive file should be in open format such as 7z or tar. 7z is recommend for its capability of handling cross platform unicode filename.
Package naming guide
voicedata-<locale>-<upstream>-<variant>
where
- locale is the locale string.
- upstream is the upstream or the project name that provide the voice. default should be reserved word, as it will be a link to the preferred voice from org/variant.
- variant is an optional field for noticeable info, such as the person who provide the voice, algorithm name.
For example, gcin voice data in this scheme should be named as:
voicedata-zh_TW-gcin-EdwardLiu
Voice data preference can show something like:
Locale | Voice |
---|---|
en_US | UncleSam |
en_GB | QueenElizabeth |
....... | ....... |
zh_TW | EdwardLiu |
Package Contents
The contents of package should be in %{_datadir}/voicedata/locale/org/variant
Besides voice data and license file, it is recommend that we have a database to maintain the voice data. The field of that database.
Phoneme | Voice file | Archive | Command |
---|---|---|---|
a | a/a.ogg | a.7z | null |
ai | a/ai.ogg | a.7z | null |
b | b/b.ogg | b.7z | null |
where
- Phoneme: Phoneme or word to be pronounced. Cannot be null.
- Voice file: Relative filename of voice file, can be null if using a voice synthesizer.
- Archive: Archive file that hold the voice file, can be null if not using an archive file.
- Command: Command that produce the voice. This field is mainly for synthesizer. Can be null.
Requires
The package may require a command-line audio player, file unarchiver, or synthesizer.
Post install
If no previous voice data in the locale, the package may "register" itself as default by pointing the default symbolic link at %{_datadir}/voicedata/locale/ to its own org/variant directory.
Dialect handling
To ponder
- Multilingual voice data