[mythtv] [PATCH] time stretch with libsoundtouch

Jeremiah Morris jm at whpress.com
Sun Oct 31 22:49:18 UTC 2004


On 31 Oct 2004, at 7:19 AM, Mark Spieth wrote:

> this is the first release of audio timestretching using libsoundtouch.

You're not likely to win any friends with this, Mark, for two reasons:

1) Your proposal for using libsoundtouch was already rejected.  You 
were told how the already-in-CVS libsamplerate could do the job, and 
you ignored that.  If you have a compelling argument for why 
libsamplerate fundamentally won't work, or you can't see how to get it 
to do what you need, ask questions instead of submitting code built on 
a rejected premise.  (See the recent discussion of TagLib vs. libid3tag 
to see how dependencies usually fare in Myth, and how to listen to 
direction from the lead developers.)

2) It's not nice to release a major audio patch when a major audio 
patch is already under testing and consideration for CVS.  Your patches 
won't apply for anyone that cares about developing Myth audio, since 
they are already working with the other patch and not CVS.  It's much 
more polite to wait until things are quieter: folks have more time to 
look at your patch, and it wouldn't be immediately obsolete.

You'll find a more receptive audience for your patches in the future if 
you keep these points in mind.

But, it takes both etiquette and code to add features to Myth, and I 
can help with the latter.  The replacement files in the attached 
archive add your SetStretchFactor() method to AudioOutputBase, using 
libsamplerate instead of SoundTouch.  This is based on Ed's patch under 
consideration, so you'll have to apply that patch or wait for the CVS 
update.

It may not sound quite as good as the SoundTouch version, as 
libsamplerate doesn't do the pitch adjustment that SoundTouch would, 
but from my experience you've got zero chance at getting a SoundTouch 
dependency added for such a niche feature.  Myth development is very 
much a team effort, and the art of compromise will help you greatly.

This should give you a starting point for another try at this 
functionality.  I'd recommend that you wait until the volume control 
patches are settled and checked in, integrate your previous work with 
CVS and libsamplerate, and then post again.  At that point, you'll have 
a much better chance of having your patch examined and its merits 
discussed.

- Jeremiah

-------------- next part --------------
A non-text attachment was scrubbed...
Name: stretchaudio.tar.bz2
Type: application/octet-stream
Size: 5672 bytes
Desc: not available
Url : http://mythtv.org/pipermail/mythtv-dev/attachments/20041031/04f2f182/stretchaudio.tar.obj


More information about the mythtv-dev mailing list