Firewire/USB Speakers??

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
Forgive me if I am being totally ignorant, but I'm not schooled in audio technology. I'm envisioning an audio art project for fun that involves software that can modify the way in which tracks of digital audio are played through a circular setup of speakers.

Since digital audio is just that -- digital -- and USB/Firewire speakers (provided they exist) can be software controlled using a driver, I am assuming that I can actually do this. The need here would be to be able to give an electronic address to each individual speaker and then pipe a digital audio file through the software, passing arguments that define what each speaker should do. For example, I could have a song played by all speakers at once, or just odd-numbered speakers. Or have the audio 'run' around the circle by having 1 second of the song played by each speaker with fade in/out processing. More speakers could be added (using hubs) or speakers could be taken away, and the software would do the math...

Any comments, suggestions, ideas, assistance, blasts, or pointers to other places to look for help/info would be greatly appreciated!!!

Thanks & feel free to email me!

--Adam
beckerma@erols.com
 
It seems like it could be done. I haven't done much USB programming, so I'm not sure the details of how it handles multiple USB devices connected at once, but it seems like you could use one of those USB hubs, connect 4 USB speakers, and write some software to send data to each based on user inputs (or a predetermined sequence). It may require some time in between switching from one device to the other, though, depending on how detailed the signal is, which could cause an unwanted time delay, though.
 
Off a single USB controller, you can chain upto 127 devices. However your speakers would only be a single device, most likely, being as each USB device can have 16 endpoints, you could probably just send data for each channel to a different endpoint. Your speakers would need a USB device controller, perhaps a decompression layer of some type, along with a DAC and amplifier. The first two could easily be implemented using some of the available free cores and a FPGA, along with a reasonable sized DRAM buffer. There is already a huge number of USB speakers on the market, none the less(and the USB interface provides a device class just for speakers.)
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.