Slashdot Mirror


Software to Buffer and Delay Audio Playback?

NaDrew asks: "Fox has seen fit to use two of its worst broadcasters (Joe Buck and the horrid Tim McCarver) for the upcoming World Series. I'd love to just turn down the TV and listen to the Giants' regular broadcast team (Duane Kuiper, Mike Krukow, Jon Miller) on my local Giants affiliate radio station, but as a DirecTV user this doesn't work. Why? Think about it: The radio signal traverses the 20-odd miles from Sutro Tower to my home in Palo Alto in a fraction of a second, but the video signal goes from KTVU's broadcast center in Oakland via satellite to DirecTV's operations center in Boulder, then via satellite again to my home--22,500 miles x 4 bounces equals almost 100,000 miles. Coupled with the MPEG processing done at DirecTV's operations center, this adds up to a delay of about six seconds. What I would like to do is buffer the audio from my radio for the appropriate amount of time and then play it back in sync with the video. Ideally I'd like a software solution that will run under Win32. A Google search yielded some specialized hardware solutions but nothing for my purpose. Ideas, pointers, even 'you idiot it's right here' flames are welcome. Thanks!"

9 of 86 comments (clear)

  1. Old fashioned method.. by Anonymous Coward · · Score: 2, Informative

    Take two tape recorders apart (actually only one needs to be able to "record") and mount the guts side by side on a board. You will have to do some modification of the drive assembly so that both mechanisms run from the same motor. Take apart a cassette tape and remove the actual tape. Run this piece of tape through the two tape recorder mechanisms and loop it back over itself -- some scotch tape will hold the two ends together nicely.

    Place the sound input to the one of the recorder mechanisms and take the sound output from the other mechanism.

    You can controll the amount of delay between the two by varying the speed of the motor.

  2. Multi-purpose audio tool by fingal · · Score: 5, Informative

    Why not download PD from here and have a play around. Creating a delay between the audio inputs and outputs is very easy...

    --

    The only Good System is a Sound System

  3. Simple... by qengho · · Score: 2, Informative

    Get a TiVo (you know you want one anyway), start watching the game, pause for six seconds to fill its buffer, then resume watching, happily in sync with the radio.

  4. MPEG doesn't contribute to delay by MrResistor · · Score: 4, Informative

    All professional TV broadcasters have equipment that does MPEG processing in realtime (I'm one of the techs that fixes it when it breaks). Yeah, I guess maybe it could contribute a few ms of delay, but nothing you couldn't compensate for with the delay setting in a good reciever, and it is still probably less than the delay introduced by retransmitting, which still doesn't account for the 13-15s your talking about (6s + typical 7-8s delay on live radio).

    It's much more likely that KTVU has a playback delay set on their video server, mainly for the same reason that radio has one: bleeping out profanity before it hits the air.

    DirecTV certainly has a playback delay of at least 4s, which gives their automation system (which I also service) time to switch to an alternate stream if something goes wrong with the current one.

    Anyway, my point is your placing blame on the wrong parts of the process. That doesn't help with your case, of course. But my suggestion is to do exactly what the broadcasters are doing (except a lot cheaper):

    Run sound from your reciever to the line in on your soundcard. Record that with any sound recording program (the default Windows Sound Recorder will work just fine). Have a player up with the record target file ready to play, and start playback manually when you think the time is right.

    I haven't tried this so it might not work if Windows locks the record file during recording, but essentially that's exactly how it's being done on the video servers the broadcasters are using. I'm sure there's a better way to do this in Linux, but I haven't got around to playing with any of the Linux media tools yet.

    --
    Under capitalism man exploits man. Under communism it's the other way around.
  5. use winamp by jilles · · Score: 3, Informative

    and set the streaming buffer to a suitable size. By default it will probably be something like 64 KB which depending on the bitrate of your audiostream may be enough. Otherwise just make it a bit larger. For a 128kbit stream you probably want to set it to 96 KB. Winamp will try to keep the buffer filled so, effectively there will be a delay proportional to the buffersize.

    --

    Jilles
  6. AudioMulch might just do the trick by i_am_nitrogen · · Score: 4, Informative

    I don't know if it's still around, but there was at one point a program called Audiomulch that worked kinda like a modular synthesizer setup. It has input and output modules, and a delay module, so you can just hook the audio out from the radio to your sound card, and connect the delay in-line between the input and output.

  7. Cheap hardware solution by stinkydog · · Score: 3, Informative

    Get a digital effects module with a delay feature
    .

    I have an Alesis Nanoverb that I use for sound design work. You can get them on Ebay for under $100. Acording to the specs you can get over 1200ms delay per channel (loop left out to right in for 2400ms or about 2.5 seconds). Correcting the delay involves turning a nice analog knob.

    The Alesis QuadraVerb has a full 5 seconds of delay per channel and should do the trick for you for about $130 .

    SD

    --
    âoeWho knew something as harmless as willful ignorance could end up having real consequences?â
    1. Re:Cheap hardware solution by afidel · · Score: 2, Informative

      still too short, he talks about a 15-16 second delay, which is a lot more then any hardware delay box I have seen could do.

      --
      There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
  8. Re:Radio Delay by Blkdeath · · Score: 3, Informative
    A simple way would be to write the data to disc, and use annother program to follow behind it. I.e. use some program to record the stream, and then 6 secconds later set winamp on the still recording stream, that should work, but no promises.
    I was thinking exactly that. DarkIce is probably exactly what the submitter wants. It has a built-in delay function which would do exactly what he's looking for.

    Record the radio via the Line-In, set it to stream with a 5 second delay. Send the stream through IceCast and connect with XMMS/WinAmp and away you go. Heck, you could even use one of these and connect your soundcard's line out to your television and control the whole she-bang with your remote control.

    --
    BD Phone Home!

    Shameless plug. Like you weren't expecting it.