speechd-discuss
[Top][All Lists]
Advanced

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

libsonic source hosting


From: Hynek Hanke
Subject: libsonic source hosting
Date: Wed, 12 Jan 2011 11:43:37 +0100

>> If I host libsonic at Brailcom, will that make integrating it as a
>> library with SD easier?

A little perhaps, but I think it is not so important.

> My concern about directly integrating the source into sd, espeak, etc,
> is that any time you later decide to make a change, all of the programs
> that use it have to be updated, but if you just have programs use it as
> an external library, all they have to do is link in the new library.

Well, it is not as simple. There are pros an cons on both sides.

  * If it is integrated, all applications need to be updated
  * If it is external, a separate package in all distributions needs
to be updated

Whether one or second is more work needs to be considered.

In the second case also, the application never know which
version they will find, which can be good (bugfixes) and bad
(incompatibilities, distributions shipping unsufficient
versions etc.). We cannot influence that ourselves, we need
to rely on third parties to put the pieces together in
a reasonable way (which we know often is not).

>> I have working prototype integration with SD.  I put it in src/audio,
>> and it directly speeds up or slows down the audio stream, and also can
>> adjust pitch.

I still think that the one most qualified to modify the audio
is the TTS system itself, because it knows all the information
and can work with more speech parameters. Sonic in Speech Dispatcher
should have a status of emulation for those TTS who can't do
speed and pitch changes well, possibly using Sonic itself.

>>  However, I hard-coded the pitch and speed, as I don't
>> know the best way to add user-control over these parameters.

The user controlls speed and pitch via SET RATE and SET PITCH
SSIP commands, this is then passed into the output modules and
into the TTS systems. To use Sonic emulation, in case the
configuration of the output module says so (which should I think
be the default for some modules), we need to intercept this chain
in the output module, set some reasonable rate and pitch in the
TTS and then post-process the result audio with Sonic before
passing it into the audio output system.

>> Would this code be of any use?  If so, I'll clean it up a bit and post it
>> here.

Yes, I think it is definitely useful! It may not belong into src/audio, 
but that's only a question of rearanging the pieces a little bit.
If you post the code, we can discuss more concrete about it.

Best regards,
Hynek Hanke



reply via email to

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