Jump to content

MIDIBoxSIDKontrol VST


Labelwhore
 Share

Recommended Posts

I've been working on this in synthmaker for the last few days. It's a VST control surface for your Midibox SID. I used the standard CCs instead of NRPNS, because I do not know how to work with NRPNs in synthmaker yet. I believe I've found and fixed most of the bugs, but it's possibel there could still be one or two.

*please note that this only works with the lead engine.

To Do:

* test in multiple hosts

* ensure all parameters can be automated

* fix osc and filter selectors

* fix bank select knob

* fix VCA sustain knob bug

* fix knob sensitivity

* GUI needs work (possibly add tabs to shrink the overall size)

* currently, only midi channel 1 is used, add selector for other channels* improve waveform selector

* add filter type selector

post-6035-126429057745_thumb.png

post-6035-12642905876_thumb.png

MIDIBoxSIDKontrol.zip

Edited by Labelwhore
Link to comment
Share on other sites

I started working on this last night in synthmaker. It's a VST control surface for your Midibox SID. I used the standard CCs instead of NRPNS, because I do not know how to work with NRPNs in synthmaker yet. So far it is untested, so I'm sure it has it's fair share of bugs at the moment. I wanted to share it regardless. When I make updates, I'll post them here.

Wow, thats cool! Can't wait to build my sammichSID and check your VST out.

Link to comment
Share on other sites

Labelwhore, you have no idea what you are getting yourself into :) Maybe I should finally finish my editor and compile it to VST as well... One of these days...

Btw, sammichSID is a regular mbSID v2 and has all the parameters a regular mbSID v2 has...

Link to comment
Share on other sites

Are you interested to implement this in Juce instead of Synthmaker?

You could take the plugins of the ctrlr project as inspiration.

It would have many advantages, e.g. we could not only compile a VST for Windows, but also for Linux.

And we could compile an AU component for MacOS.

Background: last weekend I took the code of MBSID V3, combined it with the reSID emulator, and put it into an AU plugin:

post-3436-126375946268.png

This plugin allows to emulate a MBSID on a Mac accurately (a VST for Windows could probably be compiled as well).

All "Vintage Preset" patches can already be played, even Multi/Bassline/Drum patches!

Support for sending SysEx messages to a real MBSID could be easily added, since the appr. informations are already available in the MBSID V3 code.

See also the source code as a reference.

(the simple Juce editor component is located under juce/src/EditorComponent.cpp)

As you can see in the snapshot above, the GUI is currently very minimalist.

You could help me in creating the GUI while I could continue with the low-level stuff. :)

Best Regards, Thorsten.

Link to comment
Share on other sites

Labelwhore, you have no idea what you are getting yourself into :) Maybe I should finally finish my editor and compile it to VST as well... One of these days...

Btw, sammichSID is a regular mbSID v2 and has all the parameters a regular mbSID v2 has...

Oh I know I'm in way over my head. It's just that I have synthmaker, some free time, the cc implimentation chart, and nobody had posted a VST editor that I was aware of. :)

Edited by Labelwhore
Link to comment
Share on other sites

Too bad :-(

However, for those who are interested, here the AU Plugin which allows you to emulate a MBSID w/o hardware:

/edit: deleted link - see separate posting here:

It has to be copied into your Library/Audio/Plug-Ins/Components directory (if it doesn't already exist, create it!)

Thereafter (re)start your DAW - done :)

It's built for MacOS 10.6 (Snow Leopard) - a build for older OS versions is available on request.

Note that the high CPU consumption, the weak filter sounds and the aliasing effects are caused by the reSID emulation.

Only the real hardware will produce the sounds we really love! :)

Best Regards, Thorsten.

Link to comment
Share on other sites

Too bad :-(

However, for those who are interested, here the AU Plugin which allows you to emulate a MBSID w/o hardware:

http://www.ucapps.de/tmp/MIDIboxSID.component.zip

It has to be copied into your Library/Audio/Plug-Ins/Components directory (if it doesn't already exist, create it!)

Thereafter (re)start your DAW - done :)

It's built for MacOS 10.6 (Snow Leopard) - a build for older OS versions is available on request.

Note that the high CPU consumption, the weak filter sounds and the aliasing effects are caused by the reSID emulation.

Only the real hardware will produce the sounds we really love! :)

Best Regards, Thorsten.

TK :) could you be persuaded to compile this for Windows ?? although it is an emulation it would still be a lot of fun to play with!

Link to comment
Share on other sites

TK :) could you be persuaded to compile this for Windows ?? although it is an emulation it would still be a lot of fun to play with!

This has to be done by somebody with Windows skills.

The instructions to compile the VST are given in the "extras/audio\ plugins/How\ to\ use\ this\ framework.txt" document of the juce library.

Best Regards, Thorsten.

Link to comment
Share on other sites

:frantics: :frantics: :frantics:

Woooot! Something i dreamed of coding before has actually been made a dream come true by TK!

I was considering doing a java app to convert patches,

something that would recognise a lead, or bass melody, or drums for example, based on the range of notes that same patch was played for each note.

A class that could be imported into the existing Midibox V2 Java Editor, under a different tab.

It might be a bit difficult doing all that with hexadecimal code though.

On the gui side, buttons marked Lead 1, Lead 2, etc would pop up,

as it read the sid file, and it would be cool to be able to play back that selected patch with the sidplay engine, if that was possible, (or just sent it to MbSid via midi).

You could then click an import button which would import the selected patch, into the rest of the V2 Editor,

with all knobs in the relevant positions, so you could save the patch.

All dreams for now only!

Now i'll be able to see what patches are playing wrong on my :clover:-built Mb-SID!

Whats even more significant about this VST,

is that with a full UI, it will be the most accurate Sid emulation VST out there.

Before Quadra SID was released it first used the ReSID emulation,

but as we all know, reFX had to remove the ReSID emulation when they were denied permission to be able to use it commercially.

The KVR users will have a field day when this is near completion,

in fact maybe it would be worth seeking help outside Midibox to get a windows version of this VST finished?

There would probably be more people using it to play with ReSID,

than with a midibox if that happened though.

Edited by Smithy
Link to comment
Share on other sites

Especially in the FL version of SynthMaker ;) Does it output NRPNs yet?

Theoretically, it could, but I haven't figured it out yet. There are modules to allow sending sysex strings, but I haven't messed with them enough to know whether it would work or how to make it happen. The midi event module, which is what is really needed for make sending NRPNs easy, doesn't work properly from what I understand.

To be honest though, I kind of like the fact that using the standard CCs is non-destructive.

Link to comment
Share on other sites

Maybe I'm just being dense, but could somebody explain these sections of the CC implementation chart to me in plain English? It would help me greatly, thanks. (I attached the sections of the CC chart as an image to retain the formatting)

post-6035-126400418419_thumb.png

Edited by Labelwhore
Link to comment
Share on other sites

Speaking of an FL version, I haven't tested this in FL, but I could make a native FL version too if anyone wants it.

That would be nice, if you can spare the time. FL wants to put the non-native VST into the mixer, where it doesn't belong. A VST placeable into the instrument panel would be fine. But I can't test/use it yet.

Link to comment
Share on other sites

Maybe I'm just being dense, but could somebody explain these sections of the CC implementation chart to me in plain English? It would help me greatly, thanks. (I attached the sections of the CC chart as an image to retain the formatting)

Which part don't you understand???

I assume the bit0/bit1 etc stuff?

This just means that for these CCs, the value that you send is made up of various 'bits'

Each 7bit MIDI message (0-127) can be displayed as binary as follows:


bit:	0	1	2	3	4	5	6

num:	1	2	4	8	16 	32	64 

So for CC 20, if you wanted Triangle, Pulse and Ringmodulator, you need to add bit0, 2 and 6 together which is 1+4+64=69 so you would send CC20 with a value of 69.

Cheers

Phil

Edited by philetaylor
Link to comment
Share on other sites

Which part don't you understand???

I assume the bit0/bit1 etc stuff?

This just means that for these CCs, the value that you send is made up of various 'bits'

Each 7bit MIDI message (0-127) can be displayed as binary as follows:


bit:	0	1	2	3	4	5	6

num:	1	2	4	8	16 	32	64 

So for CC 20, if you wanted Triangle, Pulse and Ringmodulator, you need to add bit0, 2 and 6 together which is 1+4+64=69 so you would send CC20 with a value of 69.

Cheers

Phil

that's exactly what I needed, thanks :)

Link to comment
Share on other sites

That would be nice, if you can spare the time. FL wants to put the non-native VST into the mixer, where it doesn't belong. A VST placeable into the instrument panel would be fine. But I can't test/use it yet.

I can do that, it won't take much time at all :)

...I think I want to get the filter type selector and waveform selector up to snuff before I export an FL version, this way I don't have two to update. But I definitely will as I use FL as my primary sequencer.

Edited by Labelwhore
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...
 Share

×
×
  • Create New...