eurotrash stereo wav player (mk2)

From circuitbending to homebrew stompboxes & synths, keep the DIY spirit alive!

Moderators: Kent, Joe., luketeaford, lisa

Post Reply
User avatar
mxmxmx
Super Deluxe Wiggler
Posts: 2243
Joined: Thu May 31, 2012 1:54 am
Location: berlin

eurotrash stereo wav player (mk2)

Post by mxmxmx » Sat Jul 26, 2014 2:35 pm

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).

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


edit/update --

eurotrash mk2 :

https://github.com/mxmxmx/eurotrash_mkII

Image


specs: dual mono/stereo audio outputs (10VPP, 16 bit / 44.1 kHz) / pcm5102a, 1 encoder+switch, 2 tact switches, 2 trigger inputs, 4 bipolar CV inputs (+/- 5V), micro SD card, 128x64 OLED display, 10HP. optional spi flash (16Mbyte) for lower latency audio (~4ms); or 1Mbit SPI SRAM (very optional)

fully compatible with the teensy 3.x audio library; so setting it up to play a few wav files, loop start and end positions etc, is easy --- it's been done for you here:

https://github.com/mxmxmx/eurotrash_mkI ... aster/soft

firmware supports both streaming from SD and 16Mbyte SPI Flash *

Image



* streaming from SPI flash = lower latency. with the current audio API/firmware, in that case the total latency is about ~ 4ms (see below). when streaming from SD it's approx. 2 x that figure.


Image


here's a little recording / me testing the clock-inputs (not so much a demo):

https://soundcloud.com/menschenimhotel/ ... k2/s-0nb9d

(the hi-hat (ish) sounds are samples from eurotrash L/R outputs, with the eof CV being randomly modulated; the bass stuff is peaks, triggers courtesy of 4ms RCD)


build guide and misc info:

https://github.com/mxmxmx/eurotrash_mkII/wiki

hardware files:

https://github.com/mxmxmx/eurotrash_mkI ... aster/hard


----------------------------------------------------------------------------------------
legacy / mk1 :

pic of the thing, panel courtesy of DSC:

Image

side view:

Image

find the BOM/gerbers/.fpd here : https://github.com/mxmxmx/eurotrash
Last edited by mxmxmx on Sun Sep 27, 2015 6:56 am, edited 24 times in total.

User avatar
dropmotif
Common Wiggler
Posts: 147
Joined: Tue Apr 24, 2012 5:24 am
Location: Los Angeles

Post by dropmotif » Sat Jul 26, 2014 6:14 pm

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

User avatar
mckenic
pew!pew!pew!kthnxbye!
Posts: 6432
Joined: Fri Aug 06, 2010 8:05 pm
Location: Limerick, Ireland

Post by mckenic » Sat Jul 26, 2014 6:23 pm

:tu: :eek: :banana:

User avatar
ABC
Common Wiggler
Posts: 146
Joined: Fri Jun 29, 2012 7:35 pm
Location: The Street, Metaverse

Post by ABC » Sun Jul 27, 2014 5:01 am

yes please
bewilderbeast.bandcamp.com

User avatar
ABC
Common Wiggler
Posts: 146
Joined: Fri Jun 29, 2012 7:35 pm
Location: The Street, Metaverse

Post by ABC » Sun Jul 27, 2014 5:05 am

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...
:tu:
bewilderbeast.bandcamp.com

User avatar
Emalot
Wiggling with Experience
Posts: 371
Joined: Sat May 07, 2011 5:52 am
Location: Lyon---France

Post by Emalot » Sun Jul 27, 2014 6:47 am

Mima miam
Please, do a PCB batch!

User avatar
Barcode
Ultra Wiggler
Posts: 843
Joined: Sun Nov 20, 2011 12:12 pm
Location: The Wasatch Front

Post by Barcode » Sun Jul 27, 2014 9:01 am

Really cool!

User avatar
mxmxmx
Super Deluxe Wiggler
Posts: 2243
Joined: Thu May 31, 2012 1:54 am
Location: berlin

Post by mxmxmx » Mon Jul 28, 2014 3:12 am

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 ..

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:

Image

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.

User avatar
ersatzplanet
Synthwerks Design
Posts: 6731
Joined: Fri Mar 06, 2009 1:18 pm
Location: Seattle WA

Post by ersatzplanet » Mon Jul 28, 2014 2:37 pm

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.
-James

James Husted - Synthwerks, LLC - www.synthwerks.com - info@synthwerks.com - james@synthwerks.com
Synthwerks is a proud member of the Mostly Modular Trade Association (http://www.mostlymodular.com).
Always looking to trade for Doepfer P6 cases

User avatar
Nantonos
Super Deluxe Wiggler
Posts: 1275
Joined: Sun Mar 03, 2013 1:00 pm
Location: Boston, MA

Post by Nantonos » Mon Jul 28, 2014 2:54 pm

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?
ondes | current rack
I am afraid a firmware change will not be able to turn a rather expensive 16-bit DAC into a 16-bit ADC, and flip all those op-amps :)

User avatar
mxmxmx
Super Deluxe Wiggler
Posts: 2243
Joined: Thu May 31, 2012 1:54 am
Location: berlin

Post by mxmxmx » Tue Jul 29, 2014 1:36 am

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.

User avatar
Nantonos
Super Deluxe Wiggler
Posts: 1275
Joined: Sun Mar 03, 2013 1:00 pm
Location: Boston, MA

Post by Nantonos » Tue Jul 29, 2014 6:53 pm

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.
ondes | current rack
I am afraid a firmware change will not be able to turn a rather expensive 16-bit DAC into a 16-bit ADC, and flip all those op-amps :)

User avatar
mxmxmx
Super Deluxe Wiggler
Posts: 2243
Joined: Thu May 31, 2012 1:54 am
Location: berlin

Post by mxmxmx » Thu Jul 31, 2014 9:03 am

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)
Image
Last edited by mxmxmx on Fri Aug 01, 2014 7:27 am, edited 1 time in total.

User avatar
ersatzplanet
Synthwerks Design
Posts: 6731
Joined: Fri Mar 06, 2009 1:18 pm
Location: Seattle WA

Post by ersatzplanet » Thu Jul 31, 2014 10:01 am

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...
-James

James Husted - Synthwerks, LLC - www.synthwerks.com - info@synthwerks.com - james@synthwerks.com
Synthwerks is a proud member of the Mostly Modular Trade Association (http://www.mostlymodular.com).
Always looking to trade for Doepfer P6 cases

metalpunk
Learning to Wiggle
Posts: 31
Joined: Thu Oct 18, 2012 4:33 am

Post by metalpunk » Thu Jul 31, 2014 10:27 am

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

User avatar
mxmxmx
Super Deluxe Wiggler
Posts: 2243
Joined: Thu May 31, 2012 1:54 am
Location: berlin

Post by mxmxmx » Sat Sep 20, 2014 2:39 pm

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/


Image

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
Ultra Wiggler
Posts: 810
Joined: Sun Jan 24, 2010 5:39 pm
Location: Belgium

Post by Bishop Dust » Sun Sep 21, 2014 9:06 pm

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

Dogma
Super Deluxe Wiggler
Posts: 4142
Joined: Wed Aug 28, 2013 10:46 pm

Post by Dogma » Mon Sep 22, 2014 2:18 am

yes me too. please pm me when avilable
look up!

User avatar
oberkorn
Veteran Wiggler
Posts: 616
Joined: Tue Jan 18, 2011 6:30 am
Location: in the EU

Post by oberkorn » Mon Sep 22, 2014 5:49 am

count me in too :goo:
this blank space left intentionally

User avatar
mxmxmx
Super Deluxe Wiggler
Posts: 2243
Joined: Thu May 31, 2012 1:54 am
Location: berlin

Post by mxmxmx » Mon Sep 22, 2014 5:44 pm

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.

User avatar
falafelbiels
still learning to wiggle
Posts: 4356
Joined: Tue Aug 04, 2009 7:15 am
Location: Rotterdamm son

Post by falafelbiels » Mon Sep 22, 2014 6:36 pm

Oooh, I'd like one too!

User avatar
DSC
Super Deluxe Wiggler
Posts: 2270
Joined: Thu Apr 11, 2013 11:54 pm
Location: Denver
Contact:

Post by DSC » Mon Sep 22, 2014 6:39 pm

Me too!

User avatar
mxmxmx
Super Deluxe Wiggler
Posts: 2243
Joined: Thu May 31, 2012 1:54 am
Location: berlin

Post by mxmxmx » Sun Sep 28, 2014 4:52 am

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):

Image

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.

User avatar
mush
Veteran Wiggler
Posts: 597
Joined: Tue Sep 28, 2010 1:38 pm
Location: Copenhagen, Denmark

Post by mush » Sun Sep 28, 2014 5:44 am

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

User avatar
mxmxmx
Super Deluxe Wiggler
Posts: 2243
Joined: Thu May 31, 2012 1:54 am
Location: berlin

Post by mxmxmx » Fri Oct 17, 2014 6:24 am

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):

Image

Post Reply

Return to “Music Tech DIY”