Show Posts
Pages: [1] 2 3 ... 5
1  Community / Exhibition / Gallery / Re: Teaser: polyphonic DCO synth with analog filters for about 100$ on: August 07, 2014, 10:48:38 am
Update #4: Some building pics
Main board with tiva is ready and should be ok after a quick test.
The Voice Boards are more work to do: With vero boards about 20-30 working hours for each. Maybe I should consider etching the circuit boards next time.
2  Community / Exhibition / Gallery / Re: Teaser: polyphonic DCO synth with analog filters for about 100$ on: August 05, 2014, 05:26:33 pm
No problem!
This is more a blog how to create a synth from the sketch and doing everything alone (hardware, software...) and using standard components, which are (still) available an (more or less) cheap. Most of all DIY synth are
a) bad documented
b) far beyond the knowledge of average people
or c) using exotic/expensive IC´s
This project should be a help for people starting a own synth project and not putting some resistors on a fixed printed board together.
I'll also try to get the code as easy as possible and comprehensible (at least for the synth engine, the control board is more complex)
3  Community / Exhibition / Gallery / Re: Teaser: polyphonic DCO synth with analog filters for about 100$ on: August 05, 2014, 11:04:20 am
Update #3:
Main Control + Power Board is done on the drawing board:
I've chosen the AC wallwart conversation for the power supply. Simply the cleanest solution.
This board acts as a control center:
-) driving the analog section
-) communication between: voice boards, midi and the user interface (done with pinouts for 4051 (potis), Shift register (tact switches) one Encoder and a display (TFT)
I also included an eeprom (I2C, 512kb) for general propose (storing patches, maybe wavetables: remember: the whole communications works with I2C, so the voice board can also use the eeprom)
One new thing is, that the 4 voices can be switched as individual analog outputs, so with smart programming we can get 4 individual mono synths (or mixing: 3 voices for chords and one voice for bassline)
4  Community / Exhibition / Gallery / Re: Teaser: polyphonic DCO synth with analog filters for about 100$ on: August 05, 2014, 02:38:03 am
You're way behind.
 

Pardon, but you misunderstood something here, so think before offending other projects:
At first: This is an (basically) AVR/ATmega-project not about DSP programming
-) Can you modify the code of the DSP without external (expensive) hardware or is it just a pre-programmed chip?
-) where you can can get the DSP? Quantity? Availability?
-) This is a completely different concept:
----) raw 8-Bit direct output for each voice with hardware analog filter  and VCA circuit, so you have the possibility of "real" AM/FM with the filters or the VCA
----) So you need at least 3 PWM (or DAC) for each voice (1x cutoff, 1x resonance, 1x VCA), so with 16 voices on chip you'll need at least about  48 PWM channels, but sorry: you can't do it with the castrated nord modular G1 ehhh, DSP-Gplug, because you have no single hardware output each voice.
5  Community / Exhibition / Gallery / Re: Teaser: polyphonic DCO synth with analog filters for about 100$ on: August 04, 2014, 08:13:16 am
unfortunately not yet!
basically I use this:
http://www.instructables.com/id/Stereo-Audio-with-Arduino/step2/TLC7528-Overview/
for the two DAC voices
and
one core from the shruti 2164 filter (little adapted and much easier, so I do not use the cutoff scaling, see attachement, but with additional schottky diode to "save" the v2164 life - the v2164 get damaged within less than  one second without negative voltage  connection )
the rest (analog switches, wiring, "OP amping") was done "on the fly" with the diy layout creator

6  Community / Exhibition / Gallery / Re: Teaser: polyphonic DCO synth with analog filters for about 100$ on: August 04, 2014, 07:25:54 am
Update #2:
final schematic 8-Bit Dual Voice Board with additional notes
this board is "all in one":
-)  2x2 digital oscillators (made with arduino pro mini)
-) 2 analog filters (6dB HP/BP/LP)
-) analog VCA
-) switching matrix (the two CD4053 switches are driven by a 595 shift register)
-) easy 10-pin control input pin header

So only 2 of this boards + one control board is needed for the whole synth!

Bonus:
One voice breadboard demo photo
very limited wma filter demo (bad quality recorded at office.... just to show THAT it works smiley )
7  Community / Exhibition / Gallery / Re: Teaser: polyphonic DCO synth with analog filters for about 100$ on: July 28, 2014, 07:31:19 am
OBSOLET! see next posting!
Update #1: first schematic as attachement (4-Voice module without filters and VCA)
8  Community / Exhibition / Gallery / Teaser: polyphonic DCO synth with analog filters for about 100$ on: July 27, 2014, 04:29:34 pm
New: Update 4: Some building pics smiley

Hello!
My new "baby" is a polyphonic wavetable synth with analog filters. Costs for the project: about 100USD!
It´s an early phase of invention, so no code snippets (mostly of copyright and cleaning up reasons) and schematics so far. But when the project is finished, I promise you to feed you with all informations!

Key facts:
Polyphonic “true” 8-bit synth with analog filters each voice. I’ll start the project with 4 voices.
Cheap hardware with only two kind of “special IC”: V2164 and TLC7528. (the first you get from smallbear and the DAC from ebay/aliexpress)

The synthesizer is splitted into several modules:

Master module: (my choice is a Texas instruments  Tiva™ C Series TM4C123G LaunchPad)
responsable for:
Hardware and user interface:
Display (TFT or/and 20x4 LED), Midi, physical Inputs (Potis, tact switches, encoder), LED’s
Software:
patch organization, generating ADSR (2-3 each voice) and LFO’s (2-5), communication with voice modules (via I2C), digital/analog conversation with ssm2164 VCA/VCF chips (via PWM).

Voice modules (driven by ATmegas328)
Hardware:
Pro mini (hey, 2$ a piece!)
8bit DAC TLC7528 (2 channels are hardware mixed into filter section!)
V2164 4-channel VCA IC (3 channels used for the analog multimode (LP,BP,HP) filter and one channel for VCA)
CD4053 for digital choosing type of filter
TL074 as standard OP.
Software (...until now: early beta!):
2 independent oscillators with 256 step wavetables (sin,tri,saw-up,saw-down,pulse, PWM)
1 LFO (for tone modulation and/or PWM)
unique protocol for communication with master module (commands implemented o far: pitch, tune and type for both OSC’s, LFO type and speed, LFO->OSC1+2 modulation)

state of affairs:
one voice module tested with filter and driven by the TIVA launchpad. Works like a charme!
the first thing was choosing the right protocol for all modules:
Serial: not possible: need the whole port for the DAC
SPI: pin conflicts, didn’t managed a error-free communication (the ATmega is on top of CPU load with sample rate of 62,8kHz, 2 OSC’s and 1 LFO!)
so I tried I2C and I was amazed, because it worked without any problems. One benefit is, that you can add easily more voice modules without additional hardware (pins) and maybe I will implement a I2C eeprom with additional wavetables.

adapted software (libraries):
Core routine for wavetabes: http://www.arduinoos.com/2010/05/direct-digital-synthesizer-dds/
Ideas how to manage the DAC: http://www.instructables.com/id/Stereo-Audio-with-Arduino/step2/TLC7528-Overview/
V2164 as multimode filter: various sources, especially the shruti-synth schematics and “unusual synthesizer circuits” http://www5b.biglobe.ne.jp/~houshu/synth/

Findings:
Software:

progmem (reading wavetables direct from flash) is MUCH to slow, so I’ve to use the RAM and each time a the type of wave is changing I need to load it again into RAM. So 768kB (2 OSC + LFO) are permanently needed with all other variables the RAM is about 70% (safe limit) and the CPU load (within the interrupt) is HARD on limit. So don’t thing about adding more voices each module.

The nasty thing with the negative voltage supply:
For all “converter IC`s”: Better take a 9V line and use a negative voltage regulator (7905), much more headroom!
There are many ways you can generate it:
IC’s:
ICL7660S (remember the “S”!!): easy circuit, cheap, downside: you need on IC/module, because you can only get a few milliamperes out of it. Not really “clean” sounding.
555 timer: easy circuit, ultra cheap, more components, maybe conflict with the frequency, little more power than 7660
LT1054: better facts than 7660, but expensive (didn’t tried one out)

AC wallwart conversation: http://www.musicfromouterspace.com/analogsynth_new/WALLWARTSUPPLY/WALLWARTSUPPLY.php
One of the best and cleanest solutions! (tested with my oscilloscope). downside: much components, maybe “oversized”

the trick with the 5/9V DC/DC converter:
you can get these boxes nearly for free: look at an old network card or router with “BNC” connector you own for sure such a “black magic box”. with this you can get -9V from +5V. downside: I measured about 50-60mA at idle.
some pics: (only german, scroll a little bit down): http://www.sprut.de/electronic/switch/smallup/smallup.html


9  Using Arduino / Displays / Re: 2.2 TFT Serial with ILI9225 - driver needed on: April 05, 2014, 04:58:23 pm
I'm a little bit sleepy, so excuse my answer: smiley
http://lmgtfy.com/?q=arduino+float+to+string
10  Using Arduino / Displays / Re: 2.2 TFT Serial with ILI9225 - driver needed on: April 05, 2014, 08:04:04 am
Hello,
you need to convert the byte/integer as a string

Here is an example:
int tempsensordata =analogRead(A1);
  String outputscreen = String(tempsensordata);

  myScreen.text(10, 10, outputscreen);
11  Using Arduino / Displays / Re: 2.2 TFT Serial with ILI9225 - driver needed on: April 04, 2014, 01:20:53 pm
Because I was asked by PM, some hints:


Hello,
I dont know if I've modified my library, so I'll tell you the way how to find the pin mapping:
For some reasons they are hardcoded in the screen_4D_22_library.h file.
So my *.h file says:
#define _4DSHIELD22_LCD_RESET A0     // Arduino Pin A0
#define _4DSHIELD22_LCD_RS 8         // Arduino Pin 8 - data or command
#define _4DSHIELD22_LCD_CS 7         // Arduino Pin 7 - select
#define _4DSHIELD22_LCD_Backlight 9  // Arduino Pin 9

#define _4DSHIELD22_TOUCH_YU A3  // Arduino Pin A3 - analog
#define _4DSHIELD22_TOUCH_XR A4  // Arduino Pin A4 - analog
#define _4DSHIELD22_TOUCH_YD A1  // Arduino Pin A1 - analog or digital
#define _4DSHIELD22_TOUCH_XL A2  // Arduino Pin A2 - analog or digital

The last 4 lines you can forget for the moment, because our display has no touch screen.
So the configuration should be:
(left: display, right UNO)
CLK <—> SPI clock signal D13 (SCK)
SDI <—> Serial data input pin sda D11 (MOSI)
RS <—> D8 (Data/Command)
CS  <—> D7 (chip select (SPI command))
LCD  <—> D9 (Display backlight on/off, can be wired directly to 5v (better with 100R resistor!)
RST  <—> A0 (Reset)
 
The library itself is a little bit overloaded in my opinion and hard to comprehensible.
I found another library, but didn't tested it out:
https://github.com/blitzter/ILI9225G
https://github.com/blitzter/LcdTimer
 

Regards
Matthias
12  Using Arduino / Audio / Re: Using MCP4921 DAC for wave generation... strange line on scope reading. on: March 29, 2014, 02:53:15 pm
Hello,
looks like that the output is disturbed by an interrupt.
Unfortunately you didn't post any code or library you are using.
So if the library isn´t using any interrupt, you could try the noInterrupts() argument. Otherwise you have to disable any other interrupt, that you don't use by hand. (especially PWM, tone()...)
I'm interested in your project:
My attempts getting out wavetables from the 4922 (even with only 256 steps) were unsatisfactory: I was only able to get out about 1kHZ, so if you could post your code (and perhaps the used library) I'll try to help you!

Regards
Matthias 
13  Products / Arduino Due / Re: Arduino DUE X10 library on: March 23, 2014, 04:10:59 pm
Did you ever got a answer about this problem?
I'm struggling with the same problem with a different library, but this is not the only problem. It would be nice for a documentation how to convert libraries from avr to sam. (not only spi...)
14  Using Arduino / Displays / Re: 2.2 TFT Serial with ILI9225 - driver needed on: March 19, 2014, 06:08:44 pm
SUCCEED!
Using following library works like a charme with my display:
https://github.com/4dsystems/screen_4D_22_library/blob/master/screen_4D_22_library.cpp
Using the first example sketch!
15  Using Arduino / Displays / 2.2 TFT Serial with ILI9225 - driver needed on: March 19, 2014, 03:51:47 pm
Hello,
I'm struggling around with following device:
http://tinyurl.com/ovbrvgg
I tried out many libraries, even utft doesn't work. (Driver must be in serial mode, tried out every one in the source code)
Voltage isn´t a problem because this device has an onboard converter for all pins.

Pin description is easy:
11PIN Standard wiring used IO:
1. VCC—Power supply (5V/3.3V)
2. GND-- Power supply (GND)
3. GND-- Power supply (GND)
4. NC—No connect
5. NC—No connect
6. LED-- Pick IO control back light off or PWM brightness control
7. CLK—SPI clock signal
8. SDI—Serial data input pin sda
9. RS—Command (RS=0)/ Parameter (RS=1)
10. RST—Reset pin
11. CS-- Chip selection pin

I can connect it (as shown on the product foto) directly to VCC,GND,A0-A5
A0 is only for the brightness.
Unfortunately there is no easy research for that display ( in serial mode)
I tried to contact the (friendly) seller, he only send me the same description for the display as on the product page (but in chinese smiley )
Does anybody has a working code for this display or some hints?

Thank you
Matthias
Pages: [1] 2 3 ... 5