sampling audio, web streaming and receiving (guidance help request)

Hi every one, I have arduino one, and I'm very new to this great world. I would like to ask if someone could tell me if this project of mine is feasible, and maybe suggesting me the proper shields-components-kind of sketches to use for the purpose.

I am a musician and sound designer, using Max/Msp, particularly interested on soundscape projects and researches, and this project is for an interactive sound installation in a real environment, with the sound produced by cicadas.

arduino should be involved in steps 1-2-4-5 of the following:

1) sampling the sound locally produced by cicadas males during summer; 2) sending a stream of samples through the web in real time 3) another computer placed in a studio should get this stream, making the audio treatments, re-sending it trough the web (splitted possibly into four independent synchronized channels-signals) 4) downloading the processed stream 5) distributing the sounds on a local multi speaker system

Am I definetively too ambitious? Can anyone please address me towards a reasonable way of performing this tasks with arduino one (and - or maybe with other microcontrollers - shields if needed)?

I thank you very very much any one who can help me, and apologize for boring others.

best

Stefano Zorzanello

That all seems feasible using conventional audio recording and transmission via a PC - I don't see anything that would involve an Arduino.

But it is possible with Arduino provided each individual sample is very short much less than 1 second. What is the advantage of using Arduino?

thanks Peter H and sbright33 for replying:

the advantage of using Arduino is that I could leave, as I need, all the hardware installation working in the environment, and I would prefer not to abandon a computer in a field of grass, cicadas and so on.....

On this case, any suggestion for the proper shields and procedures to follow (sampling- streaming - downloading)?

thanks again

Stefano Zorzanello

===============

PeterH Milton Keynes UK Offline Faraday Member

Karma: 86

Posts: 6216

Re: sampling audio, web streaming and receiving (guidance help request) « Reply #1 on: May 13, 2013, 09:26:49 pm »

That all seems feasible using conventional audio recording and transmission via a PC - I don't see anything that would involve an Arduino.

sbright33

Karma: 4 Posts: 1126

Re: sampling audio, web streaming and receiving (guidance help request) « Reply #2 on: May 13, 2013, 10:12:17 pm »

But it is possible with Arduino provided each individual sample is very short much less than 1 second. What is the advantage of using Arduino?

stefanozorzanello Offline Newbie

Karma: 0 Posts: 1

sampling audio, web streaming and receiving (guidance help request) « on: May 13, 2013, 08:56:41 pm »

Hi every one, I have arduino one, and I'm very new to this great world. I would like to ask if someone could tell me if this project of mine is feasible, and maybe suggesting me the proper shields-components-kind of sketches to use for the purpose.

I am a musician and sound designer, using Max/Msp, particularly interested on soundscape projects and researches, and this project is for an interactive sound installation in a real environment, with the sound produced by cicadas.

arduino should be involved in steps 1-2-4-5 of the following:

1) sampling the sound locally produced by cicadas males during summer; 2) sending a stream of samples through the web in real time 3) another computer placed in a studio should get this stream, making the audio treatments, re-sending it trough the web (splitted possibly into four independent synchronized channels-signals) 4) downloading the processed stream 5) distributing the sounds on a local multi speaker system

Am I definetively too ambitious? Can anyone please address me towards a reasonable way of performing this tasks with arduino one (and - or maybe with other microcontrollers - shields if needed)?

I thank you very very much any one who can help me, and apologize for boring others.

best

Stefano Zorzanello

stefanozorzanello: the advantage of using Arduino is that I could leave, as I need, all the hardware installation working in the environment, and I would prefer not to abandon a computer in a field of grass, cicadas and so on.....

How will your device in the field connect to the computer in the studio?

PeterH:

stefanozorzanello: the advantage of using Arduino is that I could leave, as I need, all the hardware installation working in the environment, and I would prefer not to abandon a computer in a field of grass, cicadas and so on.....

How will your device in the field connect to the computer in the studio?

Arduino, placed in the field, should connect to the computer in the studio via web. This is the part of the project described as "web streaming"; then it should get back the processed sound by the studio-computer downloading it via web as well.

Is this clearer? So, still feasible? As I undestand I should use two different additional shields: one for sound sampling (i.e.adafruit), another one for internet connecting and networking. Is this right? Any suggestion for the right shields and process to follow?

thanks a lot for your replies.

stefano

stefanozorzanello: connect to the computer in the studio via web

This part is still unclear. Are you using a GSM shield? 3G? WiFi? Ethernet cable? Other?

Depending what type of communication you plan to make available, there may be alternative solutions available which don't require you to develop your own DIY solution and then leave expensive prototype hardware in a field.

PeterH:

stefanozorzanello: connect to the computer in the studio via web

This part is still unclear. Are you using a GSM shield? 3G? WiFi? Ethernet cable? Other?

Depending what type of communication you plan to make available, there may be alternative solutions available which don't require you to develop your own DIY solution and then leave expensive prototype hardware in a field.

thank you for your reply, and apologize for the unclear explanation... the connection should work via 3G (as I own a 3G card, wich I regularly use for internet and I forgot to write),or suggested wireless internet connection possibilities.

many many thanks

Stefano

It must be tempting to just use a cell phone as a remote microphone and GSM sender. I think a solution based on that should be possible if you can find a way to get the call established when required. It would need the call to be terminated by a soft phone at the PC side, and find a way to get the audio channel output from that into your mixer program. I think it’s technically feasible, and the hardware would be very cheap, but you’d have a fair amount of figuring out to do to get all these bits plugged together and it’s possible that at the end there’s some show-stopper you can’t overcome.

The alternative approach that you’ve outlined seems less risky but will involve buying and making some hardware. You’d need a microphone and some sort of op-amp circuit to boost the signal up to a level the Arduino cam receive. You’d need an Arduino, of course, and you’d need a 3G shield. If it’s to be left in a field then you also need to provide it with a power supply - perhaps just a battery pack. Then you need to write a sketch that samples the microphone at regular intervals and sends the digitized signal over a network connection via 3G and the public internet, in to your PC (which would now need to have ports opened to allow it to accept incoming connections from the public internet). On the PC you need an application to receive the incoming digitized stream and make it available as an audio stream that your chosen mixer application can process it. How to achieve that would depend on what application you’re using and what type of inputs it accepts - you might find you need to write an application to act as a bridge between the incoming network stream and your audio input stream.

This is probably going to work out cheaper than just buying a 3G web cam - but perhaps not a lot cheaper.

PeterH: It must be tempting to just use a cell phone as a remote microphone and GSM sender. I think a solution based on that should be possible if you can find a way to get the call established when required. It would need the call to be terminated by a soft phone at the PC side, and find a way to get the audio channel output from that into your mixer program. I think it's technically feasible, and the hardware would be very cheap, but you'd have a fair amount of figuring out to do to get all these bits plugged together and it's possible that at the end there's some show-stopper you can't overcome.

The alternative approach that you've outlined seems less risky but will involve buying and making some hardware. You'd need a microphone and some sort of op-amp circuit to boost the signal up to a level the Arduino cam receive. You'd need an Arduino, of course, and you'd need a 3G shield. If it's to be left in a field then you also need to provide it with a power supply - perhaps just a battery pack. Then you need to write a sketch that samples the microphone at regular intervals and sends the digitized signal over a network connection via 3G and the public internet, in to your PC (which would now need to have ports opened to allow it to accept incoming connections from the public internet). On the PC you need an application to receive the incoming digitized stream and make it available as an audio stream that your chosen mixer application can process it. How to achieve that would depend on what application you're using and what type of inputs it accepts - you might find you need to write an application to act as a bridge between the incoming network stream and your audio input stream.

This is probably going to work out cheaper than just buying a 3G web cam - but perhaps not a lot cheaper.

thank you again Perter, the fact is that I should play the sound back in the environment, for a kind of "live adaptive" sound installation, so it would not be enough to have the broadcast done in only one direction (form the field to the studio over the public internet)...

for the audio treatment part in studio, no problems with max/msp for grabbing sound from internet streaming and uploading back...

another problem seems to be the Arduino limitation; i wanted to try with Codec Audio Shield bu Mark from Open Music Lab wrote me:

"unfortunately, the codecshield uses up most of the resources on the arduino, so the ethernet shield wouldnt work with it as well. i would reccomend the Raspberry Pi. it has ethernet, and you can put a USB soundcard on it for cheap. it can run Pure Data (i think they have it figured out)."

so maybe Raspberry Pi could be a good solution, maybe in couple with arduino?

http://maffulli.net/2013/03/23/streaming-audio-from-raspberry-pi-part-2/comment-page-1/#comment-46809

I'll keep on studying the feasibility.... thank you again for your help and patience.

best regards

stefano