Basic Study of Voltage Controlled Envelope Generator – Full Calculation Approach

I did basic study of voltage controlled envelope generator based on analog circuit approach.  However, I found the implementation quite complex, although its quality was good.  So, I next tried another approach that has simpler circuit.  This version calculates the EG curve using micro processor, and makes analog output using PWM with minimum external filtering circuit.

This version is inspired by Tom Wiltshire‘s Voltage Controlled ADSR Envelope Generator.

 

Basic Study of Voltage Controlled Envelope Generator – Analog Approach

I’ve started studying voltage controlled envelope generator designs, since I have several use cases of it.

An envelope generator usually is implemented by an RC charging circuit with potentiometers as resistors.  However, such design does not capable of quick parameters change.  So voltage control (or digital control) functionality is necessary for better articulation.  Also, non-potentiometer control is crucial to polyphonic voices.

There are several approaches to design voltage controlled envelope generators.  This article describes about an analog approach which I tried first.

Active filters

http://www.simonbramble.co.uk/techarticles/active_filters/active_filter_design.htm I came across this page while I was looking for a page that gives comparison among various types of active filters. Cool.  You can compare by yourself using LTSpice.  

Matching Transistors, 2SC1815 or 2N3904

You need to use well matching transistor pairs to make a good quality transistor ladder VCF. Above is the classic methodology to find matching transistor pairs.  I tried this procedure with 2SC1815 and 2N3904 I have.  Next version of Analog2.0 boards will support the both types of transistors, so I wanted to know how different they are in VCF perspective. Here is the result: The result shows that 2N3904 has less variability. This comparison might not be fair since my 2SC1815 transistors are very cheap ones purchased from Akizuki-Denshi, so these might have different quality control in manufacturing than usual retail transistors.  But at least I learned following: 2N3904 is…

Gerber File Viewers

There are choices of free Gerber file viewers out Internet.  I’ve tried some so I’ll take notes for archival purpose.

I decided to use GC Prevue btw.

Analog2.0: Noise&Mixer and LFO Board Update

  Analog2.0 boards update work is in progress.  I've done with the Noise&Mixer board and the LFO board.  Besides the transistor lead position fix that is the main purpose of the update, I'm putting a couple of mod points on every board, like Easter eggs. On the left is the Noise Generator & Mixer board.  On the right is the LFO board.  

How to Convert Sampling Rate with Java

This worked for me. http://stackoverflow.com/questions/2276027/converting-the-sample-rate-on-the-fly-when-reading-a-wav-file-into-a-samples-arr You can convert by applying AudioSystem.getAudioInputStream to an AudioInputStream object, and you get another AudioInputStream as the result.  Here is the sample code of the part: AudioInputStream inStream = AudioSystem.getAudioInputStream(soundFile); AudioFormat outDataFormat = new AudioFormat(8000.0f, 16, 1, 2, true, false); AudioInputStream outStream = AudioSystem.getAudioInputStream(outDataFormat, inStream); In order to make above code work, we need following two extensions.  Without these extensions, we get exception on the execution above. http://www.tritonus.org/tritonus_share-0.3.6.jar http://www.tritonus.org/tritonus_remaining-0.3.6.jar