My polysynth is finally finished :D

Discussions about anything analog, digital, MIDI, synth technology, techniques, theories and more.
SWAN
Active Member
Active Member
Posts: 448
Joined: Thu Mar 29, 2007 10:21 pm

Re: My polysynth is finally finished :D

Post by SWAN » Thu Mar 31, 2011 10:01 pm

sounds just how a nice analogue poly should...goes to show it can be done! Man that would be cool to build your own poly...

User avatar
TheKeytarist
Active Member
Active Member
Posts: 252
Joined: Thu Jan 27, 2011 4:58 pm
Real name: Joseph
Location: Los Angeles CA

Re: My polysynth is finally finished :D

Post by TheKeytarist » Fri Apr 01, 2011 5:08 pm

There are two things that would make it beter:
1. More of those awesome reverse keys
2. adamstan giving it to me as a gift :)
"A learned blockhead is a greater blockhead than an ignorant one."
— Benjamin Franklin

:keys1: :drums: :keys2:

gd
Junior Member
Junior Member
Posts: 190
Joined: Tue Apr 18, 2006 11:54 pm
Location: Ontario

Re: My polysynth is finally finished :D

Post by gd » Sun Apr 03, 2011 1:59 pm

Very very impressive! Is there any chance you will be able to bring these to the market, I would imagine that if you are having some funding issues that there would be a number of us to help you out with a contribution just to keep this moving forward. If you ever do come to the mkt . we could use our contribution as part of a down payment but our contribution is not based on that. Even building a component like the Tetra, sorry but I just am that impressed and wowed and that does not happen often these days.
Prophet 08, Mini D, Radias, 2 x JD-990, Juno-60, 2 x JP-8080, Fantom X6, Speakeasy Stereo Rackmount Vintage Tube Preamp ...

User avatar
adamstan
Active Member
Active Member
Posts: 511
Joined: Tue Aug 22, 2006 2:56 pm
Real name: Adam
Gear: Yamaha 2xDX7II|QY-70|PSR-S750|PSR-2000|TYROS|Electone D85|Electone E50
B5 DIY polysynth
KORG Poly61
Vermona DRM
Solton Programmer 24
LEMA EDD-5
Location: Poland
Contact:

Re: My polysynth is finally finished :D

Post by adamstan » Wed Apr 06, 2011 5:29 am

Some news:
I've managed to put autotuning feature in it :D It's like on P5 - tune at octaves, then compute tuning table for notes inbetween. And it actually works. The only drawback is that the whole tuning process is audible, 'cause it listens for the signal from main output, and the oscillators to be tuned are selected by combination of gate and waveform select signals. I've done it like this to avoid as much rewiring as possible.
Is there any chance you will be able to bring these to the market
I'm afraid there is not. There are several reasons for that:

1. The design itself - circuits as well as board layouts - has still many errors, which are corrected by means of adding pieces of perfboards, jumper-wires or trace-cutting. It now really looks horrible inside - I'm actually surprised it still works. And there are some noise issues - it has really poor S/N ratio of ~45-50dB. That's because of noise made by digital circuitry, due to some ground routing errors.

2. Adding proper case and panel would really raise cost - currently it's salvaged 70's combo organ, and all the switches are mounted on perfboards, which is fine for DIYer, but definitely not for something to be sold.

3. I now have full-time job (not music-, or electronics related) so I don't have much time for hand soldering thousands of components, and...

4. Running small business is really risky and costly thing here, and law is really unfriendly. Even if you wanted to give me some money for the start, it would probably be illegal - I would got shut down by tax office or other nice guys before I could even start building one synth.

So to summarize - It's still in prototype stage, and I wouldn't dare to sell it to anybody. OTOH I can't manage to start my own business to do it properly. The only thing I can do is to share design with other DIYers when I finally sort it out.
Man with a tape recorder | Living in the '80s ;-)

User avatar
StepLogik
Expert Member
Expert Member
Posts: 1492
Joined: Fri Dec 29, 2006 4:16 am
Gear: Gauntlets of Ogre Power, Vorpal Sword, Chain Mail +3, Ring of Invisibility, Staff of the Magi, Boots of Speed
Location: Boston, MA

Re: My polysynth is finally finished :D

Post by StepLogik » Wed Apr 06, 2011 1:49 pm

are you still implementing your firmware in BASCOM?

User avatar
adamstan
Active Member
Active Member
Posts: 511
Joined: Tue Aug 22, 2006 2:56 pm
Real name: Adam
Gear: Yamaha 2xDX7II|QY-70|PSR-S750|PSR-2000|TYROS|Electone D85|Electone E50
B5 DIY polysynth
KORG Poly61
Vermona DRM
Solton Programmer 24
LEMA EDD-5
Location: Poland
Contact:

Re: My polysynth is finally finished :D

Post by adamstan » Wed Apr 06, 2011 4:40 pm

StepLogik wrote:are you still implementing your firmware in BASCOM?
Yes.
Man with a tape recorder | Living in the '80s ;-)

User avatar
StepLogik
Expert Member
Expert Member
Posts: 1492
Joined: Fri Dec 29, 2006 4:16 am
Gear: Gauntlets of Ogre Power, Vorpal Sword, Chain Mail +3, Ring of Invisibility, Staff of the Magi, Boots of Speed
Location: Boston, MA

Re: My polysynth is finally finished :D

Post by StepLogik » Wed Apr 06, 2011 5:37 pm

adamstan wrote:
StepLogik wrote:are you still implementing your firmware in BASCOM?
Yes.
does BASCOM handle management of attached SRAM or do you have to explicitly address attached SRAM?

in other words, can i just declare variables/arrays at-will and the compiler (assuming it knows how much SRAM is available) will manage the memory?

User avatar
adamstan
Active Member
Active Member
Posts: 511
Joined: Tue Aug 22, 2006 2:56 pm
Real name: Adam
Gear: Yamaha 2xDX7II|QY-70|PSR-S750|PSR-2000|TYROS|Electone D85|Electone E50
B5 DIY polysynth
KORG Poly61
Vermona DRM
Solton Programmer 24
LEMA EDD-5
Location: Poland
Contact:

Re: My polysynth is finally finished :D

Post by adamstan » Wed Apr 06, 2011 7:24 pm

does BASCOM handle management of attached SRAM or do you have to explicitly address attached SRAM?

in other words, can i just declare variables/arrays at-will and the compiler (assuming it knows how much SRAM is available) will manage the memory?
It looks like it does. You can declare variable as an "XRAM" one. However, it's unclear to me how should I connect it for this feature to work (but probably it is SOMEWHERE in this huge datasheet ;-) ), so I write and read that external RAM manually. It's only used for patch storage in my system - the rest of variables fits into internal 2kB SRAM.

**************************************
OK, it just seems like not all AVR chips support it. You have to look for chips that have alternate pin functions described like 'A0-A15, D0-D7, RD, WR" etc in datasheet.
Man with a tape recorder | Living in the '80s ;-)

User avatar
StepLogik
Expert Member
Expert Member
Posts: 1492
Joined: Fri Dec 29, 2006 4:16 am
Gear: Gauntlets of Ogre Power, Vorpal Sword, Chain Mail +3, Ring of Invisibility, Staff of the Magi, Boots of Speed
Location: Boston, MA

Re: My polysynth is finally finished :D

Post by StepLogik » Wed Apr 06, 2011 8:16 pm

adamstan wrote: so I write and read that external RAM manually. It's only used for patch storage in my system - the rest of variables fits into internal 2kB SRAM.
i see. a patch is (generally) a fixed size of bytes (however many you need to store all your parameters) and so that makes manual memory management fairly easy. Once you know the base address for patch storage in your SRAM and the size of each patch its trivial to calculate an offset to get the base address for patch X's data.

but, if you are making a MIDI sequencer where you have variable length data structures then memory management becomes extremely complicated. you have to deal with lots of arrays on unknown length since a pattern/track/phrase may be just a few bytes or a few thousand. if you do all of that manually, you've got a lot of code to write to prevent fragmentation.

i get spoiled programming in high-level languages where all of that stuff is abstracted away! :D I'm guessing that BASCOM can't really do much for you in that regard.

User avatar
adamstan
Active Member
Active Member
Posts: 511
Joined: Tue Aug 22, 2006 2:56 pm
Real name: Adam
Gear: Yamaha 2xDX7II|QY-70|PSR-S750|PSR-2000|TYROS|Electone D85|Electone E50
B5 DIY polysynth
KORG Poly61
Vermona DRM
Solton Programmer 24
LEMA EDD-5
Location: Poland
Contact:

Re: My polysynth is finally finished :D

Post by adamstan » Wed Apr 06, 2011 8:21 pm

StepLogik wrote: you have to deal with lots of arrays on unknown length
Well, that's impossible in bascom. Each variable has to be declared (so the compiler can allocate memory for it), and in case of arrays, you have to define their length.
Man with a tape recorder | Living in the '80s ;-)

User avatar
StepLogik
Expert Member
Expert Member
Posts: 1492
Joined: Fri Dec 29, 2006 4:16 am
Gear: Gauntlets of Ogre Power, Vorpal Sword, Chain Mail +3, Ring of Invisibility, Staff of the Magi, Boots of Speed
Location: Boston, MA

Re: My polysynth is finally finished :D

Post by StepLogik » Wed Apr 06, 2011 8:39 pm

adamstan wrote:
StepLogik wrote: you have to deal with lots of arrays on unknown length
Well, that's impossible in bascom. Each variable has to be declared (so the compiler can allocate memory for it), and in case of arrays, you have to define their length.
yikes! is there a REDIM to change the length of an array?

User avatar
adamstan
Active Member
Active Member
Posts: 511
Joined: Tue Aug 22, 2006 2:56 pm
Real name: Adam
Gear: Yamaha 2xDX7II|QY-70|PSR-S750|PSR-2000|TYROS|Electone D85|Electone E50
B5 DIY polysynth
KORG Poly61
Vermona DRM
Solton Programmer 24
LEMA EDD-5
Location: Poland
Contact:

Re: My polysynth is finally finished :D

Post by adamstan » Wed Apr 06, 2011 8:50 pm

StepLogik wrote:
adamstan wrote:
StepLogik wrote: you have to deal with lots of arrays on unknown length
Well, that's impossible in bascom. Each variable has to be declared (so the compiler can allocate memory for it), and in case of arrays, you have to define their length.
yikes! is there a REDIM to change the length of an array?
Nope :-( There is VARPTR function which returns variables address, so you could possibly just declare the beginning of array (and each variable can be declared at specific address, like "Dim X(250) as SRAM BYTE AT 1000") and then use this function with offsets to manually address that array. Of course, that still leaves the problem of protecting that memory area from overwriting. It seems, that only viable way would be to set some arbitrary MAX size of sequence/whatever, and define array that big.

No dynamic memory allocation in bascom :-( The compiler assigns memory for variables at the beginning and that's it.
Man with a tape recorder | Living in the '80s ;-)

User avatar
adamstan
Active Member
Active Member
Posts: 511
Joined: Tue Aug 22, 2006 2:56 pm
Real name: Adam
Gear: Yamaha 2xDX7II|QY-70|PSR-S750|PSR-2000|TYROS|Electone D85|Electone E50
B5 DIY polysynth
KORG Poly61
Vermona DRM
Solton Programmer 24
LEMA EDD-5
Location: Poland
Contact:

Re: My polysynth is finally finished :D

Post by adamstan » Wed Jun 08, 2011 8:28 am

Yet another recording. Time for some 80's synthpop :-)



Made almost entirely with synth this topic is about. Exceptions:
- brass pad is layered with DX7
- cymbals are samples.

Enjoy :-) (This is my first file uploaded to soundcloud)

As for the design - I'm currently working on different approach to voicecards. I'm designing self-contained voice card with it's own CPU and DACs, controlled with serial interface.
Man with a tape recorder | Living in the '80s ;-)

User avatar
StepLogik
Expert Member
Expert Member
Posts: 1492
Joined: Fri Dec 29, 2006 4:16 am
Gear: Gauntlets of Ogre Power, Vorpal Sword, Chain Mail +3, Ring of Invisibility, Staff of the Magi, Boots of Speed
Location: Boston, MA

Re: My polysynth is finally finished :D

Post by StepLogik » Wed Jun 08, 2011 12:05 pm

Sounds wonderful!

gd
Junior Member
Junior Member
Posts: 190
Joined: Tue Apr 18, 2006 11:54 pm
Location: Ontario

Re: My polysynth is finally finished :D

Post by gd » Wed Jun 08, 2011 12:08 pm

Great work, it is something I am not capable of building and it sounds fantastic!
Prophet 08, Mini D, Radias, 2 x JD-990, Juno-60, 2 x JP-8080, Fantom X6, Speakeasy Stereo Rackmount Vintage Tube Preamp ...

Post Reply