Jump to content

MIDIbox SID V2 wishlist


TK.

Recommended Posts

  • Replies 75
  • Created
  • Last Reply

Top Posters In This Topic

Hey guys.

I was thinking of the interoperability between MB SID and other projects.

With MB FM, it has been suggested that you could route individual outputs through individual SID chips.

That's cool, but some things are desired:

- synchronized "tweaking"

i.e. you control a knob on the FM and it controls something on the SID.

- synchronized modulation

i.e. the FM and SID would have synchronized LFOs etc

- consciousness of the FM voice -> SID input connections

e.g. if you're playing 4 notes on the FM - and they all go to individual SID inputs - the SID would have to know what cutoff frequency to use.

You could think this could be done with proper cycling, like in old 6-voice analog synths, i.e. the FM voices and the SID voices cycle independently. But this could go out of sync for some reason and then it'd be impossible to resync it. Also, how would it know what the initial config should be?

Another idea would be to have FM chip 1 to have the lowest note, chip 2 the next lowest note, etc, same with SID. But then, if you play e.g. C3, D3, A2 it could get glitchy.

Maybe these ideas could be realized with a special connection: FM voice -> SID voice, which would tell the SID voice how to act correctly.

---[blah-blah]---

If this were possible, you could use the power of the FM's outputs: multiple notes in one output. I don't know if you ever tried this synth structure: [ synth 1 plays a chord ] -> [ perhaps an IR echo ] -> [ synth 2 has the LPF set on the lowest note of the chord ]. What this gives you is the lowest note of the chord, but it's enhanced by the higher notes in a way which doesn't add harmony, but adds "timbre" (especially if you correctly turn down the volume of the higher elements of the chord on synth 1 as their frequency rises). It is much like the box of a guitar or violin resonating. If you change the chord you change the timbre. This really makes for some great accoustic instrument sounds. The FM could perhaps be programmed to allocate whole chords instead of single notes to each sound chip, and then it would all work nicely.

The echo on the other hand adds a "memory" effect. The note is still there when you release the keys, it's just not on, because the synth 2 output is closed. When you play a new note, in addition to the new chord from synth 1 you get the echo of the last chord. Think of sympathetic strings or something like that. I think it's impossible to create this effect with an accoustic instrument.

This might sound shallow, but I say this is the greatest sound type I've been able to make with synthesizers. I'll try uploading some examples for you of what I mean once I've repaired my keyboard (so until next week)

---[end blah-blah]---

Also if there are 2 chips for one voice, why not select different filter types for the separate voices?

Another idea for the mod matrix, from Linplug VSTi synths:

mod matrix entries 1-4 are special. For example, Entry 1 would read LFO -> 50% -> VCF cutoff.

Entries 5-12 can do something like this: Velocity -> 50% -> Matrix entry 1 depth.

More LFO waves and more speeds (audio-speed) please!

BTW: has anyone thought of adding inductors instead of (or together with) caps in the SID filter caps spot? Perhaps some more complicated network than just a capacitor?

This is my wishlist. :)

Thanks for reading,

Damian

Link to comment
Share on other sites

Hey all!

I know there's a long wait until TK can even THINK of V2 SID let alone crazies like me with more ideas, but there seems to be a little more discussion going on in here as of late on new features and thought I'd throw out some ideas of my own....

This is my first post of any real substance, but I'm an age-old lurker from Canada whose been plotting my entry into the MIDIBox fray for some time! Thanks TK and others for making these projects so amazing!

I have a couple ideas to throw out for the wishlist discussion....

CMOS switch control - Driving CMOS switches from a steady output from a DOUT module. There could be multiple uses here. First and foremost, to select between outputs of maybe four external VCFs (I'd like to build multiple options into my box; Moog, Korg, EMS etc., as they all respond differently). Also, this could be used as an on/off bypass for effects like distortion etc. It would be nice to have a couple of single bit configurable switch controls, and maybe one 2 or three bit control for filter selection built into the voice structure of V2....

AOUT features - Except in one respect, the MB-SID has, in my view, made the MBCV redundant: 1v/oct tracking. Aside from the fact this would be useful to track an external 1v/oct synth using the built in glide/bend/lfos/envs etc., it would be nice to have this facility for properly controlling 1v/oct vcfs (moog etc.). I know there was a problem with the lookup table not fitting into the V1 SID code.... Is this possible now with the new PIC? It would be great to use all those interpolating modulators with an external synth too....

Another AOUT feature that would be great if it were implemented in some dedicated fashion in the voice architecture would be an external VCA. There are great cheap VCAs out there to solve the SID volume glitch (a MiniMoog VCA clone can also introduce some very nice overdrive!) ;-)

Trigger Out - As a "gravy" item.... If the AOUT can handle 1v/oct with glide, bend etc., the final nail in the MBCV would be to have gate outs and a clock output (with programmable divider). These would also be useful for controlling external modulators for use with the SID itself (again, not to mention making the SID module useful for external synth fun!)

I have a little preliminary panel sketch of the 1U rack project I'd like to do to indicate what I mean (if there's any interest I'll post... once I find out how to post an image!! ;-P).

If worse comes to worse, I'll probably implement the CMOS switching anyway using a 4013 decade counter - it just won't be programmable. ;-)

Anyway, just some food for discussion! I'm probably thinking a single voice unit with a full AOUT for my needs right now, but if somebody wants to build multiple VCFs, there's no reason you couldn't implement different filter selections into a multiple SID module as well! ;-)

Thanks for reading, and keep up the really creative work, all!

Gav.

Link to comment
Share on other sites

It would be nice to have a couple of single bit configurable switch controls, and maybe one 2 or three bit control for filter selection built into the voice structure of V2....

Reminds me of another wish I had...

My wish for the V2 patch format is that there is space reserved for future features coming from TK as well as some space that is totally user-specific and usable by people adding their own features. The CMOS switch control is a great example... as what you're switching might be filters or effects or a noise gate... and all people need is a place to store those bits that won't cause any compatibility issues with the preset patches or with other people's patches, with patch editors or patch loading/saving utilities etc.

Another good example is a "Volume" modulation target, complete with an 8th row of LEDs in the mod matrix, that's what I really want, whether TK puts it in or not  ;D  so it would be really nice if there was space in the patch format to store those eight bits.

Link to comment
Share on other sites

and all people need is a place to store those bits that won't cause any compatibility issues
Hey, good idea, if possible.

After reading cheater's wishlist above, I had this little dream:

One UI to run both the SID and FM as a single synth.  Taking the SID OSCs and the FM as the base oscillators, and running both through the SID FILT and/or added filters.  With integrated LFOs, etc.  Perhaps by making the FM board and core a slave of the SID CS 3.  Dave Smith eat your heart out.

<homer>GLAAAaaaarrrrgh</h>

TK of course will build what works for him - remember kids, we can build too!

Link to comment
Share on other sites

My wish for the V2 patch format is that there is space reserved for future features coming from TK as well as some space that is totally user-specific and usable by people adding their own features.

This would be ideal. As I say, be it a distortion or noise gate, be it a switchable send/return bypass to an effects box, be it a multi-bit switch to toggle for various VCFs, be it a separate external VCA control - if there were some "generic" parameter slots for AOUT and DOUT controls which could be flagged on and off for our own purposes (we could go in to the code, name the parameters ourselves"), then with a couple building blocks of code, a lot of customization might be possible without interfering with the global platform.

My hardware skills are better than my coding so the coders might be able to correct my stupidity, but it would seem to me if there were slots in the voice architecture, then by naming and defining the parameter behaviour (ie. my "filter select" would, in theory, work the same way as the SID VCF mode control - one button, leds rotate through the options), then directing the parameter to an AOUT or DOUT destination, you would be set. 

From a coding perspective though, this degree of openness may be a bit of a challenge?

Link to comment
Share on other sites

I will take this as inspiration, but currently don't have enough time to give you detailed answers (sorry!)

(I still haven't started with MBSID V2, or even with finalising MBSEQ V3, but I will do my best to make a first official MBSID V2 release real mid of this year :)

Some quick comments:

An direct UI control of MBFM is not possible due to various reasons, but a generic control possibility for any external synth could be realized. E.g., selected CC's which are in-sync with MBSID parameters (scalable of course), Note or CC events which are forwarded to sync Envelopes, LFOs, Wavetables, etc... of another synth, etc...

AOUT extensions: noticed and found as useful

More flexible patch format: already planned :) The SE options in MBSID V1 was the first step, reserving a number of bytes for flags and 7-bit values is the next step.

Flexibility: how about a plug-in concept for user-coded effects?

Possible Plug-Ins:

  - AOUT Maniac

  - Fancy Arpeggiator

  - Random Sequencer

  - Stereo Widener

  - 5.1 Surround Delay

  - Pseudo FM

  - SpeakJet Controller

  - etc. etc. etc.

(all routines have to be programmed by users for users)

Best Regards, Thorsten.

Link to comment
Share on other sites

I will take this as inspiration, but currently don't have enough time to give you detailed answers (sorry!)

Hey TK! That was purely my intention - I know you have lots to do before you can even think SID V2! ;-P

Besides, I don't think my panel and form will change too much from my mock-up; only whether or not I can make the switches programmable or not (drop that decade counter!  :P)

More flexible patch format: already planned :) The SE options in MBSID V1 was the first step, reserving a number of bytes for flags and 7-bit values is the next step.

This is great news. Hopefully this can make life a bit easier for you as well - for example, if more than one person wants a filter switch or distortion switch, once the code is done once, it can be shared amongst the forum and inserted into those slots as desired.  ;)

Flexibility: how about a plug-in concept for user-coded effects?

This would be fantastic if there is enough room in the PIC! I assume the stereo effects would be implemented using a second SID per voice? In the interim, I was planning to build a Boss Dimension-C clone into my box when I finally get around to heating up the iron.... Won't do tap delays, but will be wide indeed!  :)

Thanks again, TK, for all your hard work!  ;D

Gav.

Link to comment
Share on other sites

Thinking of plugins..

How about this:

People like to experiment with FX for the SID.

How about making a standard for FX plugins?

It would be a card/cardridge which would be connected to two busses:

1. audio out from the SIDs (separate connection for each SID so you can build a quadrophonic card)

This would be a buss which would be "broken up" by the insertion of an FX. Either the FX would have a separate output somewhere (for example, a separate audio jack) and would just pass on the original sound, OR it could pass on sound with FX on it.

2. I2C stuff which would communicate with the core: get the FX parameters from it, tell the core what effect it is (name, some kinda global effect ID, etc)

This could let you have e.g. 12 FX cardridges installed.

Then, in the UI, you could select several of them (perhaps two, limited by what the core could support) and it would control them.

If you later load a patch, it can tell you if you got the FX it needs etc.

This design would need a DAC on every FX cardridge.

Alternatively, we could S&H signal from a common bus given to a "global" DAC. The S&H would be triggered by means of the I2C bus. Don't know how well it would work, though.. Audio-rate modulation would start being sucky...

Why cardridge? Well, cards are easy to connect and swap around. And "eurocards" come with the edge connector most of the time, too. Cards are good since this idea would require a lot of connections to be made every time you reinstall an FX box.

Perhaps the cards could have access to two busses for each SID voice:

1 bus which would go from the SID to the first FX box, then it would pass on the signal to the second FX box, and so on (the signal passed on could either be the original or "wet").

A second bus which would start at the first FX box and would go the same way as bus 1 (so: FX1 -> FX2 -> FX3). The FX could, again, pass on the input signal or "wetten it up" with effects. This way you could for example set a parallel topology:

SID -> FX1 ---OUT

\___> FX2__/

(this is an ASCII drawing of a parallel topology: SID->FX1,2->OUT)

or a serial topology:

SID->FX1->FX2->...->FX99->OUT

thanks to the possibility to "break up" the buss.

The edge connector of the cardridges could also contain AOUT leads, power, etc.

My idea is probably very wrong with regards to technicalities.. but.. it's just an idea. ;)

Cheers,

D.

Link to comment
Share on other sites

I think it's a great idea but could just as easily be done as a separate unit, hence the MBFX concept... Although maybe when someone gets the FX engine off the ground it would be good to put some MIDI remote in the SID so that it can recall the right FX... Although that's really the sequencer's job.

You can probably tell I am biased to have separate devices for separate jobs instead of all-in-one solutions :)

Link to comment
Share on other sites

I wanted to wait with this message, but it seems that it's time to tell you more about the current planning:

Something which is in my "evaluation queue" is the PIC18F4685 - it's pin compatible to PIC18F4620, but provides a CAN interface. Accordingly, bidirectional transfers between master/slave would be possible with 1 MBIT/s

CAN could be easily used to communicate with other MIDIboxes as well w/o loading the MIDI interface.

And propably on these devices the EUSART bug would also be fixed, which is another advantage.

To highlight this again: this idea is under evaluation! I thought about the usage of a CAN interface several times in the last months, now some really interesting new derivatives are available (with 96k flash!) which could be perfect.

For MBSID V2 this would make direct resource sharing possible, and other devices could interchange parameters as well superfast.

Another point is, that stryd_one found an interesting link to another MIDI/CAN synth project some days ago (http://wiki.netsynth.org/index.php?title=Main_Page), which shows me, that I'm not alone with this idea. But from my point of view, I will definitely not seperate parts of the synth in this way (oscillators, modulators, etc... as seperate devices), but just try to improve the communication between MIDIboxes to achieve best performance.

Best Regards, Thorsten.

Link to comment
Share on other sites

Here a quite impressive snapshot from my scope:

Master receives a MIDI Note and forwards it to a slave via CAN

midi_can.jpg

Bottom (Channel #2): 3 MIDI bytes

Top (Channel #1): the CAN frame with 10 bit ID (used to address the MIOS core and to notify the MIDI package type), the control field, the data field with 3 bytes, the CRC checksum and the acknowledge

Sorry for the bad resolution, but CAN is soooo fast (and transfers are still extremely stable :))

Best Regards, Thorsten.

Link to comment
Share on other sites

Why would it need to though? Maybe I'm missing something ???

I'm not sure if you're familiar with the synth called Evolver.

It's a synthesizer built mainly around the idea of feedback loops.

To achieve this you would need a separate effect for each voice (to separate the notes in an obvious way)

If you put delays in the feedback loops you can have even more fun, especially with very short delays (~1 ms). Those delays can be tuned musically to create feedback and oscillation. To do this, you would need note pitch info from the synth.

Link to comment
Share on other sites

To do this, you would need note pitch info from the synth.

Ahh but again that data can be sent by the synth, so the fx machine does not need direct access to the synth's memory...

Here a quite impressive snapshot from my scope:

Impressive indeed!! Wow that's fast!!

Link to comment
Share on other sites

Ahh but again that data can be sent by the synth, so the fx machine does not need direct access to the synth's memory...

sure.

i think my idea is more in the area of "application" than "basic design" after rethinking.

especially if this CAN thing can be used to get the necessary pitch info and other kinds of info..

Link to comment
Share on other sites

  • 2 weeks later...

Hi.

Regarding a question on volume control:

It seems TI make a 4 channel serial-controlled DCA chip called PGA4311. It has a seperate +/-5V analog supply, and +5V digital supply, and a feature that allows for automatic zero-crossing detection (to remove volume change glitches).

I'm not sure of the resolution, but it seems to be 8-bit (hooray for 8-bit!!) or possibly higher (also good ;))

It seems it can also be daisy-chained (for the new 4x stereo SIDsynth).

I imagine the best feature here would be that we could choose a smooth (glitch free) volume envelope, realised in the analog domain but controlled digitally, but also retain the option of glitching the SID's 4-bit VCA register  8)...

On a seperate topic (ie the wishlist) would it be possible to set up modulation of LFOs by LFOs or ENVs?

I imagine there is AM available by selecting multiple sources, but is LFO FM available as well?

ie: LFO1 + ENV1 = FM for LFO2

(Ladies and Gentlemen, right this way to hear a lot of very weird sounds...)

TK? what do you think?

/tilted/

P.S. here's the chip:

http://focus.ti.com/lit/ds/symlink/pga4311.pdf

Link to comment
Share on other sites

Personally I really like the idea of having a nice little mixer built into the project with digital control of the outputs. I would say however that the MBHP seems to strive towards two goals related to this (hope im not speaking out of line here, just my observation) which are 1) it must be easy to solder for a person with entry level skills 2) the chips must be very easy to get world wide.

I'm not too sure how easy these are to get, but Im guessing that there not as easy to get as other chips (only as Ive never seen one but i'm a bit of a newbie), and from the PGA package shown in the PDF i'm also guessing that they wouldn't be easy to solder for a newbie? Other projects in the MBHP which have had hard to find parts have not worked out so well like the chips for the Aout which then takes a lot of time to try to find the chips, and even more time to develop easy to get alternatives like the Aout LC.

Perhaps i'm totally wrong, maybe this chip can come in an easier to solder configuration? Maybe it is easy to get? Also maybe as it wouldn't be on the acutal sid board its a cool extra for people willing to build a board... If its viable would someone here have the skills and time to make up the PCB?

All the best,

John

Link to comment
Share on other sites

OK, so the chip is in a non-DIL package.

This puts it on a par for soldering difficulty with the YMF262 or YAC512 used in the OPL3 module.

I think the TI chip would be more useful as a seperate volume control module, as I recognise that not everyone is likely to want/need this control. The TI chip is sold by DigiKey (Part no. PGA4311U-ND) for around US$10. I'm certainly not saying this chip is the only way to do this, but it is a means to an end.

So, stryd_one, I'm a little set aback by your reply. Is there already mention anywhere here of using an LFO to directly modulate the frequency of another LFO? I haven't found any mention in the 2+ years I've been reading the site. Have I managed to miss something?

/tilted/

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...