Filetrip Logo


DSSpeech Speech Synthesize 1.5



Thumbnail 1 for DSSpeech Speech Synthesize
================================
DSSpeech Speech Synthesizer v1.0
================================

(C) Copyright 1986 A.D.Beveridge & M.N.Day. All Rights Reserved

Windows Adaption by Stefan Stenzel

DS Port by Headspin (headkaze@gmail.com)

I would like to personally thank Stefan Stenzel for his most gratious generosity and kindness with providing the source, as well as taking much time to reply to my nurmerous and annoying e-mail's and nagging. He is a great guy!

------------------------------------------------------------------

-= ABOUT =-

Based on Atari ST Speech Synthesizer "STSpeech" by A.D.Beveridge & M.N.Day, ported from 68k assembly by Stefan Stenzel and using Starscream 680x0 emulation library by Neill Corlett the first Win32 version of STSpeech was an authentic rendition of the Atarti ST Speech Synthesizer.

Stefan Stenzel removed the emulation library dependancy and re-wrote the entire synth engine to be stand-alone. The difference between the original port of STSpeech and Stefan's reworking and changes brought STSpeech Win32 from a harsh sound to a much smoother and professional sounding voice synth.

The Synth in it's current form is far removed from the original. Much credit should be given to Stefan Stenzel for his major modifications. He is a professional in audio synthesizers, so it's understandable the journey of change STSpeech has undergone.

------------------------------------------------------------------

-= HISTORY =-

My original attempt at porting a Speech Synth for the DS began with a Linux port that uses phoneme contatination. The Phoneme set was a hack of an old set of samples by Sun (http://www.ibiblio.org/sounds/phonemes/). The samples were of poor quality and badly captured - I believe this is the cause for the ****py results I got using the concat method. I edited the samples in Adobe Audition. Chopping up each Phoneme to it's essence then running them through a compressor, normalization, then fade-in/out envelope. The results improved, but the Phonemes needed to be overlapped rather than triggered immediately after each other. I modified the sample player to trigger the Phonemes at 50% after the previous one. Again, slight improvement.

Decided that I had taken the phoneme concatination method to it's absolution, I was dissapointed and started tracking down the author of STSpeech. This is where I met the amazing Stefan Stenzel who I can't thank enough.

We began correspondence, Stefan wasn't about to "give away his precious code", I had to explain my intentions, that this was a "non-commercial" project, and "What is a Nintendo DS?"!

At first I thought Stefan didn't want anything to do with me, but I soon learned he was more than happy to help out and provide code. He gave time way above the call of duty, and being a director of a company, it's amazing he gave me the time of day at all!

Important parts of the source were missing from the original archive sent by Stefan. My impatience brought me to begin hacking apart STSpeech.exe and ripping important phoneme data structures, I finally recieved the last parts of code I needed. After eventually recieving the "last piece of the puzzle" I got STSpeech compiling in Visual Studio 6. Then I began the port to the DS...

Porting was straight forward. Since the audio system on Win32 is practically the same (16-bit signed wav), I performed some buffer modifications, added DS audio code etc. and the operation was a success.

Problems: The synth construction is rather slow. This is because of the intense floating point operations - no optimizations at all!

------------------------------------------------------------------

-= FUTURE =-

The following improvements need to be performed:

* Optimization, eg. Floating point -> fixed point
* Shifting buffer, that begins playing rather than generating the entire audio wave first
*

------------------------------------------------------------------

-= THANKS =-

Stenfan Stenzel you da man!

------------------------------------------------------------------

-= SOURCE CODE =-

Status and availability of the source code has not been discussed and agreed upon yet.

PLEASE DO NOT BOTHER STEFAN STENZEL WITH YOUR CODE REQUESTS!

------------------------------------------------------------------

Headspin - headkaze [at] gmail.com

Change log (1.5):
comments powered by Disqus