Allophone speech synthesis in Pure Perl. Multiple methods of getting Perl applications to speak are available. As far as I can tell all use external libraries to do the heavy lifting. I want to try and implement one with near-zero external dependencies, mainly for simple recognisable speech audio in games etc. Thought I'd start with the classic SP0256 chip as a starting point in this exploration.
This modulino includes a transformation engine that translates text to allophones.
SP0256.webm
The allophones are rather distorted, and the source I used (from a Github repo of ExtremeEectronis) appears to be also derived from an innaccurate source acording to the author. It would be an idea to evaluate how different from natural sounds these allophones are, certainly there are allophones in thgis set that, at least to my ear do not sound quite the way one might expect. Hence a console based audio analyser...
AudioAnalyser.webm
Note: this Analyser needs Term::Graille v0.15 at least
I am not a expert in phonetics, linguistics or audio data analysis. I also happen to be more tone deaf than an earwig with no ears. So apologies for any offense I cause with my lack of knowledge and insight in this field.
- version 0.03 has an experimental Windows version requiring Win32::Sound
A Source of C Allophone data This is derived form a source which is known to be innaccurate; a more accurate allophone set would be nice
PLOYTEC has a useful dictionary and gives a good insight on how to maximise the yield with the chip.
p5-NRL-TextToPhoneme by Greg Kennedy
Waveforms of Speech by Robert Mannell at MacQuarie University