speechd-discuss
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[VINUX-DEVELOPMENT] Next speech project?


From: Bill Cox
Subject: [VINUX-DEVELOPMENT] Next speech project?
Date: Fri, 5 Nov 2010 16:02:53 -0400

Hi, Tony.  Comments below.

On Fri, Nov 5, 2010 at 3:26 PM, Tony Sales
<vinux.development at googlemail.com> wrote:
> Hi Bill, I suppose 'OpenTTS' would be the sensible ?(but boring)
> choice, but I think 'geekspeak' (in tribute to waywardgeek) sounds
> much more fun and could be used for speech recognition as well (or
> 'geektalk for the speech recognition.' )

I like geekspeak and geektalk.  I figure a guy who can convince people
to use his custom Linux OS knows more about good marketing than I do!
Thus, my choice of sonic over pbr.

> In terms of 'sonic' I realise this can be used to create faster
> e-books etc, but could this approach be used to improve the speed of
> Orca in realtime, or is it limited to creating faster recordings?

The sonic library is designed for streaming audio, so it fits
naturally into applications that process speech, like
speech-dispatcher, espeak, and the emacspeak speech server.  On the
other hand, Orca does not actually ever have access to the generated
speech, so it can't go there.  But, if Orca uses speech-dispatcher,
there's no reason it wont work.

I think it's simply the nature of innovation that you have to do
everything yourself.  No one else is committed to your ideas like you
are.  So, I think I'll have to integrate sonic into speech-dispatcher
myself.  I mean no complaint to the speech-dispatcher guys... this is
just human nature, especially when you're not paying anyone to do
anything.  If it's ok with you, I'll test it in Vinux/Maverick and see
if I can get it accepted upstream.  I'm thinking of adding the
following options in speechd.conf to control sonic's behavior:

SonicMin, and SonicMax: When set, these parameters would define what
is meant by "0" speed in Orca, and "100" speed.  In this case, we
would intercept the speed setting commands from Orca and adjust the
sonic speed multiplier, rather than forwarding any speed change
command to the TTS synth.  So, for example, I like to listen between
1X and 4X speed, so I could set these to 1.0 and 4.0, and adjust the
actual speed in Orca settings to any speed in this range.  If not set,
then the behavior would revert to how it works now, where the TTS
synth is responsible for the speed.

SonicDefaultSpeed: If sonic is enabled, it is sometimes desirable to
use a particular speech synthesis speed in the TTS synth, even though
we're speeding it up or slowing it down as a post process to
synthesis.  For example, espeak slowly removes pauses between words
and phrases as you increase speed to -s 450.  So, speeding up espeak
output that was generated with -s 200 sounds different, and perhaps
better, than speeding up the espeak default speed output.  This option
would allow users to set the default speed for the TTS synth.

Do these sound right?

Thanks,
Bill

> Presumable other members of the vinux community could also record a
> set of words for you - I have a good quality recorder - you would just
> have to let us know which words you need and we could start
> contributing to the language database - I suppose the English language
> accents such as US, UK, Australian etc would be the first step, before
> trying any foreign languages etc?
>
>
> On 11/5/10, Bill Cox <waywardgeek at gmail.com> wrote:
>> I think I've basically nailed speeding up speech, and now it's time to
>> move onto the next phase of open-source speech I/O. ?There's the
>> headache of actually getting this technology into common use, but
>> since it's available for free under the GPL, I think it's use will
>> spread over time.
>>
>> So, next project. ?I've ordered a Yeti mic, and will record a database
>> of words in English in my own voice, and use this data to start
>> building a new open-source TTS engine, using an approach that will
>> hopefully lead to a usable speech recognition engine as well.
>>
>> What should the new TTS engine be called? ?Billspeak? ?How about
>> OpenTTS, now that OpenTTS has been abandoned? ?A primary feature will
>> be that anyone will be able to create a new voice for the TTS engine
>> by recording themselves. ?For example, espeak has a nice British
>> accent, but it's American accent isn't so great. ?I'll bet there are
>> people in India who wish espeak would do a better job of using their
>> accent. ?This TTS engine will enable support for any accent users feel
>> strongly enough about to record.
>>
>> I also need to pick a coding methodology for the new TTS engine. ?I
>> specifically packaged sonic using nothing but plain ANSI C, and
>> ancient coding practices, to accelerate it's adoption. ?I wont have to
>> explain the coding style to anyone. ?However, TTS is going to be a lot
>> more complex, and I'd like to use the same code base in developing
>> speech recognition, adding much more complexity. ?Performance in terms
>> of minimising CPU load will be a top priority. ?So, I'm thinking of
>> using the DataDraw tool I developed and used for nearly 20 years, as
>> it's excellent for large complex projects with hundreds of classes,
>> and the resulting code runs faster than traditional C code based on
>> pointers to structures to model objects (DataDraw uses integer index
>> into property arrays, which is much faster).
>>
>> Bill
>>
>> --
>> You received this message because you are subscribed to the Google
>> Groups "The Vinux Development Forum" group.
>> To post to this group, send email to vinux-development at googlegroups.com
>> To unsubscribe from this group, send email to
>> vinux-development+unsubscribe at googlegroups.com
>> For more options, visit this group at
>> http://groups.google.com/group/vinux-development?hl=en?hl=en
>>
>> Vinux Home Page: ?http://vinux.org.uk/
>> Vinux Wiki
>> Documentation:http://wiki.vinuxvirtual.org.uk/index.php?title=Main_Page
>>
>
>
> --
> drbongo
>
> Dig that crazy beat on the drums: <http://vinux.org.uk> ?The best is
> getting better!
>
> --
> You received this message because you are subscribed to the Google
> Groups "The Vinux Development Forum" group.
> To post to this group, send email to vinux-development at googlegroups.com
> To unsubscribe from this group, send email to
> vinux-development+unsubscribe at googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/vinux-development?hl=en?hl=en
>
> Vinux Home Page: ?http://vinux.org.uk/
> Vinux Wiki 
> Documentation:http://wiki.vinuxvirtual.org.uk/index.php?title=Main_Page
>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]