Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Supposing you're talking about mespeak.js:</p> <p>Download the latest version at <a href="http://www.masswerk.at/mespeak" rel="nofollow">http://www.masswerk.at/mespeak</a></p> <p>Make a copy of a voice-file (json) in the language of choice and open it in an editor.</p> <p>The voice-files are of the following structure:</p> <pre><code>{ "voice_id": "&lt;filename&gt;", "dict_id": "&lt;filename&gt;", "dict": "&lt;base64-encoded octet stream&gt;", "voice": "&lt;base64-encoded octet stream&gt;" } </code></pre> <p>First, provide a unique "voice_id" (e.g. "en-us-f", the ids are actually unix-filenames).</p> <p>The encoded voice data is actually a text-file to be found in eSpeak's data-directory (see <a href="http://espeak.sourceforge.net/" rel="nofollow">http://espeak.sourceforge.net/</a>). While the files are represented as base64-encoded octet-streams, you may also use a text-string for this by providing another property "voice_encoding":</p> <pre><code>{ "voice_id": "&lt;filename&gt;", "dict_id": "&lt;filename&gt;", "dict": "&lt;base64-encoded octet stream&gt;", "voice": "&lt;text-string&gt;", "voice_encoding": "text" } </code></pre> <p>Now, referring to the eSpeak-data and the eSpeak-docs for voices, you may find the following text for the voice "en-us":</p> <pre><code>// moving towards US English name english-us language en-us 2 language en-r language en 3 gender male [and more] </code></pre> <p>by removing the comment in the first line, editing the name (we want this to be unique) and finally changing the gender, you'll arrive at:</p> <pre><code>name english-us-f language en-us 2 language en-r language en 3 gender female </code></pre> <p>Replace any line-breaks by "\n" to get a valid JSON-string:</p> <pre><code>"name english-us-f\nlanguage en-us 2\nlanguage en-r\nlanguage en 3\ngender female" </code></pre> <p>and use this as the value of the property "voice". Save your file and load it into meSpeak.</p> <p>You may fine-tune the voice according to the eSpeak-Docs: <a href="http://espeak.sourceforge.net/voices.html" rel="nofollow">http://espeak.sourceforge.net/voices.html</a></p> <p>(An alternate way would involve saving a plain eSpeak-voice file and encoding its content as base64-string and using this as a value for "voice". In this case you would not set the "voice_encoding" property. Using plain-text might be more suitable for testing.)</p> <p>Hope this helps (it won't get easier than this).</p> <p>N.L.</p> <p>Edit: Please mind that any malformed voice-string will cause an error in (m)eSpeak. (eSpeak is not gracious on syntax errors, but will throw a "type-error" – which is handled as a console-log by meSpeak. Keep in mind that the core of meSpeak is just an Emscripten-generated port of eSpeak. So it doesn't handle voice-files any better.)</p> <p>Edit: An (extended) version of this is now part of the meSpeak-documentation: <a href="http://www.masswerk.at/mespeak/voices-and-languages.html" rel="nofollow">http://www.masswerk.at/mespeak/voices-and-languages.html</a></p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload