Developing a powerful digital looper project for the DIY community

Started by Taylor, November 02, 2009, 05:00:48 PM

Previous topic - Next topic

Taylor

I've been wanting to do a DIY looper for quite a while. I looked into the ISD-based loopers and although I like the slightly lo-fi sound, I just can't make do with no overdubbing possibilities. I was thinking it would be cool to work together to develop a looper project for everybody here that I know is interested in this. The major stumbling block at the moment is that I have almost no experience doing any coding. However, I'm a good learner and I have the motivation to make this happen.

I do need a little help from those of you who do know what they're doing.

The major thing is this: what kind of technologies would be ideal for this? I know of DSP, AVR, PIC, but I don't know which of these would have the best architecture for a looper.

That question is also tied into this one: what kind of looper do people want? At its most basic, we need to be able to press a button to start recording, and press it again to end the loop, start playback from the beginning, and begin overdubbing. I think around 40 seconds is a good aim for maximum record time, but others can speak up about what they want.

There are lots of other options that we could consider implementing. Having owned the ridiculously full-featured Echoplex Digital Pro, as well as the very different but very fun EHX 2880, I have lots of ideas of other things it can do. I'm guessing some people want a fairly simple looper for just overdubbing a couple of parts, and some people will want very complex loop windowing, different playback speeds, de-synchronous loops, etc. so it may be difficult coming up with a feature set to satisfy everyone.

My goal is to come up with a project that is easy to build and requires no programming for the DIYer. There would be pro double-sided boards with silkscreen and soldermask, and pre-programmed chips available, as well as maybe an entire kit for those who don't want to bother with sourcing parts.

So, what kind of processor should I be looking at?

cloudscapes

I've done extremelly basic sampling/looping on AVR. it's 8-bit and around 12khz, but it works. I had two problems:

1. RAM space. I need fast RAM to store a stream of bytes really quickly. The internal AVR RAM is plenty fast, but super limited in storage. 2KB in the largest DIP chips. enough for a tenth of a second or so. Maybe enough for some basic granular effect or delay, but not for looping. Need fast external RAM, at least a couple 100KB, and I haven't found some.

2. Operation time. You need to be able to process an entire sample in less than 45 millionths of a second to achieve 22khz. This is no problem if all you're doing is recording and playing back, even with slower languages like Basic. But in my basic looper, as soon as I added the strict minimum to be able to control the samplerate speed and a couple other basic things, I nearly halved my top possible sampling rate on my 8MHz chip.

Disclaimer: I'm still a noob at this. I've only started playign around with micros in march.

I agree it would be nice to have something solid, though. The ISD chips are cheap and easy to use, but in my opinion they sound absolutelly rubbish. To my ears they sound the quarter of the rate/depth they claim to be, even in commercial products. Plus with all the added noise. I'm not a fan of them at all, but use them because that's all we have.

I'd kill for a chip like these but with at least 12-bit CLEAN sound at reasonable sampling rates (22khz for starters), and wouldn't mind at all if it were priced at five times what the ISD chips cost. I'd gladly shell out $40-50 a chip for the upper range of lo-fi quality!
~~~~~~~~~~~~~~~~~~~~~~
{DIY blog}
{www.dronecloud.org}

pazuzu

i wanna say that if i ever get my shit together as a builder, this would be my holy grail. best of luck guys.

scratch

stumbled across the following while looking for something else ... I didn't see a schematic, but the ideas seem interesting ...

http://little-scale.blogspot.com/2009/10/ram-music-audio-contortionist.html
Denis,
Nothing witty yet ...

MoltenVoltage

Collaborative coding sounds like a recipe for a clusterf***.

That being said, my first thought is that you might want to get a couple standard digital recording ICs and pass the signal back and forth (one chip plays back while the other records the playback mixed with the new signal).  Use an oscillator to control the switching rate.

Coding a decent sounding looper is going to take a very fast chip with a lot of external memory.  Maybe you are a savant, but I recommend starting with the basic PIC chips before diving into DSP.  There is a huge learning curve that takes a great deal of focus, dedication, and ability to deal with extended periods of frustration to overcome.

I think there are easier ways to build this than using uC's for the recording and playback, but at the end of the day you will likely want a PIC to control the other features.
MoltenVoltage.com for PedalSync audio control chips - make programmable and MIDI-controlled analog pedals!

Taylor

Well, I've already considered using 2 ISDs and passing signal back and forth, but the consensus was that the bandwidth is too low, and distortion too high, so after about 3 repeats the signal becomes too muddy to be heard.

I wish there was a Puredata-to-hardware translator, that would make this so easy.

Regarding memory, the EHX 2880 uses compact flash cards, and they are pretty cheap for large amounts of storage. Like 4gb for $20. I don't know how quickly they're able to write, but obviously EHX was able to make it work.

The Tone God

Not that I'm against the idea but for the amount of work and cost in hardware you can get something like an RC-2 for less.

I've seen this with MP3 player and DIYers. People try and build a MP3 player but with the cost of shuffles and nanos its just not worth the time except purely for the learning. They don't take off as community projects and lots of builds.

Andrew

Taylor

Yeah, I'm beginning to think you're right.

I'm thinking that if we do go ahead with this, the idea would be to make something very different from the simpler loopers out there. It does seem to be the case that, for simple sound on sound, it would be more practical to buy.

cloudscapes

Quote from: scratch on November 02, 2009, 06:59:19 PM
stumbled across the following while looking for something else ... I didn't see a schematic, but the ideas seem interesting ...

http://little-scale.blogspot.com/2009/10/ram-music-audio-contortionist.html

this is actually really great, thanks for the link!

I went ahead and ordered the large RAM chip he/she used for this project. it doesn't look too hard to implement. personally I'd rather control it with an AVR, though I still haven't figured out how I'm going to control a 19-bit address bus with an 8-bit chip, quickly
~~~~~~~~~~~~~~~~~~~~~~
{DIY blog}
{www.dronecloud.org}

chilecocula

in conservative stompboxes, tone is neither created nor destroyed, but transformed

jessej

How about the xmos?
http://www.xmos.com/
http://www.xmoslinkers.org/

I think a modern looper should be 24bit and 44.1kHz. It should have undo and reverse and half-speed and double speed. It should even be stereo.
It should use some regular PC DIMMs that are readily available as scrap and there should be enough sampling time to accommodate several switchable layers and
parts, like A, B and C sections of a song. MIDI tempo sync is a must. USB audio/midi I/O too. It should have an expression pedal input to control input level.

Saving all layers as WAV/AIFF to a USB stick would make it a killer for serious production.

I know I am asking for much, but why not make it great and useful from start?

jessej

double post sorry.

Taylor

Stereo is very unlikely, since it would make the project much more complex for everybody and only benefit the very few people who would use it in stereo. Ditto for MIDI and USB. Those are good ideas and useful to some, but not the core audience of this forum.

Expression pedal inputs are things we could very easily add to the project, in fact input volume is something you could add to the analog part of the circuit, without need to implement that in code.

Reverse and multiple playback speeds are a must, though. In fact, I'd personally want continuously variable playback speed, not just 1/2 and double time.

cloudscapes

Quote from: Taylor on November 03, 2009, 10:25:06 PM
Reverse and multiple playback speeds are a must, though. In fact, I'd personally want continuously variable playback speed, not just 1/2 and double time.

exactly! us droners absolutelly love continuously variable speed *grin*

24bit and 44khz would be nice but is probably pretty daunting in terms of hardware cost.

personally, my interest in those is not to create something to better what's out there (except maybe a few extra functionality features) but to learn how to work with digital
~~~~~~~~~~~~~~~~~~~~~~
{DIY blog}
{www.dronecloud.org}

scratch

I've started going through Digi-key and Mouser looking for 16bit ADC's w/ parallel output ... not an easy task and not cheap ...
Denis,
Nothing witty yet ...


Taylor

Interesting, but with a sampling rate of 8k, the max frequency is 4k, even less than the ISD chips. Don't think it supports simultaneous read and right either.

puretube


ljzimmer

Quote from: scratch on November 07, 2009, 03:49:35 PM
I've started going through Digi-key and Mouser looking for 16bit ADC's w/ parallel output ... not an easy task and not cheap ...


Would any of these work?

http://focus.ti.com/apps/docs/viewdevices.tsp?blockDiagramId=6017&blockId=8833&designOptionId=10005&appId=376

Or

http://www.analog.com/en/analog-to-digital-converters/audio-ad-converters/products/index.html

Both of these companies offer freebies to build prototypes  ;D

Does this help???

cloudscapes

~~~~~~~~~~~~~~~~~~~~~~
{DIY blog}
{www.dronecloud.org}