Jump to content

MIDIbox SID V2 Release + Feedback


Recommended Posts

Posted

Thank you - this bug exists since 224 days!

Shame on the guy, who requested a bugfix for "character artifacts" but hasn't tested all menu pages! ;) (*)

(*) just kidding - I knew that such dramatical changes will cause new issues w/o intensive tests

OH TK you rogue!

  • 1 month later...
  • Replies 341
  • Created
  • Last Reply

Top Posters In This Topic

Posted

A new version is available (RC32)

ChangeLog:


  o fixed strange Oct display output in Bassline Sequence Editor
  o added "DEFAULT_ENABLE_UPPER_WAVEFORMS" switch to setup_* files to enable the
    selection of additional waveforms for SwinSID
  o overworked Meter display mode in Bassline Mode (enjoy the effect! :)
  o changed behaviour of Play button: now it plays all SIDs regardless if they
    are selected or not.
    Dedicated SIDs can be played by pressing & holding the appr. SID buttons
    before pressing PLAY
[/code]

Best Regards, Thorsten.

  • 2 weeks later...
Posted

Hi,

what´s about implementing fine-tuning-capabilities. It would be interesting to use 1/4-tone or phytagorian tunings or define tunings by yourself. - Or eventually partially detuned notes from different sids (Schwebungen) in unisono-mode would be funny.

As I have seen there is a frequency table for equal tuning in the source code. Is there enough free memory space in the bankstick to add some others and is there enough memory space in the pic to add a submenue to control this?

Best regards,

clem!

Posted
what´s about implementing fine-tuning-capabilities. It would be interesting to use 1/4-tone or phytagorian tunings or define tunings by yourself. - Or eventually partially detuned notes from different sids (Schwebungen) in unisono-mode would be funny.

there are already easy to use parameters to generate detuned notes, e.g. the "Detune" parameter, which automatically detunes all 6 oscillators of a SID core (differently for left/right side), or the 6 finetune parameters which allow to detune the oscillators individually.

Each SID core has it's own set of detune/finetune parameters - so, your requested feature is already available, you only have to use it... ;)

But you are right, that an alternative note tuning table would be nice

Do you have an algorithm or a ready made frequency table for phytagorian tuning?

 

 

As I have seen there is a frequency table for equal tuning in the source code. Is there enough free memory space in the bankstick to add some others and is there enough memory space in the pic to add a submenue to control this?

It isn't possible to store alternative tuning tables in BankStick, as it has to be accessed frequently by the sound engine from an ISR. But it would be possible to store it in flash memory as long as there is some memory free (and if there should be too many new features in future, the alternative tables have to be removed partly, or limited to a certain frequency range).

The table could only be edited directly in the assembler file - I don't think that it is worth the effort to integrate an editor into the CS, but somebody could develop a GUI which generates the assembler file.

Best Regards, Thorsten.

Posted

hi,

seems as if noone else is interested in something like that.

there are already easy to use parameters to generate detuned notes, e.g. the "Detune" parameter

this shifts every note the same way - my intention was to give different notes different charakters of detune amount.

It isn't possible to store alternative tuning tables in BankStick, as it has to be accessed frequently by the sound engine from an ISR.

-but what if only storing the tables in the bankstick and copy the "active table" at bootup into the flash memory?

I ´ve calculated some tables with Excel first is here. The differencies start at 4th column row. Haven´t tested this yet.

Best regards

sid_frq_table_pyth.inc

sid_frq_table_pyth.inc

Posted
but what if only storing the tables in the bankstick and copy the "active table" at bootup into the flash memory?

Alternatively you could just upload the table with MIOS Studio (only a small .hex file has to be uploaded to a specific range). The implementation would be much easier for me, as the infrastructure already exists!

my intention was to give different notes different charakters of detune amount.

Why not creating a modulation path from Key -> Wavetable position ("MOD" flag must be enabled in WTC!), and controlling the finetune parameter from there? The WT can store up to 128 bytes, accordingly you can assign a dedicated finetune value for each key! :)

You could also control Detune this way... or any other parameter.

I ´ve calculated some tables with Excel first is here. The differencies start at 4th column. Haven´t tested this yet.

Thanks - I will come back to this table once I find the time.

Best Regards, Thorsten.

  • 3 weeks later...
Posted

A new version is available (RC33)

(sorry, no alternative frequency table yet...)

ChangeLog:


  o built for MIOS V1.9g (or higher) to support new encoder types.
    Rotary encoders won't work with older MIOS versions!
    Note that MIOS only has to be updated on the master SID, as encoders
    are not connected to SID slaves anyhow.
  o a new LED matrix visualisation mode for sammichSID has been added
    which is selected with DEFAULT_LEDMATRIX_MODE 2
    - Lead and Bassline engine: 6x8 LEDs show VU meters for OSC frequency
    - Multi and Drum engine: 6x8 LEDs show animated VU meters for OSC triggers
    - ASID player mode: 6x8 LEDs show animated VU meters for OSC triggers
  o animated VU meters are a bit faster now
  o a special configuration file and prebuilt binary for sammichSID
    is now part of the release package -> setup_sammich_sid.hex
[/code]

Please update your MIOS installation before uploading this new version!

Fortunately a MIOS V1.9g update is only required for the SID master core, since no rotary encoders are connected to the slaves.

Best Regards, Thorsten.

Posted

Nice work... you coded features for sammichSID and you haven't even got your kit yet! ;)

I can confirm the LED matrix has maximum bling now. I already had the LED meters going for Multi engine, but now Lead has some nice effects... esp. when using arpeggiator! Very cool...

Speaking of which, when did this "Arp mode" toggle button get added? I totally missed that. MB-6582 users, if you want to try out a single button for toggling arp mode on/off, rebind it to that almost useless Sync button.

In setup_mb6582.asm, replace:


DIN_ENTRY CS_MENU_BUTTON_Sync, 16+1, 0 ; **new** Sync button
[/code] with:
[code]
DIN_ENTRY CS_MENU_BUTTON_Arp, 16+1, 0 ; enables/disables the arpeggiator of *all* oscillators

  • 1 month later...
Posted (edited)

Using RC33 & mios 1.9g (was with RC31 I used before, also), bug in the knobs-menu.

If Pa1 & Pa2 = 0, no problems while adjusting min/max value of the knob.

If Pa1 or Pa2 is anything but 0, then Pa1 takes the value of min/max when they are adjusted.

Changing the value of Pa2 gives the Pa1 the same value, so you need to correct the Pa1 afterwards.

Edited by Enth
Posted

If Pa1 & Pa2 = 0, no problems while adjusting min/max value of the knob.

If Pa1 or Pa2 is anything but 0, then Pa1 takes the value of min/max when they are adjusted.

Changing the value of Pa2 gives the Pa1 the same value, so you need to correct the Pa1 afterwards.

I'm unable to reproduce this.

Could you please give me step-by-step instructions?

Please try it with the default lead patch first (press SHIFT+GP2 (E.) multiple times until "Ld" appears)

If the issue cannot be reproduced with this patch, please send me your patch for further analysis.

Best Regards, Thorsten.

Posted

RC34 has been released - ChangeLog:


o fixed race condition in SusKey portamento function
o Note Off keys which are not in the note stack are ignored now
o implemented CC#123 (All Notes Off)
Complies to MIDI spec. Means: only CC#123=0 will unplay all notes,
all other values (1..127) are silently ignored
o new wavetable control function "Key" allows to select a wavetable
step with the currently played note inside the given Begin/End range.
E.g., with Begin=0x00, End=0x7f, KEY=on, Par=200 you are able to
define different ENV1 Decay parameters for each note.
There are much more usecases of course (e.g. different LFO values,
different waveforms, Sync/Ring enable/disable in certain keyranges)
- be creative :)
o Arpeggiator "Easy Chord" function now active in default Lead/Bassline/Multi
patch
o sammichSID: F2 button now jumps to Knob page by default (especially
nice for bassline patches, for other engines the knob assignments
are mostly not preconfigured)
o Multi Engine: Knob parameter #6 and #7 now allow to control CutOff
frequency of left/right channel SID separately. Note that this isn't
consistent to Lead/Bassline assignments, but unfortunately there is
no other possible solution.
o filter page now allows direct L/R channel selection
o the full control surface now handles the first press of Osc Select,
Env Select, LFO Select and Filter Mode/Channel Select as a
"jump to page" function if that page was not displayed, and
thereafter, function as a "change selection" function. Thus
if you are not on the LFO page, pressing LFO Select jumps to
LFO page, and then pressing it again will change the selected LFO.
o this is the christmas edition, therefore the Matrix LEDs are flickering
during startup ;-)
[/xml]

Best Regards, Thorsten.

  • 4 weeks later...
Posted (edited)

After I reported the problem, I haven't been able to reproduce it. I do remember it wasn't patch specific. Maybe it solved itself :p

OMG, it's happening again! If I got 48 in Pa1, and change Min value to 60, I can still use modwheel (knob#1) to modulate pulse width. If I then go to the Pa1 menu, I see 60 there, with PWM on mod-wheel, only when I change the value there (to 59 or 61) it registers. Anyway, I can reproduce it when I have multiple SID engines selected.

In other news...

When using SPV mode and playing MIDI keyboard (channel 1), the mod wheel nor the pitch bend aren't forwarded to SID engines 2, 3 or 4. Should they?

I can always set up the DAW in such way the MIDI events are send to channels 2-4 or visit ENS->INS menu and have every SID engine use channel 1, so it's no biggie. Was just wondering if this is intended behaviour for SPV.

Sometimes the "jump to page" function doesen't work, the screen don't get updated (EDIT: lines 2 and 3 specifically). Happens when you go right from OSC ENV menu to MISC menu, and then press LFO select button.

Edited by Enth
Posted

When using SPV mode and playing MIDI keyboard (channel 1), the mod wheel nor the pitch bend aren't forwarded to SID engines 2, 3 or 4. Should they?

No, such MIDI events are not transmitted via CAN, and it would be too difficult to add this compared to a proper ensemble configuration done by the user - I will add this to the documentation.

Sometimes the "jump to page" function doesen't work, the screen don't get updated (remains empty). I'll try to reproduce it... :p

Has anybody else noticed the same?

As always: I need step-by-step instructions.

Best Regards, Thorsten.

Posted

("jump to page" function)

Has anybody else noticed the same?

As always: I need step-by-step instructions.

Added instructions to it, and also to the bug in KNOBS menu.

Posted

Thanks - it's very likely that I can release an update today, but before I need some more help from your side:

OMG, it's happening again! If I got 48 in Pa1, and change Min value to 60, I can still use modwheel (knob#1) to modulate pulse width. If I then go to the Pa1 menu, I see 60 there, with PWM on mod-wheel, only when I change the value there (to 59 or 61) it registers. Anyway, I can reproduce it when I have multiple SID engines selected.

Ok, now I get it - (only) when multiple SID engines are selected, the Min parameter is copied to the Pa1 parameter as well.

Sometimes the "jump to page" function doesen't work, the screen don't get updated (EDIT: lines 2 and 3 specifically). Happens when you go right from OSC ENV menu to MISC menu, and then press LFO select button.

Yes, the Env/Misc/Assign selection behaves strange - thats probably related to the latest changes in RC34 (see ChangeLog) - improvable.

Does this only happen in conjunction with this button function?

Best Regards, Thorsten.

Posted

Ok, now I get it - (only) when multiple SID engines are selected, the Min parameter is copied to the Pa1 parameter as well.

Yes, in addition Pa2 & Max parameters are also copied to Pa1 when either one is changed (with multible SID engines selected).

Yes, the Env/Misc/Assign selection behaves strange - thats probably related to the latest changes in RC34 (see ChangeLog) - improvable.

Does this only happen in conjunction with this button function?

From what I remember earlier, and from fooling around today, this is the only scenario.

Posted

Alright, please try RC35:


o modulation source "KEY" now uses current frequency instead of key number
to consider frequency sweeps correctly
o bugfix for "jump to page" (empty page if current item position outside new page)
o bugfix for knob page (min/max value modified Pa1 if multiple SIDs selected)
[/code]

Best Regards, Thorsten.

Posted

Alright, please try RC35:


  o modulation source "KEY" now uses current frequency instead of key number

    to consider frequency sweeps correctly

  o bugfix for "jump to page" (empty page if current item position outside new page)

  o bugfix for knob page (min/max value modified Pa1 if multiple SIDs selected)

Best Regards, Thorsten.

Seems to be working :)

I'll let you know if something comes up.

  • 2 months later...
Posted

RC36:


o Bassline engine: detune parameter now mapped to Parameter #003
o a table based calibration table is now provided for the SID filter.
It has to be adapted under src/sid_filter_table.inc and can either be
uploaded together with the firmware build, or separately if by uploading
"sid_filter_table.hex" after the "make" command (type "make sid_filter_table"
to build only this file)
The table can be used to compensate technology related non-linearities
of the 6581 R-2R DAC
o various minor bugfixes
[/code]

Best Regards, Thorsten.

  • 3 weeks later...
Posted (edited)

Hi,

i just build a sammi and found a problem with the firmware:

I've got it connected to a standard channel in cubase with "all midi inputs" selected. Because i'm using a lot of editors for my synths i've got the option to filter out the sys-x from the through turned off. Now when i start the sammi with it's midi track selected it sends out some message, cubase sends it back and the sammi responds again. So now there's a loop and the sammi won't respond or boot up before i select another midi track.

also, when i use the java editor and turn a knob there, the sammi sends a message back, which cubase sends back again and the sammi responds on itself again. So there's a loop again.

With my novation interface this loop actually crashes the midi driver.. with my motu it doesn't, but the sammi won't respond anymore because of this loop.

the only way to solve this is to take the input of the sammi out of the all midi inputs list.

this is the only synth i've got that makes this loop, no other synth loops anything back on it's output... but for me the solution of taking out the sammi's input is workable, but i do think it's a bug?

btw, it's only sys-x that loops, it doesn't loop note info. So there's no physical connection between the in and the out.

-J

Edited by jvdieks
Posted

Short answer: there must be an option in Cubase to avoid this feedback loop.

Long answer: MBSID sends a reply on SysEx message to improve the robustness of MIDI transfers (e.g. a tool can verify if the sent message has been received and if the checksum is correct). The Java based editor relies on this feature. I admit that this is somehow overengineered, you won´t find this kind of communication on many synths.

In MBSEQ I already implemented a filter for feedbacked messages, maybe I could add this to MBSID as well w/o affecting the communication w/ existing tools, but I´ve to try this out first.

But: the way how patches and the edit buffer are requested and sent is very common for most synthesizers. The dump which is sent by MBSID can be directly sent back from a PC/Mac without changing the SysEx data.

If Cubase always sends back the received stream, you will notice a dramatic performance issue (a synth gets stucked whenever an editor (or similar tool) requests a patch) - therefore I´m sure that Cubase provides a filter mechanism - somewhere...

Best Regards, Thorsten.

Posted

yeah, cubase provides this, but because i'm using a lot of editors that need to send sys-x through cubase i had to turn it off. and you can't turn the filter on/off for 1 output and input, only for all of them (which would also have fixt this).

so, well i fixt the problem by turning off the midi input... but still, i've got 6 other synths and non of them cause this loop.. they get they're own echo back and don't respond to that.

thanks for your time..

-J

Posted

The feedback issue should be fixed in RC37 now:


RC37:
o SW based feedback loops won't lead to endless repeated replies
[/code]

jvdieks: could you please check this with Cubase?

Known issues:

- if the feedback loop already exists while the MIDIbox is turned on, the 1st level bootloader could hang up - I don't like this, but a solution to overcome this is difficult (updating the bootloader is dangerous for people who don't own a PIC programmer)

Workaround: turn on the MIDIbox before starting Cubase, or remove one of the MIDI cables until the application has been booted.

- an application cannot be uploaded so long the feedback loop exists (MIOS Studio 2 will detect this)

Best Regards, Thorsten.

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...