Simultaneous Activation of Multiple Signal Storage Devices

Status
Not open for further replies.

pnielsen

Member
I am doing an experiment where I have eight audio speakers, each attached to one wall of an eight sided cubical. Each is to receive a different signal. These will be generated/processed in software and incorporate phase relationships that I would like to retain. The intent is to impart a "rotational" effect (at a few cps) upon persons standing at the center of the room.

For this purpose I need eight channel signal storage and output. That would seem to rule out a PC. Rather than use specialized equipment, I am looking for another option such as four stereo MP3 players, or some other inexpensive device. The problem is how to switch them "on" simultaneously so that all the stored signals begin at precisely the same time.

Can anyone suggest a solution, or alternative approach that would achieve the result described above?
 
You can get playback modules. This one is WAV/OGG but that shouldn't be a real problem. It's simple to use.
https://www.adafruit.com/product/2133

If you use an arduino to trigger them then you can just use the same audio file and stagger-start them precisely it at different times instead of shifting your audio beforehand.
 
Last edited:
Those modules look great. But I am an analog guy without much programming experience.

Also, if I simply switch the eight channels sequentially, that will not provide the "smooth" rotational effect I am looking for. Hence, I would prefer to employ phase transitions.

One advantage of cheap iPod-like music players over modules is that they are stereo, so I only need four devices. However switching them all on simultaneously so as to maintain the intended phase relationships is problematic, hence I am putting out for alternative solutions.
 
how about a sound card with 7.1 or 9.2 multichannel sound? looking on newegg, there are a lot of 7.1 cards, and even some usb devices, and not very expensive. you could use something like Audacity to get the effects you are thinking of. with a 7.1 sound card, i'm sure you can feed all 8 channels identically, although you may need to find a way around the subwoofer filtering if it exists in software.

i'm not sure exactly what you are demonstrating, but when i was in high school, we had an experimental setup, using standard stereo earphones that was quite interesting. with one channel fed by an oscillator set to 200hz, and the other channel 200.25hz (or even shifting the phase of the original 200hz tone), a person wearing the headphones would think the sound source was moving around them, and could point to the apparent origin of the sound. this effect works below 400hz., and quite amazingly the point in the vicinity of 400hz where the effect disappears is almost the same for everybody, within +/- 1 or 2 hz for everyone tested. the front-to back as well as side to side positioning of the apparent source was fairly consistent, although with the "rotating source" using two slightly detuned oscillators, the direction of rotation would seem to be different.

i had a co-worker that built a stereo microphone using a headset with "micro" earphones, with electret elements in place of the earphone elements. he used this as an input to a Sony Walkman Pro (which had a record function and using an inverting amp between the microphones and recorder) and would walk around with this setup recording stuff. when this was played back in earphones it sounded like you were there, wherever it had been recorded, with people talking in back of you, etc. this was the equivalent of using a dummy head and microphones in the ears, except it was wearable.
 
Last edited:

These modules don't require programming...you apply a trigger signal and off it goes and you plug it into the USB on your PC and drag files onto it. Did you even read the web page? The fact that it's not programmable or scriptable is it's selling point. There is also a tutorial links on the page.

Also, these modules are stereo:



There is also a 16MB version if 2MB is not enough space:
https://www.adafruit.com/product/2220

and a version with a built-in speaker amp:
https://www.adafruit.com/product/2210
 
Last edited:
The sound card approach did occur to me as well. But I am not aware of any software that will allow me to assign separate signals stored in memory to different output channels of the card.
 

I assumed the trigger signals would need to be programmed so as to be sequentially applied to multiple modules.. So I did not look any further.
 
Nope, they just flat out have a single trigger signal for every audio file on the module. Give it a read...it's what you're looking for.

My original Arduino comment was just if you wanted to have it do the synching for you (like if you wanted to have them do the same thing but at different points in time.) But all the Arduino is doing pulling the trigger line to ground to fire it. So if you connect all the trigger line from all modules together and pull it low, they will all start.
 
OK. Perhaps worth a try. But switching from one track to the next, with a hard "off/on" between them, is not going to provide a gradual transition. If it was a motor drive, the rotor would be stepping.
 
OK. Perhaps worth a try. But switching from one track to the next, with a hard "off/on" between them, is not going to provide a gradual transition. If it was a motor drive, the rotor would be stepping.
I'm not saying that you HAVE to use the same audio file and stagger switch them. It was just a offhand suggestion made at a time when you did not specify some hidden requirements. Just do what you planned to do initially then where you trigger everything at the same time.
 
I did mention in my second post that I wanted a smooth transition, i.e. based upon gradual phasing in and phasing out at each successive speaker.

Using a single module, of the type you suggested, it does not appear possible to trigger all loaded tracks simultaneously. Hence, I would need four stereo modules to comprise eight channels.

Thank you for clarifying those points. Any additional suggestions on this or other approaches would be most welcome.
 
It sounds to me like you need a multi-channel audio interface and a music production type DAW (Digital audio workstation) program.

That would allow you to load a separate audio file to each track, with each track assigned to a separate audio output on the interface.

You can then adjust the relative positions of each audio file/track to get the exact time offsets you need between the channels.
Starting playback will set the whole thing running.

There are quite a few different makes of audio interface, eg. Presonus, Focusrite, Behringer etc.
The problem is they mostly have a lot more inputs than outputs to you would be paying a lot for features you do not need, but I don't know any other guaranteed way to get true separate audio per channel connectivity.


It may??? be possible with just several different cheap USB "sound card" modules and by using ASIO4ALL to combine them so they appear as a single, multi-channel interface to the software.. I've experimented with that and two audio interfaces, but not sound cards.
At less than 5- each on ebay for USB sound cards, it may be worth a try. (Do not install any of the software that comes with them, it can only ever mess things up).

ASIO4ALL https://www.asio4all.org/


The DAW software is easy; Tracktion 7 is completely free..
https://www.tracktion.com/products/t7-daw
 
The cheapest 8 track audio interfaces I could find start at around $500. I will look into the USB sound cards suggested as an alternative. In the meantime, if anyone has gotten a similar system working, please let me know..
 
Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…