Audio Hacker board problem – does not play audio

Store Forums Audio Hacker Bugs/Problems Audio Hacker board problem – does not play audio

Tagged: 

Viewing 2 posts - 1 through 2 (of 2 total)
  • Author
    Posts
  • #8279
    ace2_ml
    Participant

    Hi,

    I have an Arduino UNO with Audio Hacker shield, and I’m trying to use this setup on Win XP. I bought the Audio Hacker shield already assembled.

    The first problem I had was the inability to program the UNO while the shield is connected; this got fixed by attaching an external power supply to the UNO (currently set at 9V, the AC/DC adapter says it provides 500 mA max, but it is unclear whether this current is the one supplied when the adapter is set at 9V).

    At this point, I can have the shield connected, and “burn” every example from File/Examples/AudioHacker on the UNO successfully (at least from the perspective of Arduino IDE/avrdude)

    I am using an output from a small radio as analog input for the shield, and another small radio AUX input as the destination for the OUT of the shield. I can confirm that sound from the input is audible on the output when the BYPASS switch is active (i.e. it is bypassing the shield hardware). However, once the BYPASS switch is inactive, so shield hardware is utilized, I cannot hear any sound as expected for the examples.

    Here is a brief overview of what I have tried:

    File/Examples/AudioHacker/Sampler_8bit – I have uncommented #define DEBUG, compiled and uploaded the program on the UNO. When I start Serial Monitor in Arduino IDE at 115200 baud, all I get is:

    sample rate = 42000 Hz, recording sample rate = 2

    As far as I can see from the code, this printout should be completed with “Hz” after the recording sample rate = XXXX message, however, it is clear here the printout has been interrupted; I’m not sure if the program has somehow crashed on the UNO or not.

    File/Examples/AudioHacker/Sampler_12bit – I have uncommented #define DEBUG, compiled and burned the program on the UNO. When I start Serial Monitor in Arduino IDE at 115200 baud, I get this:

    even cycsample rate = 44100 Hz, recording sample rate = 22050 Hz
    even cycles remaining = 65   odd cycles remaining = 65
    even cycles remaining = 65   odd cycles remaining = 64
    even cycles remaining = 65   odd cycles remaining = 64
    even cycles remaining = 64   odd cycles remaining = 64
    even cycles remaining = 65   odd cycles remaining = 65
    even cycles remaining = 64   odd cycles remaining = 64
    even cycles remaining = 64   odd cycles remaining = 65 ...

    … with the even cycles remaining... line being printed every second or so. When I start pressing the S1 (record) button, the messages change to:

    ...
    even cycles remaining = 419   odd cycles remaining = 129
    even cycles remaining = 419   odd cycles remaining = 129
    even cycles remaining = 419   odd cycles remaining = 129
    recording time = 2611 ms
    even cycles remaining = 65   odd cycles remaining = 65
    ...

    … which means something at least happened during the recording – but when after that I press the S1 button for playback, I get these numbers:

    ...
    even cycles remaining = 290   odd cycles remaining = 618
    even cycles remaining = 290   odd cycles remaining = 618
    even cycles remaining = 290   odd cycles remaining = 618
    even cycles remaining = 290   odd cycles remaining = 618
    ...

    … until I release the S1 button – however, there is nothing but silence on the output.

    If I hack the ISR code with these debug messages:

    
    ...
    #ifdef DEBUG
      if (evenCycle) {
        timer1EndEven = TCNT1;
      } else {
        timer1EndOdd = TCNT1;
      }
      Serial.print("pb ");        // ADD
      Serial.print(playbackBuf);  // ADD
      Serial.println();           // ADD
    #endif
    ...
    

    … I can see a printout like this constantly:

    sample rate = 44100 Hz, recording sample rate = 22050 Hz
    pb 2043
    pb 2042
    pb 2043
    pb 2042
    ....

    … regardless if I have S2 (playback) pressed or not, or if I have made a recording with S1; since we’re in 12-bit mode, accepted values are between 0-4096, which means that values around 2043 represent the analog audio “zero”.

    File/Examples/AudioHacker/EchoEffect#define DEBUG is already uncommented here, compiled and burned the program “as is” on the UNO. Program prints out something like this in Serial Monitor:

    sample rate = 22050 Hz
    echo delay = 341 ms    even cycles remaining = 108   odd cycles remaining = 124
    echo delay = 304 ms    even cycles remaining = 108   odd cycles remaining = 124
    echo delay = 287 ms    even cycles remaining = 108   odd cycles remaining = 124
    echo delay = 281 ms    even cycles remaining = 121   odd cycles remaining = 124
    ...

    … however, there is no audio output.

    So, I am wondering – what could possibly be the problem? Is there anything else I could try, to see if I can get sampled audio output? Could it be that some of the chips (ADC, DAC or memory) got destroyed due to electrostatic discharge?

    I find it especially strange that the 8-bit sampler just crashes – while the 12-bit one appears to work – except it always reproduces “zeroes” on the output…

    Thanks in advance for any suggestions…

    #8287
    Michael
    Keymaster

    ace2_ml,
    I’m so sorry for the slow response — I’m supposed to get an email for every post but did not see anything for your post. So sorry for this awful delay.

    You’ve done plenty of experimentation but it sounds like there is never any audio produced by the shield. I personally assemble and test every shield, so I know it worked when it was shipped. I am guessing that one of the chips is loose. Perhaps the ADC or the DAC. I assume you’ve turned the volume knob all the way up (clockwise). The volume knob has no effect in bypass mode. I always use the 12-bit sampler for testing. The debugging output looks right. I would not expect serial output during the ISR to work at all (looks like it did…?) because this ISR is firing 22050 times per second, and there is not time to do that much serial output, but those values of 2042, 2043 look right and represent silence.

    If you are still having problems, please Contact Us with your order number and I’ll work with you on a replacement.

Viewing 2 posts - 1 through 2 (of 2 total)
  • You must be logged in to reply to this topic.