MUFF WIGGLER Forum Index

 FAQ & Terms of UseFAQ & Terms Of Use   Wiggler RadioMW Radio   Muff Wiggler Blog & NewsMW News   Muff Wiggler StoreMW Store 
 SearchSearch   RegisterSign up   Log inLog in 
WIGGLING 'LITE' IN GUEST MODE

eurotrash stereo wav player
MUFF WIGGLER Forum Index -> Music Tech DIY Goto page 1, 2, 3, 4, 5, 6, 7  Next [all]
Author eurotrash stereo wav player

mxmxmx

i had a few leftover PCM5102a DACs from another project, so i whipped up a little wav player type module.

... it's fairly simple/basic/unimaginative; hence the name:

like, you know, a thing that plays stuff from a microSD card when you clock it (the name doesn't reflect on the audio quality. at all).

(next time, i'll concoct up some better product story).


edit/update --

the oled issues mentioned below are sorted, so everything is ready to go now.

specs: dual mono/stereo audio outputs (16 bit / 44.1 kHz), 2 encoders/switches, 2 digital inputs, 2 digital outputs, 4 bipolar CV inputs (should work as trigger inputs too (untested)), micro SD card, 10HP. there's also the option to install a spi flash (16Mbyte).



firmware is a different story, but it's meant to be, and is, fully compatible with the teensy 3 audio library, so setting it up to play a few wav files, loop start and end positions etc, is easy - it's possible to stream up to (at least) four files (44kHz/16 bit stereo): it's been done for you here: https://github.com/mxmxmx/eurotrash/tree/master/soft/eurotrash


pic of the thing, panel courtesy of DSC:



side view:



find the BOM/gerbers/.fpd here : https://github.com/mxmxmx/eurotrash


i have ordered a bunch of boards, in case you wanted to build one.

they'll be 5$ (4 euro) + 2 euro shipping.

this is the list so far:

- magneticstripper [2] [sent]
- dropmotif [sent]
- mckenic [sent]
- oberkorn [sent]
- metalpunk [sent]
- falafelbiels [sent]
- mush [sent]
- bishopdust [sent]
- DSC [sent]
- batchas [sent]
- Dogma [?]
- Ginko [sent]
- SoundPool [?]
- mikecameron [?]
- nantonos [sent]
- SpunRaddish [?]
- mono-poly [2] [sent]
- c1t1zen [4]

also: if you want an aluminium panel, get in touch with DSC.


dropmotif

Oh, nice! You're really on a roll here.
Would have been a shame to tie up the RasPi as a wav player.


mckenic

thumbs up eek! It's peanut butter jelly time!


ABC

yes please


ABC

is the CV just over pitch? Would be nice to be able to loop samples and then have CV control over loop size and position...
thumbs up


Emalot

Mima miam
Please, do a PCB batch!


Barcode

Really cool!


mxmxmx

Quote:
is the CV just over pitch? Would be nice to be able to loop samples and then have CV control over loop size and position...


CV isn't doing much yet. the audio library doesn't have anything in the way of a resampling/varispeed playback class, let alone control over pitch or speed. i'm not even sure the T3.x could pull off the latter. varispeed shouldn't be such a big deal, but noone's implemented it yet and i'm not sure i could do it decently enough. as i said, firmware is a different story. time will tell ..


Quote:
Please, do a PCB batch!


sure, if i can sort out the display thing (it's actually an atmega thing), i'll make them available.


and thanks everyone. credits should go to mr paul stoffregen, it's really just a slightly more elaborate version of the teensy audio shield, as a module.


i couldn't be bothered to use the schematic input, but here's the rough idea (excluding the input circuitry and power rails, decoupling etc). the sound quality isn't particular trashy at all:



the oled is being taken care of by an atmega328, don't know whether that's necessary but i figured it couldn't hurt.

the same thing could be achieved obviously by using the pjrc audio shield and amplifying the output, but you'd still need to come up with a i/o pcb, so i didn't bother.


ersatzplanet

There are some basic I/O I would love to see on a wave playing module. Basically for me the pitch changing aspect is not as important as a trigger in or gate in to control when it plays back. A end of loop gate/trigger out would be great too. This would be normalized to the trigger in so continuous looped playback would be possible.

I would love a multi-player with more than stereo out but if the unit is cheap enough, I would buy more. Currently I have a ADDAC and a Q-bit Nebulae and each has its own positive and negative aspects. I am sort of addicted to live manipulation of loops so having more options is always better. I would love to not have to take a multi-channel audio interface and a computer running live to a gig - the ADDAC and Nebulae almost do it for me just it is too expensive to add more channels.


Nantonos

That looks like a handy platform (and more relevant for modular than the PJRC audio shield which is aimed more at PC soundcard compatibility, floating ground headphone out, etc).

A few questions:

- 3 wire I2S connection, so using the on-DAC PLL to generate clocks?
- Is the T3.x too heavily loaded with SD card reading to also control the display (hence the AVR)? If so how is it communicating with the T3.x, I2C?


mxmxmx

Nantonos wrote:


A few questions:

- 3 wire I2S connection, so using the on-DAC PLL to generate clocks?
- Is the T3.x too heavily loaded with SD card reading to also control the display (hence the AVR)? If so how is it communicating with the T3.x, I2C?


yes, the PLL and no/good question. communication is with the UART, as there aren't a lot of unused pins left (ie, of the easily accessible ones, and there's components underneath the teensy board). so that was mostly about pins but yeah, i didn't want to try my luck with the SD card (i didn't test this though). it works fine now (once i moved the AVR onto the 5V rail), on the downside there's more things that draw power, and more hassle. the display is a bit gimmicky anyways, but i figured for a file player it would be nice to just turn the encoder, scroll through the files and click/select rather than actually going through the entire list with a knob, guessing what file you'll end up with.

about the PLL - it sounds nice enough, if that's what you're worried about. in parts, my reasoning was it might then be possible to experiment with sample rates other than 44.1k, given the reputation of the MCLK on the MK20 chip.


ersatzplanet wrote:
There are some basic I/O I would love to see on a wave playing module. Basically for me the pitch changing aspect is not as important as a trigger in or gate in to control when it plays back. A end of loop gate/trigger out would be great too. This would be normalized to the trigger in so continuous looped playback would be possible.

I would love a multi-player with more than stereo out but if the unit is cheap enough, I would buy more.


end-of-loop trigger ... mmh, i hadn't thought of that. well, i like the idea, but as it stands, that wouldn't be possible without some major messing around or redoing the board somewhat. the way i have it set up now is as a dual unit, so one file is panned hard right, the other hard left (there's two trigger inputs). the four CV inputs are for the start/end points, though i can see EOL triggers might be rather more useful.

but i don't think i could fit another two jacks on there .. i mainly built it because i wanted a few more percussive sounds and building clap/snare/hi hat etc clones is a nightmare (IMO), so i'm not wedded to both the start/end points. i might ditch two of the CV ones ... or the pots. in that case the loop points would have to be set with the encoders, which sounds doable. i'll look into it.

at any rate, it's not terribly expensive to build one. i haven't counted it up but it'll be around 45$ for the teensy, oled, DAC, and the AVR the rest is just a few op amps, regulators, caps and resistors. the pcbs won't cost much either, like 5.


Nantonos

mxmxmx wrote:
the display is a bit gimmicky anyways, but i figured for a file player it would be nice to just turn the encoder, scroll through the files and click/select rather than actually going through the entire list with a knob, guessing what file you'll end up with.

I agree about display feedback vs. remembering what all the files are and what order they are in.

mxmxmx wrote:
about the PLL - it sounds nice enough, if that's what you're worried about. in parts, my reasoning was it might then be possible to experiment with sample rates other than 44.1k, given the reputation of the MCLK on the MK20 chip.

I was more thinking of the alternate sampling rates, given the trouble Paul had with the MCLK jitter from Teensy 3.1 for the PJRC audio board at anything other than 44.1. I don't have an opinion on any impact on the sound.


mxmxmx

ersatzplanet wrote:
A end of loop gate/trigger out would be great too. This would be normalized to the trigger in so continuous looped playback would be possible.


so, here i swapped the two pots with two buffered digital outputs (5-10v). these could serve as end of loop triggers. i'm still waiting for the second prototype to arrive here but if that turns out ok, i think i'll give this a go, and ditch the pots.

(edit: updated pic)



ersatzplanet

mxmxmx wrote:
so, here i swapped the two pots with two buffered digital outputs (5-10v). these could serve as end of loop triggers. i'm still waiting for the second prototype to arrive here but if that turns out ok, i think i'll give this a go, and ditch the pots.

Sweet! There are lots of possibilities if the input jacks can be programmable to do "next file" or other functions, then the end of loop trigger can be patched back into the module to scan through the whole library on the disc. Lots of possibilities there...


metalpunk

Looks like really cool stuff!! I will be looking for more updates. Fingers crossed.


mxmxmx

fwiw/in case it saves anyone some time --

the gerbers are on github now (that is, here: https://github.com/mxmxmx/eurotrash ). (edit:) the BOM is, too.


it's not particularly pretty, but it works/sounds pretty ok. i was just after a wav player, so the i/o is fairly simplistic, too, just a few clock in/outputs and four CV inputs (bipolar). that said/as mentioned, it's fully compatible with the teensy 3.x audio library, except for some minor details*. it recently got this GUI even - http://www.pjrc.com/teensy/beta/gui/




that's the version with the two digital outputs, which might be used to output some kind of end-of-file pulse. streaming two 16bit/44.1k files from the sd card doesn't seem to be a problem (ie, for dual mono use). in addition to the sd card, i've also added the serial flash (W25Q128FV) - the SOIC footprint i've used isn't quite right though (a bit too narrow), but it can be used (ie, it works). other than that, the board seems ok/has no obvious bugs.


caveats (if anyone attempted to build this):

- the lower row of jacks is partly off-board, that's simply because it was cheaper that way (the pcb is 100x50mm) and i was too lazy to cram them all into 100mm. so there's some minimum amount of wiring involved.
- most encoders won't fit the footprint i've used here, they have wider standoffs (the software i'm using (fritzing) seemingly can't do slots, and there was not enough space for huge holes... so you'd have to snip those off somewhat, or solder them onto the top layer)


* the differences are:
- the control objects expecting the particular codec (SGTL5000) used with the teensy audio shield won't work/aren't needed (here there's no i2c stuff involved at all)
- i've moved the chip select for the serial flash (W25Q128FV).
- talking to the oled display obviously isn't part of the audio library.


Bishop Dust

Nice ! Count me in if ever you re doing a batch !


Dogma

yes me too. please pm me when avilable


oberkorn

count me in too screaming goo yo


mxmxmx

hmm, i wasn't going to. but if that's what people prefer, sure, i can order some more; i'll have to mail stuff anyways. i also have 3 or 4 spare ones now.

note that you'll need to be able to program the atmega, ie some ISP programmer or arduino or you could use the teensy.


falafelbiels

Oooh, I'd like one too!


DSC

Me too!


mxmxmx

ok, after some further testing i ordered a few more boards, so i should have plenty to cover everyone in this tread (they'll be 4 euros or so). my only slight regret is the sd card isn't quite flush with the pcb, so probably not all modules will fit next to it --pictured is the previous prototype (you can see the SD card in the top left corner):



there will no need for the two little screws. firmware wise, i'd like to get the raspberry/odroid w and the other teensy stuff out of the way first, so that might take a little longer; the idea, as noted, at any rate was to have something compatible with the pjrc audio library.

that said, i found some time to play around with this thing as i'm travelling, beauty case in tow, and was wondering whether this makes sense (for a basic wav player)?:

i'm trying to keep the UI simple, so basically the left encoder takes care of the left channel, right encoder of the right channel.

there'll be 4 pages in all (per channel): file, start-pos, end-pos, and mode (one-shot, loop and maybe loop-sync*). that's basically it.

i haven't decided on the 4 cv inputs, but that will be easy to adapt to your needs. i'm tending to start-posL, end-posL, start-posR, and end-posR.


* ie quantized to the incoming clock, but can't tell yet how bad/well that will work. looping files per se works quite nice. it turns out with a class 10 micro sd card it doesn't seem to be a problem streaming four 16bit/44.1k files simultaneously, so they easily can be made fade into each other.


mush

I want one if you still have any left not spoken for. smile


mxmxmx

a little update -

the pcbs got delayed in customs or whatever, i should have them next week though (everyone will be covered). meanwhile, the (minimal) firmware is getting there, panel svg / fpd confirmed working.

here's the final prototype (pots replaced with digital/EOF outputs):



MUFF WIGGLER Forum Index -> Music Tech DIY Goto page 1, 2, 3, 4, 5, 6, 7  Next [all]
Page 1 of 7
Powered by phpBB © phpBB Group