Haven’t built a string synth but I’ve serviced a few, including the Solina. They typically have a divide down architecture like a combo organ, there’s a top octave generator that spits out twelve chromatic pitches and each of them cascades through frequency dividers for all the octaves below. These dividers usually don’t give perfect square waves, often saw/square-ish waves with softened edges, my guess being from “inaccurate” components of the time and the cascading of dividers. The instrument preset filtering is usually passive RC filtering.
The detuning is often a BBD IC that provides chorusing. A stock Solina actually doesn’t pass any dry signal when the BBD is engaged, so it’s more akin to a highly filtered vibrato (actually a highly filtered chorus, I forgot there are multiple delay lines). We modded the one I worked on to mix some of the dry signal back in when the chorus is engaged so it was more full/lush, but it sounds cool both ways.
I’m not sure about flute but the brass settings on many of these synths tend to be the oscillators into a single resonant filter, with either an expression pedal or single retriggering envelope controlling it. I’m not sure whether the waveshapes into the filter would be any different from the strings but I would wager not.
StringTheory is a lo-fi, 4-note, paraphonic string synthesizer, based on the Solina String Synth emulation designed and coded by Jan Ostman.
I have one in my rack, and it’s fun! I got it because I miss the thick chorused string sounds I used to get out of my Juno60 (worst studio decision I ever made was selling that a decade or so ago). Might be useful to dig into the source code.
From what I remember of that code, when I played with it some years ago, it makes a lot of compromises to make it run on the limited Arduino hardware.
Short version is its wavetable with LFOs on pitch & phase and an AR envelope.
as @Ithacus points out, a big part of the analog tone is soft saturation and filtering in the bucket-brigade delays that make up the chorus elements. computer won’t be the same; but i would try adding some stuff in that vein to the chorus synth here.
oh, another thing i’d add is some waveshaping to the chorus LFOs. (i dunno about the solina per se, but i like a little sharpness at the inflection point for a chorus)
It provides alternative methods used by Freeman (multiple oscillator banks, multiple points of modulation on the banks etc.) to achieve that lush ensemble sound.
The article also includes an interesting little snippet that concurs with @zebra :
'Much of the perceived richness and warmth of the mid- to late- ‘70s string machines was a consequence of the limited bandwidth of the delay lines used to modulate the waveform, which meant that their high frequencies were suppressed, not accentuated.’
Another thought; as the oscillators were a ‘divide down’ design, I would think deviation from octave to octave would not vary much (as they were using frequency divider chips). However, deviation from note to note (e.g C vs D) could certainly vary depending on each individual notes master oscillator stability and calibration. So perhaps a fixed detune per note could add a subtle effect ‘vintage’ effect as well?
As you can probably tell I’m a fan of the String Synth sounds so I’m looking forward to seeing how this progresses
If vintage approximation is a goal, one could also add slight variations on the envelope time for each individual pitch. Since each key of a string synth has it’s own dedicated tone source, each key also has it’s own simple envelope circuit typically based around a draining capacitor. Often these were electrolytics which tend to go out of spec/fail more readily than aging film and ceramic capacitors and can lead to this kind of discrepancy. But, that might not be the kind of vintage vibe that’s desirable to reproduce