Shop OBEX P1 Docs P2 Docs Learn Events
Voice Delay for Overhead Paging — Parallax Forums

Voice Delay for Overhead Paging

vpcncvpcnc Posts: 7
edited 2012-02-17 14:32 in Propeller 1
I'm new to the Propeller Forums.
in Fact I haven't purchased the Kit yet.
Here is My Project I'm working on.

I want to Add a Voice Delay to my Overhead Paging System.

I thought I might be able to build a Project, that will record a FiFo data stream with a 5 second buffer.

So as your Make your OverHead Page, this project records the Audio stream to memory, after 5 seconds has been recorded or the Audio stream has stopped, Playback starts until the Audio stream has been completely played back.
The Project would continue to back fill the Recorded Audio, as the Playback removes the previously recorded audio from the buffer.

This would create a 5 second delay, between the start of the Audio Stream, and the Actual Page starts on the Overhead paging system.

As it is Now, the Paging system is Live with no delay, and If the Phone used to make the page is Near one of the Overhead Speakers, Severe feedback takes place.

I found a project called Parrot,
http://forums.parallax.com/showthread.php?105292-Parrot-Auto-voice-record-and-playback&highlight=voice+recorder

which is along the same lines as what I want to do..

Any help you can offer would be greatly appreciated.

Comments

  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2012-02-16 12:18
    Five seconds is way more of a delay than you need to prevent feedback. I've heard of systems that prevent feedback just by randomly jittering the length of a very small delay to disturb the feedback's positive reinforcement. This would be possible to do with a Propeller.

    -Phil
  • lanternfishlanternfish Posts: 366
    edited 2012-02-16 12:38
    Hi vpcnc

    Feedback back can also be reduced/eliminated by EQ'ing, phase inverters or some level adjustment.
    Without hearing the 'frequency' of the feedback it is hard to determine whether or not simple EQ'ing and/or input/output level adjustments will overcome your problem.
    Level adjustment is always a good place to start i.e. lowering gain on input device is a starting point.
    Phase inversion is not always succesful.

    Q. Does any of this gibberish make sense.

    Hope this helps
  • vpcncvpcnc Posts: 7
    edited 2012-02-16 12:39
    I did think of using much less of a delay to eliminate feedback, but then the thought crossed my mind. If the Phone is close enough to cause feedback, then with just a short delay, it's also close enough to cause Echo..
    Most page lengths would be less than 5 seconds, so the 5 seconds would be long enough to record the entire page before playback starts, also elimination the Echo effect.
  • vpcncvpcnc Posts: 7
    edited 2012-02-16 12:47
    Commercial feedback terminator units are available, but pricey.
    http://www.bogen.com/products/pdfs/telephonepagepdfs/DFT120s.pdf
    The DFT120 for example, is nothing more than an 16 channel recorder with up to 60 seconds of record length.

    I've some experience with the BS2, but that is not fast enough, nor does it support enough memory.
    So I though maybe a Propeller project would work..
  • Toby SeckshundToby Seckshund Posts: 2,027
    edited 2012-02-17 01:55
    Feedback eliminators tend to allow the squeal to happen and then learn the EQ that would "reduce it" happening again. There is a huge emphasis on the "reduce" bit as the source could be a portable one, ie a radio mic, and being two steps to the left would probably present a changed set of peaks and troughs. Usually this is handled by multiple profiles held in memory but the device has to cycle through the stored ones to see if there is a better fit available or an available slot to create one. Sixteen slots being common. This only a problem if the lip sync of a live presentation is to be maintained. If you are just in some isolated corner then a delay is possible.

    A short delay would be enough to stop build up of a squeal but might send the speaker nuts as he stutters and fights his own hearing.
  • average joeaverage joe Posts: 795
    edited 2012-02-17 02:29
    A short delay would be enough to stop build up of a squeal but might send the speaker nuts as he stutters and fights his own hearing.
    This is very true, but easy to solve if you use a longer delay. I think you were headed in the right direction vpcnc. I would think a 30 second recording loop would be perfect for overhead paging systems. There are probably other ways to go about it, but I'm sure the propeller would work. Working with a lower resolution, lower sample rate will conserve some space. Speech is not horribly demanding. You might even be able to use the SigmaAdc and DAC's.
  • Christof Eb.Christof Eb. Posts: 1,237
    edited 2012-02-17 03:48
    Hi,
    sound processing with the propeller is very interesting, I think.
    The internal 32k RAM will be too small for 5 sec delay.
    I would try to make a pitch-shifter. Feedback is avoided by shifting the frequency between input and output just a little bit. You don't need a long buffer for this.
    A pitch shifter program for a special sound processor can be found here for example: http://www.spinsemi.com/programs.php
    At this moment I don't understand this completely but it seems to work with a small ring buffer, that is read with a different step width than it is filled.

    Coding in PropBasic will be very much faster than spin. You could give this a try, if you don't like assembler too much. Perhaps you can use something of my ProperSound Project here somewhere (try search).
    Good luck, Christof
  • rokickirokicki Posts: 1,000
    edited 2012-02-17 14:10
    This is very easy to do; I did it in about ten minutes by starting with the
    microphone_to_headphones demo (supplied with the Prop tool) and
    made it write the samples to a big circular buffer. I think I added about
    five instructions.

    It was a blast to play with! I hooked it up to some cheap amplified
    speakers and everyone had fun. We varied the delay for all sorts of
    cool effects.

    Phil: I'll have to try that jitter trick; sounds like fun.
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2012-02-17 14:32
    Tom,

    I wish I could find a reference for the random jitter technique, but I've come up dry. IIRC, the original work was sponsored by the U.S. Navy to solve a problem with their ship-borne PA systems.

    -Phil
Sign In or Register to comment.