electro-music.com   Dedicated to experimental electro-acoustic
and electronic music
 
    Front Page  |  Articles  |  Radio
 |  Media  |  Forum  |  Wiki  |  Links  |  Store
Forum with support of Syndicator RSS
 FAQFAQ   CalendarCalendar   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   LinksLinks
 RegisterRegister   ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in  Chat RoomChat Room 
 Forum index » DIY Hardware and Software » Developers' Corner
XR-2206 Arduino Digitally Controlled Dual VCO Project
Post new topic   Reply to topic Moderators: DrJustice
Page 1 of 1 [23 Posts]
View unread posts
View new posts in the last week
Mark the topic unread :: View previous topic :: View next topic
Author Message
rodv92



Joined: Sep 09, 2020
Posts: 16
Location: Paris, France
Audio files: 3

PostPosted: Fri Sep 18, 2020 5:22 am    Post subject: XR-2206 Arduino Digitally Controlled Dual VCO Project
Subject description: First prototype of a fully digital potentiometer Arduino controlled Synth
Reply with quote  Mark this post and the followings unread

Hi, I am currently designing a double VCO XR-2206 based synth.
It works pretty well.

Instead of controlling the osc. frequency by CV,
i decided to use discrete R levels for pins 7 and 8, implemented by
X9C102, X9C103 and X9C014 digital pots and a trimmer pot, for each subosc.
I would go to the route of using a digital pot everywhere for control, trimmer pots aside.

The switching times on full range of the X9Cxxx pots is on the order of less than 100ns per step
so it does not seem audible when switched as fast as possible by the Arduino.

The other advantage is saving the pots configuration in case of power failure (each pot as a non-volatile memory, but with a duty life of only 100 000 cycles per bit of memory (each pot has 7bits)
Other than that an Arduino would require controlling DACs to output many CV, which would be more costly, I think.

The absolute tolerance of these digital pots is advertised to 7V DC, and a few mA (4 mA I think)
in terms of current, the ltspice simulations do not show any large currents flowing.

this setup is duplicated for the second XR-2206 chip.

The digital pots are controlled by a MCP23017 demultiplexer, itself controlled by an arduino mega.

Then I implemented hardsync.

In the current setup both XR-2206 chips are self-keyed to obtain a triangle/saw output.

The master VCO sync (0V to Vdd square wave) signals follow the high going SAW/TRI output of the first subvco (with a level of Vdd) and the low going SAW/TRI output of the second subvco (with a level of GND since I use a single rail psu)

in order to retrigger the slave VCO, I need to supply an inverted sync signal orginating from the slave VCO to the keying output.

Supplying this inverted signal is done through a SPDT switch (ADG333A) controlled by the master VCO sync signal, either supplying the non inverted slave sync signal or the inverted slave sync signal (passed through a schmitt trigger inverter (CD40106B))

As of today, the master VCO is not retriggered by noteon MIDI signal, As well, there is no audio routing and switch between self-sync, external sync (sub-osc select), hard sync for both VCO chips. Only hardsync of self-synced master vco to self-synced slave vco on the prototype breadboard.

Although the EDA project is more advanced on the EasyEDA page.



For the results, the sound is analog sounding, and the SNR on the breadboard is 24dB, so it is quite noisy but this is due to not really careful construction.

Credits :

For the VCA, I used this circuit:

[url] https://electricdruid.net/design-a-eurorack-vintage-vca-with-the-lm13700/ [/url]

For the AD Envelope generator, I used the 555 AD envelope generator, with the pots replaced by X9C104 chips. Will add more X9C103 for fine tune later.

[url] https://electro-music.com/forum/topic-61297.html [/url]

The whole project can be seen here : (With LTSpice, Arduino files added)

[url] http://easyeda.com/rodv92/synth1 [/url]
Back to top
View user's profile Send private message
rodv92



Joined: Sep 09, 2020
Posts: 16
Location: Paris, France
Audio files: 3

PostPosted: Fri Sep 18, 2020 8:30 am    Post subject: Reply with quote  Mark this post and the followings unread

Attachments to the project


20200916_121657.jpg
 Description:
Breadboard project with Dual VCO, 555 envelope and LM13700 VCA
 Filesize:  2.87 MB
 Viewed:  210 Time(s)
This image has been reduced to fit the page. Click on it to enlarge.

20200916_121657.jpg



vca_test2.wav
 Description:
VCA Test

Download
 Filename:  vca_test2.wav
 Filesize:  2.22 MB
 Downloaded:  203 Time(s)

Back to top
View user's profile Send private message
Blue Hell
Site Admin


Joined: Apr 03, 2004
Posts: 23782
Location: The Netherlands, Enschede
Audio files: 269
G2 patch files: 320

PostPosted: Fri Sep 18, 2020 9:28 am    Post subject: Reply with quote  Mark this post and the followings unread

That's a pretty big project, interesting approach too!

Oh, and welcome to the forum.

_________________
Jan
also .. could someone please turn down the thermostat a bit.
Posted Image, might have been reduced in size. Click Image to view fullscreen.
Back to top
View user's profile Send private message Visit poster's website
rodv92



Joined: Sep 09, 2020
Posts: 16
Location: Paris, France
Audio files: 3

PostPosted: Sun Sep 20, 2020 5:01 am    Post subject: Reply with quote  Mark this post and the followings unread

A quick update.

Now that MIDI is working, I put the synth to test in order to check that the digital pots were working ok.

The potential problem with them is that they do not give feedback on the values they are set in digitally. and I provide a wiper change value, not a wiper position value. State has to be maintained by the Arduino.

However, they can be setup to remember their state at power off.

So it was critical that they do not miss a change of values or the whole thing would get out of control fast.

For now, I ran a midi pattern loop for 1 hour and it did not flinch.

Another note on the XR-2206, The datasheet indicates that the frequency of oscillation is 1/RC, From my tests, it does not seem to provide good results. so I had to sample all notes from C3 to C7 and run a curve fitting in python to get a polynomial equation for each sub oscillator. It works better.

That would make the XR-2206 worthy for a general note based synth and not only for fx.
Back to top
View user's profile Send private message
rodv92



Joined: Sep 09, 2020
Posts: 16
Location: Paris, France
Audio files: 3

PostPosted: Sat Sep 26, 2020 5:41 am    Post subject: Reply with quote  Mark this post and the followings unread

Update.

I added the pitch mod JFET and inadvertently shunt the R1 and R2 XR-2206 pins to ground.
Damn.. !
It seems to have fried the chip for the triangle / saw output.

I managed to get some samples before but not when the synth was at its best Crying or Very sad

Also be careful with the multiplier output circuit to adjust the DC bias and overall signal amplitude.

I purchased some more XR-2206 chips.

Now working on the schematic to add the multiplier output bias digital pot.
and replace the arduino with a 40 pin ribbon connector. (similar to old IDE HDD ribbons.

Also, there is an amplitude modulation pin that is not used in my design. It should be for tremolo. Also the datasheets says for AM :

"As this bias level approaches VCC/2, the phase
of the output signal is reversed, and the amplitude goes
through zero."


I wonder if it is the definition of ring mod ?
Would ring mod be possible with that chip out of the box?

This pin could be exposed as a patch connector for AM.

For now, the ribbon would include :

    power input +12V, -12V, +5V, -5V, GND
    all digital signals for pot control via MCP23017 (SDA, SCL),
    note pitch control and sub oscillator frequency control (for saw/square PWM)
    gate and trigger signals for phase control of the oscillators
    hardsync on/off switching signals (to switch between self-sync and hardsync),.
    phase retrigger/free osc switching signals
    sine/saw select switching signal
    Square wave output level control ( the multiplier output circuit does not applies to square wave it seems)
    All other switching control signals managed by the arduino.



While patch cables would expose :

2 x AM input,
2x external sync input signals for FSK,
2 x sine or tri/saw outputs
2 x square outputs.

That makes 8 patch cables.

Thinking forward, I imagine using an ATX tower for the project (could then be upgraded to raspberry + a regular computer inside.
The sound modules would use the 5' 1/4'' bays for the PCB mounting and to expose the patches.
The ATX option is good and cheap, computer PSUs have already the +5V +3.3V and +12V and -12V rails required.

Maybe someday we'll have a PCI-E analog synth Wink
Back to top
View user's profile Send private message
rodv92



Joined: Sep 09, 2020
Posts: 16
Location: Paris, France
Audio files: 3

PostPosted: Mon Sep 28, 2020 3:14 am    Post subject: Reply with quote  Mark this post and the followings unread

Here is the schematic for anyone interested.
This is only the Dual VCO Stage with Hardsync and waveform selection.
The VCA will be on another board, but it is a mix of a simple 555 envelope and Vintage VCA from third parties noted in credits in my previous posts (with URL)
VCA stage will be subject to change (using AS or SM chips) in the future.


Dual_XR-2206_VCO_Digital_Control_Hardsync.png
 Description:
VCO Board Circuit
 Filesize:  521.64 KB
 Viewed:  283 Time(s)
This image has been reduced to fit the page. Click on it to enlarge.

Dual_XR-2206_VCO_Digital_Control_Hardsync.png


Back to top
View user's profile Send private message
rodv92



Joined: Sep 09, 2020
Posts: 16
Location: Paris, France
Audio files: 3

PostPosted: Sun Oct 04, 2020 11:32 am    Post subject: Reply with quote  Mark this post and the followings unread

Quick update.

The areas of development I am working on :

    The truth table for all the oscillators sync. and retrigger mode switches so I don't miss anything.


    The XR-2206 amplitude modulation signal input for vibrato, gate


    VCO Pitch modulation


    Buffering the SYNC output ot the XR-2206 before feeding it to the FSK keying output.
    The SYNC signal will be used as a square output and a synchronization signal .
    The datasheet gives the nominal impedance for triangle/sine/saw output at 600 Ohms.
    I will have to check the SYNC signal impedance.
    Overall, I am still working on the output stages


    There is still room on the PCB to add a PLL Chip.
    The goal would be to have a tune routine in the MCU to perform frequency auto-calibration at startup with the help of the PLL Chip (to make a frequency comparator)
    I don't know if it will work at the high end of the output frequency (C7) because the digital potentiometers give a 2 to 3 Hz step resolution at that frequency range. So exact tuning to the notes could be impossible for high pitches.


    For MCU control signals routing, I plan on using a flat 40 pin ribbon cable or a 80 pin with guard grounding in between signals. (using a cable from Parallel ATA UDMA disk drives)
    The second connector could be used to connect to the other board (the VCF and VCA board)
    Maybe sending a copy of the audio outputs too into the ribbon cable towards the MCU could be useful for some effects like S/H, but since it will be busy listening to MIDI messages, it could be only useful with a punchier controller with an ARM CPU.
    I am however not willing to go into ADC + DSP territory yet until the analog stages are running.


Overall, Still studying state of the art VCO boards output stages so I don't miss anything.

I am still quite inexperienced with audio electronics, so bear with me....
Back to top
View user's profile Send private message
rodv92



Joined: Sep 09, 2020
Posts: 16
Location: Paris, France
Audio files: 3

PostPosted: Wed Oct 07, 2020 10:54 am    Post subject: Reply with quote  Mark this post and the followings unread

synth arp sample... quite detuned because of one subosc that needs recalibration.


sample_detuned.wav
 Description:

Download
 Filename:  sample_detuned.wav
 Filesize:  11 MB
 Downloaded:  199 Time(s)

Back to top
View user's profile Send private message
rodv92



Joined: Sep 09, 2020
Posts: 16
Location: Paris, France
Audio files: 3

PostPosted: Sun Oct 25, 2020 6:48 am    Post subject: Autotune follow-up Reply with quote  Mark this post and the followings unread

Ok, so I implemented an autotune system based on chips at hand.

I have CD4046 pll available so I decided to analyse the phase comparator I output signal.

When a reference signal and the VCO square signal are of same frequency, the phase shift should be constant and the comparator output voltage should remain constant.

The comparator output is passed into a simple RC low pass filter with cutoff at the end of the range of the VCO.

The arduino then uses an integrator over a determined number of cycles to check that the signal is DC. (the value of the integrator decreases when tuning is approached.)

Over each tune step, the arduino then steps the digital pots to obtain the lowest integrator value, stepping the coarse, mid and then fine tune digipots.

the results are quite good but there are some flukes for certain notes.
That would need a retune.

The results of each tune are then checked with a python script in real time to extract the fundamental.

If the tune is bad, then the arduino would be commanded to restart tuning for a given note.

I will probably test the autotune using another hardware approach :
two LM331 used in frequency to voltage mode and then a voltage comparator using an opamp. the final differential voltage would then be analyzed by the arduino.

I may also test the VCO approach, but that would need a DAC to output CV, and 16 bits dac modules seem overpriced.
A 12 bit DAC module is cheap and gives good precision (4096 steps), but still lower than 3 digipots (10000 steps resolution), but the control is a bit easier and hardware cost and footprint lower.

I may also check the Arduino DUE and its integrated DAC for CV.


results.log
 Description:
deviation from equal temperament tuning in cents (up to 1300 hz, after that there is a bug in the algorithm, will correct that later)

Download
 Filename:  results.log
 Filesize:  10 KB
 Downloaded:  200 Time(s)

Back to top
View user's profile Send private message
rodv92



Joined: Sep 09, 2020
Posts: 16
Location: Paris, France
Audio files: 3

PostPosted: Fri Oct 30, 2020 12:33 pm    Post subject: auto tuning follow-up Reply with quote  Mark this post and the followings unread

I managed to improve the auto tuning based on the cd4046 pll chip.
Since the phase shift comparator 1 output basically measures the beat frequency between the oscillator and the reference pwm frequency, but, outputs a triangle waveform, I just fed the output into a schmitt trigger opamp circuit, and used Arduino freqmeasure library to get the frequency and then used the digital potentiometer tuning algorithm to find the lowest beat frequency.
Now I am getting a precision under 2 cents, limited only by the resolution of the 1k digipot.
the cd4046 phase comparator I output is a bit noisy, so I passed it through a low pass filter with a cut-off just above the max beat frequency expected between the tuning of one note to the next at the higher end of the tuning range that is, f(C7) - f(B6)
Back to top
View user's profile Send private message
PHOBoS



Joined: Jan 14, 2010
Posts: 5268
Location: Moon Base
Audio files: 685

PostPosted: Fri Oct 30, 2020 12:57 pm    Post subject: Reply with quote  Mark this post and the followings unread

thumleft that's all I can say for now untill I've invested more time in it.

one question though; are those original XR2206 chips ? I know you can get them pretty cheap from china these days
and they do work but apparently the specs are not as good as the original ones.

_________________
"My perf, it's full of holes!"
http://phobos.000space.com/
SoundCloud BandCamp MixCloud Stickney Synthyards Captain Collider Twitch YouTube
Back to top
View user's profile Send private message Visit poster's website AIM Address Yahoo Messenger MSN Messenger
rodv92



Joined: Sep 09, 2020
Posts: 16
Location: Paris, France
Audio files: 3

PostPosted: Fri Oct 30, 2020 1:27 pm    Post subject: Reply with quote  Mark this post and the followings unread

PHOBoS wrote:
thumleft that's all I can say for now untill I've invested more time in it.

one question though; are those original XR2206 chips ? I know you can get them pretty cheap from china these days
and they do work but apparently the specs are not as good as the original ones.


to answer your question, I would need to buy from a trusted european vendor to compare the chips based on the looks and performance.
For now I had no issues with the chips from China in the sense that AMSI, FSK osc keying, multuplier output Work.
How well they work, that is the question.
What I can say is that I have no obvious issues of frequency drift for a fixed timing resistor value.
Swapping chips yielded comparable amplitude and frequency values, but for npw I worked only with 3 chips.
What I learned is that quite a bit of chinese chips are indeed real ones, they are just not new but salvaged.
Back to top
View user's profile Send private message
PHOBoS



Joined: Jan 14, 2010
Posts: 5268
Location: Moon Base
Audio files: 685

PostPosted: Fri Oct 30, 2020 1:40 pm    Post subject: Reply with quote  Mark this post and the followings unread

there's some info about it at the beginning of this vid https://www.youtube.com/watch?v=02XtneCHnDA
but hey if they work, they work Smile
and yes, those could very well be repurposed chips.

_________________
"My perf, it's full of holes!"
http://phobos.000space.com/
SoundCloud BandCamp MixCloud Stickney Synthyards Captain Collider Twitch YouTube
Back to top
View user's profile Send private message Visit poster's website AIM Address Yahoo Messenger MSN Messenger
rodv92



Joined: Sep 09, 2020
Posts: 16
Location: Paris, France
Audio files: 3

PostPosted: Sat Oct 31, 2020 8:09 am    Post subject: VCO.frequency stability control Reply with quote  Mark this post and the followings unread

I have a bit of time to explore VCO autotune and frequency correction used in big commercial synths.
Synths teardown videos are quite sparse and commercial synths service manuals seem hard to find for obvious intellectual property reasons and to hinder reverse engineering.

I have never worked with Curtis or SSM chips and their clones so I have no idea how linear they are in respect to CV 1v/oct.
But I heard that most analog synths have autotune and frequency correction schemes, since temperature drift is sometimes an issue.

As i said, I went head first on that project without previous experience on synths. So if anyone has some feedback on that topic, I am all hears.

I will check too the schematics of the banggood xr-2206 based chinese function generators and check reverse engineering / teardown resources.
it is possible that they implement some frequency correction schemes and have an integrated reference DCO. (the 60 usd models with digital control)

also, I am trying to source 16 bit SPI/I2C DAC modules. it seems that most of DYI modules are 12 bit. at the 2 USD range. 16 bit modules are full fledged USB soundcards, and they are still cheap but somewhat unpractical for arduino.

the only 16 bit modules for arduino are really expensive > 30 USD.
The use I will have for the DAC is mainly to ourput DC levels and maybe a LFO application, and reference square waves for tuning. No audio file playing.

Feedback welcome!
Back to top
View user's profile Send private message
rodv92



Joined: Sep 09, 2020
Posts: 16
Location: Paris, France
Audio files: 3

PostPosted: Fri Dec 11, 2020 1:43 pm    Post subject: Autotune follow-up Reply with quote  Mark this post and the followings unread

Added Github project page :
https://github.com/rodv92/synth1
----
I finally managed to dynamically autotune the self-keyed oscillator. (for pw modes / saw modes)

The trick was to tune the suboscillator with the highest frequency component first using the calculated ideal value for this component frequency,
and the suboscillator with the lowest frequency component; comparing the total measured frequency to the fundamental goal frequency, while maintaining the computing of the dynamic potentiometer step size on the basis of the derivative of the hertz to R function, times the difference between the ideal component frequency and the measured component frequency.
This is basically a trivial gradient descent algorithm, where an approximation of the function is known and so its derivative.

The downside of this method is that the duty cycle obtained may be quite off from the ideal goal.

Also,
I used a patched pulseInLong Arduino function using the Timer2_counter library that has a 0.5 usec resolution instead of the standard 4usec resolution for micros()

https://www.electricrcaircraftguy.com/2014/02/Timer2Counter-more-precise-Arduino-micros-function.html

Also, I used a zero-cross method frequency counting in the helper python script using the sound card and compared it to the PulseInLong results.
The small deviation was curve-fitted and added to the Arduino code to improve measuring accuracy.

Now worst case scenario is 2 cents deviation in pwm mode
with a mean of 0.5 cent !

Will say victory however after testing various pw settings (now used 0.75)
Back to top
View user's profile Send private message
rodv92



Joined: Sep 09, 2020
Posts: 16
Location: Paris, France
Audio files: 3

PostPosted: Tue Jun 29, 2021 1:32 am    Post subject: XR-2206 : PWM by LFO Follow-up Reply with quote  Mark this post and the followings unread

A little follow-up on the PWM by LFO using XR-2206 self keying.
As I said earlier last year, I made the decision to use a DAC for fine frequency control (using a DAC offset) with a superimposed DAC wavetable to modulate frequency of both sub-oscillators in a PWM by LFO control mode.
A wise choice. It works flawlessly.
A DAC is almost mandatory because the LFO waveform to obtain a PWM is not of the "a*sin(2pi*f*t + phi)" but, to keep it simple, it's the inverse.
"1/sin(2*pi*f*t + phi)"

An analog LFO to PWM would require a log/antilog opamp setup, and any deviation from the required LFO voltage would induce spurious pitch change superimposed on the PWM.

The only downside for now is when the DAC output is constrained to 0, 3V to be secure, the PWM range is quite underwhelming. (total +/- 225 Hz around center duty cycle) which give low depth at high frequencies.
I'll probably push the voltage range a bit, and measure the timing pin current so it stays safe to push the frequency tuning range by the DAC.

Another solution again would be to lower the DAC output impedance, but at the expense of fine tuning precision using a fixed DAC offset. The goal being to be under 2 cents. Using this constraint, the minimum impedance was determined to be 33kOhms for 12 bits DACs.
16 bits DACs would be perfect, but bulkier and relatively expensive for a low-cost synth.

Other than that, only 2 x 100KOhms digipots are now required, and a sequential lookup table setting from 0 to 199 (using 2 x 100 steps) is mapped to the coarse frequency for each subosc and stored in flash.

fine frequency tuning is obtained by adding a DAC voltage offset.
DAC control over fine frequency tuning is really linear. the best is to output the DAC steps to frequency shift map using the arduino to a log file and use a python script to compute the linear regression and get the precise voltage to frequency gain.

Lesson learned, there is no use in measuring the capacitor and resistance to determine the voltage to frequency gain in VCO mode, even more so since my measuring equipment is not under 0.5% precision. I tried this approach first and could not get PWM without pitch deviation artifacts.

The empirical determination of the frequency gain that makes autotune deprecated because tuning is adequate at once.
There are no unknowns or lack of precision either in the coarse tuning step and the fine tuning step.

Finally, I ported the code to an Arduino Due and think of using FreeRTOS to schedule the multiple DAC in real time to limit any lags from another task or event.

As always, check github.com/rodv92/synth1 for code updates, and the documentation / project manifest.
Back to top
View user's profile Send private message
rodv92



Joined: Sep 09, 2020
Posts: 16
Location: Paris, France
Audio files: 3

PostPosted: Tue Aug 03, 2021 9:01 am    Post subject: Some samples... Reply with quote  Mark this post and the followings unread

The two XR-2206 IC version of the synth is now controlled by an Arduino Due.
computes faster, and has plenty of SRAM that was going low on the Arduino Mega 2560.

Also, added a Winbond Flash 32 mbits module to store data. The Due also has two 12 bit DACs that may prove handy.

I was thinking of using a realtime OS like FreeRTOS but the quanta of time is quite long. I primarily intended to use it for updating the DAC values while doing other tasks but I may have to write a custom scheduler, or use a dedicated MCU for DAC management.

Also used a JFET (J112) driven by an op-amp differentiator (using one of the SYM pins of the XR-2206 as input voltage and the other the AD enveloppe voltage generated by the 555 AD enveloppe) to provide sine to triangle waveshapping on one of the XR-2206 chips.
But I have Not enough space anymore to expand the project without it being unmaintanable.

Now I guess is time to write it all down and finally prepare a PCB.

What you can hear is the result of the two OSC mixed, one is one octave above the first, and I used midi controls through the sample to alter the mix between the two oscillators. Wave shapping on OSC1 (lower octave) is driven by the VCA AD Enveloppe.
The characteristic glide you can hear comes probably from the capacitors on the DAC lines

The pulse width is set at 0.25 for boths OSCs

Also the DAC to provide fine tune is a 4in1 MCP4728 module, previously a MCP4725.


synth1_wave_shape.mp3
 Description:

Download
 Filename:  synth1_wave_shape.mp3
 Filesize:  914.91 KB
 Downloaded:  50 Time(s)

Back to top
View user's profile Send private message
wakyct



Joined: Dec 30, 2020
Posts: 98
Location: USA
Audio files: 12

PostPosted: Thu Aug 05, 2021 7:18 pm    Post subject: Reply with quote  Mark this post and the followings unread

Wow, amazing project! How did you learn all this stuff? Very Happy
Back to top
View user's profile Send private message
rodv92



Joined: Sep 09, 2020
Posts: 16
Location: Paris, France
Audio files: 3

PostPosted: Fri Aug 06, 2021 2:47 pm    Post subject: Reply with quote  Mark this post and the followings unread

wakyct wrote:
Wow, amazing project! How did you learn all this stuff? Very Happy


Yes it's fun to do, indeed.

As for the learning process, I've done some engineering in college, then I went into IT as a sys admin and software engineer. So i've done a fair amount of coding but not in C++, so it's still pretty crappy as for code quality, but it certainly is required for programming the core of this kind of synth.

When I got tired with software only, I got more seriousy into electronical engineering. back to the roots... basically I have done this for 4 years now.

When it comes to synthesizers, a friend of mine introduced me to electro and he has an OB-6, Andromeda, and a Solaris. taught me how to achieve a desired sound. Homie does a lot of patches for the Solaris presently.

With that 3 pieces of knowledge (synthesizer knowledge, elctronics, programming) I decided to try to make the first brick of an analog synth one year ago roughly.

As for how I learned electronics recently, well one good book (The Art of Electronics) as a basis.
Then reading datasheets for components. (after searching through vendors for a given category of components or IC , I read several datasheets and get a general idea of how they work, for digital IC, I check that there are already libraries supporting them.

Then reading and studying already contributed circuits for a particular function (VCA, VCF, etc..) that helps to not redesign the weel each time.
I try to give credits to the author if I reuse a part of the circuit.
Then Simulate "chunks" of a project that should perform a specific function with LTSpice.
And then practice on breadboard.

For getting a reply to a specific problem, well the usual electronics forums, stackechange, etc... give good results. most of the time, somebody already had the same problem, at least at the begininning of the journey.
Using proper technical terminology helps a lot to refine/find the results on search engines.

And when in a more relaxed mood, checking on a lot of good YT channels on electronic projects and also synthesizers.

I am far far from being good at making "everything for scratch" (using mostly discrete components and not that much IC). Also using IC saves a lot of time and space, and is more gentle as a starting point in the learning curve.

Basicallly the current project uses capacitors, resistors, diodes, potentiometers, op-amps and analog and digital IC.
The harder part in electronics is the behaviour of non linear three terminals devices like transistors (FET and BJT). Op-Amp and specific function IC (analog or digital) are like black boxes and take this complexity away.

Then after this is comfortable, mastering the use of transistors and other non-linear devices, filter topologies, etc.. in complex projects is easier.

That is one methodology, and it works for me.
Hope that helps !
Back to top
View user's profile Send private message
wakyct



Joined: Dec 30, 2020
Posts: 98
Location: USA
Audio files: 12

PostPosted: Fri Aug 06, 2021 5:14 pm    Post subject: Reply with quote  Mark this post and the followings unread

Thanks for the thoughtful reply!

The components for my first kit arrive next week, I only wish I had 'discovered' electronics 20 years ago...
Back to top
View user's profile Send private message
Blue Hell
Site Admin


Joined: Apr 03, 2004
Posts: 23782
Location: The Netherlands, Enschede
Audio files: 269
G2 patch files: 320

PostPosted: Fri Aug 06, 2021 5:15 pm    Post subject: Reply with quote  Mark this post and the followings unread

That is a very nice explanation of Laughing

"just do it"

This is not meant to sound harsh, as there is are lots of useful ideas for how to approach things, but more like .. when you have an interest of doing something .. start on it, you may have questions all over, and that is good, it will take a while .. many whiles .. to become good, but you will be!

I once started with the vague idea that I was going to make a synthesizer, all I had achieved at that time was to break apart tube radios and .. such ... that they were mostly just scrap afterwards ... but I liked beeps already!

Then studied some electronics, and later some software .. meanwhile doing simple electronic stuff and simple software ... started to make things that would not work, or occasionally would, but not like intended .. not all sound related .. but also, once I got a good paying job in software ... bought a guitar in the years .. and a sax .. some synths I did not make myself .. some I was happy with .. others less ... built a VCO a filter , some strange beeps stuff at times ...

Took me 40 years or so that way, to really make something I can call a synth ... but some people go /way/ faster than that Cool

It has always been fun Smile

_________________
Jan
also .. could someone please turn down the thermostat a bit.
Posted Image, might have been reduced in size. Click Image to view fullscreen.
Back to top
View user's profile Send private message Visit poster's website
Blue Hell
Site Admin


Joined: Apr 03, 2004
Posts: 23782
Location: The Netherlands, Enschede
Audio files: 269
G2 patch files: 320

PostPosted: Fri Aug 06, 2021 5:22 pm    Post subject: Reply with quote  Mark this post and the followings unread

wakyct wrote:
[...] I only wish [...]
Laughing

The way things go eh ...

Anyway, make things, it is not bad that it won't work out immediately ... if you are like me ... googling helps, or magazines rather in my early days ... I want to do things alone, others like to ask, and there is knowledge around this place willing to answer Smile

_________________
Jan
also .. could someone please turn down the thermostat a bit.
Posted Image, might have been reduced in size. Click Image to view fullscreen.
Back to top
View user's profile Send private message Visit poster's website
rodv92



Joined: Sep 09, 2020
Posts: 16
Location: Paris, France
Audio files: 3

PostPosted: Thu Aug 19, 2021 2:59 am    Post subject: follow-up Reply with quote  Mark this post and the followings unread

On the setup, I noticed frequency instability (quite frank) caused by the use of Digital Potentiometers. This happens even at rest when there are no signals on the INC, UD pins.

When disconnecting the DigiPot line and putting a resistor the frequency is stable.

Inspecting the digipot line on the scope showed heavy broadband noise from 30 to 1 Mhz or more, with peaks at 66.5 Khz (from the I2C bus coupling onto the supply) and at 240 Khz.

Putting a filtering capacitor on a current line does not help and jams the output audio signal, neither decoupling on the power pin of each digipot.

However, choking the digipot line closest to the timing pin of the XR-2206 (I used inductors at hand, 2.2mH) solved the problem entirely.

I was worried that it could induce non linearity on the frequency response, or even resonances, but it didn't, The only thing resulting is a slight downward offset in frequency tuning. That was corrected by recalibrating (storing the coarse frequencies for each digipot step into flash) for proper tuning.

Then, computing the actual voltage to frequency gain of the DACs got a lot easier without all that frequency instability.

The result is (at least) a one step tuning without any need for frequency measure and feedback. and PWM without any pitch bend artifacts.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic Moderators: DrJustice
Page 1 of 1 [23 Posts]
View unread posts
View new posts in the last week
Mark the topic unread :: View previous topic :: View next topic
 Forum index » DIY Hardware and Software » Developers' Corner
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Forum with support of Syndicator RSS
Powered by phpBB © 2001, 2005 phpBB Group
Copyright © 2003 through 2009 by electro-music.com - Conditions Of Use