mxmx:
thanks for the prompt reply ... so play raw data would load the dac? (if i may voice a wish, dedicated functions for setting samplerate and bit-depth would be a neat feature, too.) anyway, will be looking forward to when this is out!
Oh yes, those would go without saying. Setting up the DAC to your requirements would be essential.
this is really cool. the dsPIC can do a lot more than playback wav files. will there be the ability to bootload from the arduino perhaps? it would be awesome for effects pedals and synths if you could have the horsepower of the dsPIC, but the ease of programming of the arduino.
That is one of the options I have looked at. At one stage I was looking to use a serial bootloader and use SoftwareSerial to pass through the serial data from a separate programming program, but it didn't work - mainly I think the bootloader itself was at fault. I do want to try and make it as easy to program as I can, but that in itself won't be "easy"...
bootloaders are a pain, and you will be faced with the added layer that your target is not an arduino, so the code will have to written in some other interface anyways. honestly, once youve put the dsPIC on there, its unclear what the arduino is needed for.
out of curiosity, what was your decision making process for choosing between the dsPIC and a micro + codec? the micro + codec option would be cheaper and allow for better sound quality, and 16b ADC. but, it is not as flexible, and cant do a lot of audio processing.
The main driving force behind my designs is the hackability. The first thing I ask myself is "what could someone else do to this?", and if the answer is "not alot", then I am not happy
The decision to use the dsPIC as opposed to a codec was primarily that of hackability. I make the device and get it doing what I want, then throw it out there and let others run with it. So, it has to be something that others can reprogram, and what better than a dsPIC for that?
The other option of a codec + MCU would be kind of as hackable, but the MCU I would want to use then would bring the cost in above the dsPIC.
And you are quite right, you don't "need" the Arduino in there. The dsPIC is quite capable of running the audio and doing other things at the same time. In fact, the very first writing of the firmware didn't have the Arduino in place at all - it was just reading the SD card files in sequence and playing them.
There are a few IO ports available on the board (mainly linked to LEDs for a VU / Spectrograph), which I break out to a header as well, plus you could re-appropriate the analogue input and the Arduino interface pins to do whatever you wanted. The reason for the Arduino though is for people to be able to use the WavePro without having to know how to program a dsPIC. It functions as a good audio playback card (with record feature that is "usable" ) out of the box.
Yep, definitely 44.1KHz, 16 bit stereo. The DAC has a 20KHz (I think) low-pass filter built in, so there is no added low-pass filtering, so you get the entire 20KHz range.
That seeed one sounds like a bit of a disaster. I have tried to keep my libraries as clean and simple as possible. I also always try for cross-platform (Arduino and ChipKIT) compatibility. As 99% of the work is done by the dsPIC, and the library just sends simple SPI commands, there isn't much for the library to do.
Just stumbled upon this project, and I have to say not before time !! I have seen several audio player shields but none of them allow the Arduino access to the SD card. Seems perfectly logical to me but yet I have failed to find any (other than this one). The Rugged device was the closest I found but it has no direct SD card access yet (It is planned as I talked to them yesterday, but no planned date). I have a talking logging project in mind that could use a device like this.
So a couple of questions if I may:
How is the SD card access part of the project coming ?
Any idea on cost ?
I am happy to build from PCB if you have one lying about, I understand if not.
What software did you use to design the PCB ? EDIT: worked it out, it's gEDA
Just stumbled upon this project, and I have to say not before time !! I have seen several audio player shields but none of them allow the Arduino access to the SD card. Seems perfectly logical to me but yet I have failed to find any (other than this one). The Rugged device was the closest I found but it has no direct SD card access yet (It is planned as I talked to them yesterday, but no planned date). I have a talking logging project in mind that could use a device like this.
So a couple of questions if I may:
How is the SD card access part of the project coming ?
I haven't had a chance to work on this yet - the project has taken a back seat while I work on some higher priority (i.e., paying) projects
Any idea on cost ?
I was aiming for £25, but with feature creep it may be a little more. I'm not sure yet which features I'm going to include on the mainboard and what I'm going to have as daughter boards as yet. So many options...
I am happy to build from PCB if you have one lying about, I understand if not.
I have PCBs, but they aren't right. I'm still undergoing designs and re-designs. The last batch I had included a track that was nice and neatly cut by the fab house. They didn't bother telling me about it of course...
What software did you use to design the PCB ? EDIT: worked it out, it's gEDA
Yep, that's right. I'm a Linux user, so gEDA is the dog's
It's a bugger when paying the mortgage etc. gets in the way of something more enjoyable. Fully understand though.
Price sounds fair to me.
For what it's worth, now that wave playing is working the SD card features would rank above all else for me, no one else seems to have bothered with this aspect, and it would also give you that "unique selling point". Just my 2p worth.
I have a (variation) of the Adafruit Waveshield...
and I have/get access to the SD card...
not only to obviously load/play .wav file from it... but I also put a .txt file on the SD card.. and load that first to set some 'parameters' for the sketch (ammo count, safety on/off, set color of the RGB led in the blaster/barrel.. all externally editable by a .txt file on the SD card)
Sorry your right, I did look at the Adafruit shield, I forget about it as I preferred a design with a sub processor to do all the wave work, and leave the Arduino free for other duties.
It may well fit my needs at a pinch, can you tell me: Do you get write access to the SD card ? Can you have two files open at once ? and can the Arduino do anything else while playing a wav file or is it pretty much flat out ?
Any updates on the production status of this shield? I am an audio engineer currently working on a project that requires HQ (16-bit, 44.1kHz, uncompressed PCM) audio playback in order to illicit an otoacoustic emission by way of a small, standalone device. (Basically, it's a box with a big button that says "Do not press this button." Activation will play back a sound I've engineered to feel as if it is happening "inside" your head.)
I'm part way through a bit of a redesign, breaking the power systems up into three separate domains to try and combat SD card induced noise. It's a bit of a mare TBH...