Re: [tuxdroid-user] Speech software suite: TTS & Recognition
Status: Beta
Brought to you by:
ks156
From: David B. <da...@ja...> - 2007-03-24 12:05:41
|
On Fri, 23 Mar 2007 16:13:58 +0100, Florent THIERY <ft...@gm...> wrote: >> It should be fine to do some resmaple if necessary > > 16 to 8 Khz downsampling + signal filtering > > For instance, audacity filtering does it just fine: you select a > portion of the recording that has only the noise in it, and it > automatically removes it, really a great feature. We may be able to > use the libs/plugins... > > Any ideas: > - how to downsample in real time > - how to filter the 500 Hz noise It's indeed upsampling from 8kHz to 16kHz. Audacity do it fine and there's probably a lot of small command line tools that can be used to do the same. I'm not sure we'll need to remove the 500Hz noise, it's not that important and the voice recognition software may be not sensitive to it. But if you want to record something with your Tux, filtering the 500Hz noise in Audacity afterwards improves the quality. > For now, animation is restricted to 1/4 turn actions. When the > firmware will be more sphisticated, will we have more fine control > over movements? How precise are the step-by-step motors? Will we have > the possibility to do smaller/slower movements? This would reduce the > noise. Probably not from the firmware. We don't use step-by-step motors but standrad ones, The motor is stopped whenever a tooth pushes on a position switch and we can only detect 4th of turns that way. It's possible though to use the motors in another way from the software side by running the motor only for a specific time period instead of running it for a specific angle. Start-wait-stop motor with a smaller PWM should give you finer movements, but the position will never be very accurate I'm afraid. This makes me talk about nex functions I want to develop in the daemon. For now, the firmware only does something like: - start_spinning(pwm) - spin_right(angle, pwm) - spin_left(angle, pwm) - stop_spinning() I don't think these functions should be accessible from the api, at least not in the standard set of functions. I would want the daemon to add a level on top of that which provides some more complex functions that can also benefit from the status received and stored. For example, the functions that should be accessible from the API could provide spinning functionalities like: - spin for a specific angle - spin for x turns - spin for a given time - sets in absolute angle (where 0 could be used to reset in initial position, the obsolute position should be stored in the daemon and updated from the status and commands sent) - stop spinning |