Go Down

Topic: New Library: RF24Audio - Realtime Audio Streaming, Multicasting and More (Read 9301 times) previous topic - next topic

Hi there, there are two types of modules that I've seen:
http://img.dxcdn.com/productimages/sku_126467_1.jpg
http://nathan.chantrell.net/blog/wp-content/uploads/2013/08/nrf24l01.jpg

One has GND and VCC on separate ends, the other has GND and VCC on the same end, but the pins in between are the same.

The pin specification in the RF24_config.h are for softspi only, which has not been tested with the RF24Audio library. The lib uses pins 11,12,13 by default for SPI.

If you are getting audio out on the transmitter side, that is a good sign that everything is working except for the radio modules. Since the audio library uses the RF24 core library, you can try running some of the example sketches included with RF24 (File > Examples > RF24 > GettingStarted) to ensure the radio modules are working correctly. If the radios work with the RF24 example files, they should work fine with the audio library. See here for general troubleshooting: https://github.com/TMRh20/RF24/wiki/GettingStarted-sketch-failing-to-send:-how-to-diagnose%3F

vetRalph

Hello TMRh20: Thanks for the information I went over to Github as you suggested.  I want to thank you and Proz0r for the information on the Github page. I added 100uf Capacitors to all the power supply pins and at the VCC pins of the two Arduino Pro Minis. I also soldered 10uf Capacitors directly to the pins of the transceivers. It now works fantastic. Again, thank you for all your work. This is exacty what I have been looking for for the past few months. I also posted this information on the Github page.

vetRalph

hello TMRh20

i spent all day with my small project. :-(  as source i used microphone /Breakout Board for Electret Microphone (Sparkfun BOB-09964) /. I made a small step but, i can here my voice (i can say clearly) in headphones BUT there is additional TERRIBLE interference with something. I attached some record from it and some freq. analyse.

Do u have a clue what is it ?

thnx
John
I don't know if you have corrected your noise problem yet but I had the same noise. If you are using TMRh20 preamp try installing a .1uf ceramic cap at the input (AO). In my case it eliminated the noise I had.

Ralph

How i use it to stream the audio in wifi from a microphone to another arduino connected with an headphones?
I want to create a way of communication.

debojitk

Hi I face the same problem, very noisy output. I use computer output that is getting transmitted but the receiver is giving very noisy output
with mic condenser i dont get any output

debojitk

Hi I had a quick doubt on sampling rate and nrf transfer rate.


Lets say nrf transfer rate is 1mbps = 125 kbytes/sec

Now with sampling rate = 48khz, and bit depth = 16 (2 bytes), the amount of data per sec is 48000*2=96000 bytes i.e, 96kbytes, which is well enough to be sent by nrf running at 1mbps.

then why can't we transmit at cd quality, which is almost equals to our 96 kBps?




Technically the audio input voltage should be between 0-5v , and the input can be sensitive to the input level, so a pre-amp is needed, and needs to be adjusted accordingly.

NRF Transfer Rates:
w/Auto-ack
1MBPS = 47-49KB/s
2MBPS = 68-69KB/s

wo/Auto-ack:
1MBPS = 100KB/s
2MBPS = 200KB/s

Technically the radios can transmit a lot of data, but it still has to be processed and played back. The RF24Audio library is more focused on simplicity, and its heavy use of interrupts reduces the available processing power for audio, limiting it to about 24khz SR max.

The sketch here can handle higher quality audio, at up to about 70KB/s

debojitk

Hi TMRh20,

Thanks a lot for your reply.

On preamp what i understand is: input->preamp->amp->speaker.
Here with arduino we have: input->preamp->digitized data..(nrf transmission)..digitized data->preamp->amp->speaker.
So we need two preamps - one at sending end before converting it to digital, and the other at recipient end after the digital data gets converted back to analog audio. Kindly clarify on this part.

Could you please provide a simple preamp circuit that can be used for this purpose.

As you said wo/auto-ack the transfer rate can be 100kB/s, so can your rf24audio lib leverage this thing, or can it be modified to achieve better result.

I saw #define tenbit option; does it improves things a little bit?

Thanks in advance
Debojit

I've posted a very basic preamp on the 1st page of this thread which functioned OK for me with an iPod as input. This may not work with all types of devices, but google has lots of information on arduino preamps and microphone inputs.

As you said wo/auto-ack the transfer rate can be 100kB/s, so can your rf24audio lib leverage this thing, or can it be modified to achieve better result.
Yes, it would need to be modified.

I saw #define tenbit option; does it improves things a little bit?

Not really, the extra processing required somewhat nullifies the benefits.


debojitk

Hello Sir,

Thanks for your response.
Can it me made in a way where both the devices would be on receiving mode always, and one can press the transmit button to transmit to the other and releasing the transmit button would automatically enable the receiving mode, so that communication becomes a little hassle free.
Also any idea to make a full duplex communication?


Thanks,
Debojit

polymorph

Steve Greenfield AE7HD
Drawing Schematics: tinyurl.com/23mo9pf - tinyurl.com/o97ysyx - tinyurl.com/q7uqnvn
Multitasking: forum.arduino.cc/index.php?topic=223286.0
gammon.com.au/blink - gammon.com.au/serial - gammon.com.au/interrupts

Can it me made in a way where both the devices would be on receiving mode always, and one can press the transmit button to transmit to the other and releasing the transmit button would automatically enable the receiving mode, so that communication becomes a little hassle free.
Thats precisely how it works.

Also any idea to make a full duplex communication?
The radio hardware is half-duplex.

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy