Tuesday, April 23, 2019

Conbrio Gate Generator. The Sounds of Nature?

Good news....I finally finished a project I started last year.

Goes like this:

I was watching a PBS show about fractals, and thought, if fractals are everywhere in nature, how about in audio?  Not entirely sure that makes sense, but it's not hard to emulate: create a looped sequence (DAW, sequencer, or whatever) and then speed it up faster and faster.

Tried that. Not much point really. Sounds like the very end of "Karn Evil 9" I guess.  Been done!

It's always good to go back to being 15 again, digging ELP, but at a certain point sped up gates smash all the audio-everything together. Not my personal favorite.

OK now what? I put the idea on the shelf for awhile but then one beautiful California spring day had another thought: semi-random-ish, increasing tempo sound patterns are indeed common in nature: birdsong for instance, body functions (sorry!), the pitch of a cry or wail, laughter.
Insects?  Water coming out a a faucet?  It's there.

Q: in a synthesizer world, how to emulate it?

OK my attempt at solving this resulted in this module:


Yep it's the "ConBrio" pattern generator.

It's a cross between a gate generator where the output gate signal speeds up and slow down and a random gate pattern generator. For whatever reason, it came out pretty....sped up/slowed down and not quite random. I can get interesting patterns out of it, but seem to never be able to get the same pattern twice.

Not what I expected, but musically pretty useful, I think.

About the design: In general, Conbrio gate patterns start slow and get faster, start fast and get slower, or do things sort of in between.  Incoming gates (0-5V) and CV (0-5V) control everything although there are two 5V pots normalled to each CV in, something I always try to include.  Output is 0V-5V gate and a 0V to -5V gate invert.


More history: The project started last year on my trusty Radioshack not so state-of-the-art breadboard and proving ground.

This configuration tested the basic idea of fractal gates and audio. It took a lot fair number of evenings tweaking Sketch code to get something I liked, and at this stage I was just flashing a LED.

About a month in I had to make some decisions about how I wanted this to work so here's what I came up with:
  • Gates only appear at output when the input gate is high--"Gate" logic input
  • "SpeedCV" will be used control the distance between gates at the beginning of a cycle.
  • "Interval CV" sets the overall starting wavelength for the generated gates (which can, at the start of a cycle, be very short to very long)
  • The gate speeds up or slows down, based on logic present at the "REV" 
OK...after I had the code somewhat working on the RS breadboard thing I created this rough schematic:





Then (very quickly, between work meetings) drew this board:



Off to China for fab--got it back--stuffed that puppy.

That's where the problems started! I rushed the hardware design for this and had to do a lot of fixes.You can read more about where I went awry in this post, but in a nutshell I tried to have the op amp do too much of the buffering for logic, used incorrect power rails for the op amp, and other stupid things.

However, I managed to kluge this module into something that worked and to my surprise I guess? And I've been happy with how it turned out.

You can find PDF's, Eagle files, etc etc., on my website, here. The code used (both sketch and Pure C, I wrote the conbrio code in both, but used the former since to my ears it sounded better) is zipped and is at the bottom of the web page.

Updated version of Conbrio board, untested to date, is also on my website.

UPDATE 7-28-20: I slightly revised the untested conbrio v2 pcb above, which is somewhere in my huge box of PCBs but who knows where, into a Version 3 and will send V3 off for fab. 

I will build up V3 when i get the PCB back and report--I want a second con brio in my rack so I might as well see if V3 works.

Update 12-25-21--better late then never? V3 is a completely new layout--it's back and it works. See the post here. Same design and almost identical code, without all the fixes and trace cuts.

On the same web page you can find a newer version of the board and schematic, that I might actually test someday, since having 2 of these in my rack might be interesting.  The newer design fixes the many doh moments in the 1-1-19 board. Update: don't use the newer one on my website.  Use V3, linked in the paragraphy above. 


The obligatory and somewhat useless bench photo.


Hey! It works!


How it sounds: You be the judge? You can hear a sound sample here.

For the demo, what you hear were made without using samplers or samples of any kind. This is all analog or Arduinoized DIY synth, fellow audio nerds. The birdsong, baby crying, wood sawing, fart noises, etc. is ConBrio going to AR, VCO mod, bandpass filters, etc., old skool sound generating stuff. Only the conbrio has anything digital in it.

Some of the patches were complex, but for the most part, really not all that bad, as usual and I came up with all of the sounds you hear in the demo pretty fast.

Once I  record 'em and pull the patch cords the sounds are impossible to recreate, but in a too easily  repeatable digital world, that's OK by me. Best thing perhaps, I can pretty much never get this module to act the same way twice, even with the same inputs and CV! We are all looking for our own source of uncertainty eh?

OK next up is, maybe a Russian VCF?  More work on the Reverselandfill project from a couple of posts ago? Haven't decided. Until then don't breathe the fumes.


No comments:

Post a Comment

Rotary Encoder Expermenter's Board: Improving the Hardware

Quick one this time....I have posted a few projects lately that incorporated a Raspberry Pi Pico, rotary encoder, and .96" OLED:  here ...