From Fedora Project Wiki
(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.
If neither of those are feasible, try:
* License it under one of our approved content licenses:
https://fedoraproject.org/wiki/Licensing#Good_Licenses_3


== 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>-<org>-<variant;>
voicedata-<locale>-<upstream>-<variant>


where
where
* ''locale'' is the locale string.
* ''locale'' is the locale string.
* ''org'' is the organization 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.
* ''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 do and ponder ==
== Dialect handling ==
* 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

This is a draft document

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