Forum Rule: Always post complete source code & details to reproduce any issue!
Results 1 to 4 of 4

Thread: C1 Chameleon Project

  1. #1
    Junior Member
    Join Date
    Nov 2015
    Posts
    19

    C1 Chameleon Project

    Hi, I would like to present my small project, a monophonic subtractive synthesizer called the C1 Chameleon.

    Front panel PSD
    https://app.box.com/s/a04zmme5n4t1t4tpo9okgtdjylhw3n6o

    Prototype with cardboard front panel
    https://app.box.com/s/8x2bz7sgqntbrg7ny1bbim3h1n885jp9

    PCB without front panel
    https://app.box.com/s/q2howjp505ku0a1lcx8vo6fz8ru81kpx

    It's based around a Teensy 3.2 and an Audio Adaptor. The synth is controlled by two illuminated rotary encoders and data is displayed on a 0.96" OLED.

    It has three oscillator with six waveforms, white noise generator, glide, resonant low-, band- and highpass filter, a mixer section, four LFO's and four envelope generators and 100 preprogrammed presets. Each section (pitch, pulsewidth, filter frequency and amplifier) can be modulated by an envelope or an LFO.

    THE BACKGROUND
    The initial idea of the C1 was to make a modern day Casio VL-1, called VL-X, thus the basic user interface.

    Since the number of parameters has increased since I first started the project, I will have to rethink the design and the user interface. My main focus is however to keep the size as small as possible, the size is now 11x4 cm.

    MODULATION LIBRARIES
    I couldn't find a way of using the envelopes and the LFO's from the audio library as I wanted, so I wrote three libraries, chameleonDAHDSR, chameleonLFO and chameleonGlide.

    CHAMELEONDAHDSR
    The DAHDSR has a maximum of 2540ms in each stage (10160ms per envelope). This limitation is to prepare the machine to be easily controlled by MIDI, so each step (0-127) is 20ms. This object outputs 0-1.

    CHAMELEONLFO
    The LFO is based on 200-step wavetables and currently has triangle, sawtooth and square wave waveforms and S&H. Maximum cycle rate is 2540ms. This object outputs -0.5 to 0.5.

    CHAMELEONGLIDE
    This library has four member functions; speed(), the time (0-635ms) it takes to go between two frequencies,*from(), the start frequency, to(), the target frequency, getLevel() returns level of the glide.

    THE FUTURE OF THE C1
    Now that I have all the above up and running I will focus on user interface, saving presets, polyphonic mode and a step-sequencer.

    ISSUES
    When I connect the unit to my PC I get a lot of noise, which seems to decrease if I place my hand underneath the PCB, so some kind of ground issue. When I connect it to a USB powerbank or a laptop the noise is almost gone.
    If anyone has any suggestions how I can fix this noise, I'd be thankful.

    I will post audio-samples as soon as I find a way to record them without noise.

    Regards
    Johan BilÚn

  2. #2
    Senior Member pictographer's Avatar
    Join Date
    May 2013
    Location
    San Jose, CA
    Posts
    602
    Nice project!

    There are USB isolators you can get. Boxes that go between your gadget and the pc USB port. Using one of these could reduce the noise. A former coworker who develops low nose amplifiers does this. Alas, I don't recall the brand or model.

  3. #3
    Senior Member
    Join Date
    Nov 2012
    Location
    Boston, MA, USA
    Posts
    1,091
    Quote Originally Posted by johanbilen View Post
    MODULATION LIBRARIES
    I couldn't find a way of using the envelopes and the LFO's from the audio library as I wanted, so I wrote three libraries, chameleonDAHDSR, chameleonLFO and chameleonGlide.
    Super useful. Not being able to route an LFO or envelope as a modulation source for oscillators and filters (like you would on a modular synth, or indeed pretty much any hardware or software synth) was a major limitation of the Audio library last time I looked at it (which was a couple of years ago, I admit).

    Is that code on GitHub? Do you plan to contribute it back to the Audio library?

    Quote Originally Posted by johanbilen View Post
    ISSUES
    When I connect the unit to my PC I get a lot of noise, which seems to decrease if I place my hand underneath the PCB, so some kind of ground issue. When I connect it to a USB powerbank or a laptop the noise is almost gone.
    If anyone has any suggestions how I can fix this noise, I'd be thankful.
    Maybe this sort of USB isolator?
    https://www.adafruit.com/product/2107

    Interesting that the PC is noisy but the laptop is quiet. Is the laptop on batteries or connected to a mains charger?

  4. #4
    Junior Member
    Join Date
    Nov 2015
    Posts
    19
    Quote Originally Posted by Nantonos View Post
    Super useful. Not being able to route an LFO or envelope as a modulation source for oscillators and filters (like you would on a modular synth, or indeed pretty much any hardware or software synth) was a major limitation of the Audio library last time I looked at it (which was a couple of years ago, I admit).

    Is that code on GitHub? Do you plan to contribute it back to the Audio library?

    Maybe this sort of USB isolator?
    https://www.adafruit.com/product/2107

    Interesting that the PC is noisy but the laptop is quiet. Is the laptop on batteries or connected to a mains charger?
    I don't know how GitHub works but I will educate myself on the matter and upload my libraries there for anyone to use.

    The USB isolator looks fine but comes with quite a hefty pricetag...

    The laptop is connected to a mains charger.
    /Johan

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •