Smithy Posted July 4, 2009 Report Posted July 4, 2009 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 testsOH TK you rogue! Quote
TK. Posted August 29, 2009 Author Report Posted August 29, 2009 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. Quote
clem! Posted September 9, 2009 Report Posted September 9, 2009 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! Quote
TK. Posted September 9, 2009 Author Report Posted September 9, 2009 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. Quote
clem! Posted September 15, 2009 Report Posted September 15, 2009 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" parameterthis 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 regardssid_frq_table_pyth.incsid_frq_table_pyth.inc Quote
TK. Posted September 15, 2009 Author Report Posted September 15, 2009 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. Quote
TK. Posted October 4, 2009 Author Report Posted October 4, 2009 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. Quote
Wilba Posted October 5, 2009 Report Posted October 5, 2009 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 Quote
Enth Posted November 27, 2009 Report Posted November 27, 2009 (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 November 28, 2009 by Enth Quote
TK. Posted December 3, 2009 Author Report Posted December 3, 2009 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. Quote
TK. Posted December 8, 2009 Author Report Posted December 8, 2009 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. Quote
Enth Posted January 3, 2010 Report Posted January 3, 2010 (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 January 3, 2010 by Enth Quote
TK. Posted January 3, 2010 Author Report Posted January 3, 2010 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. Quote
Enth Posted January 3, 2010 Report Posted January 3, 2010 ("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. Quote
TK. Posted January 3, 2010 Author Report Posted January 3, 2010 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. Quote
Enth Posted January 3, 2010 Report Posted January 3, 2010 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. Quote
TK. Posted January 3, 2010 Author Report Posted January 3, 2010 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. Quote
Enth Posted January 3, 2010 Report Posted January 3, 2010 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. Quote
TK. Posted March 24, 2010 Author Report Posted March 24, 2010 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. Quote
jvdieks Posted April 14, 2010 Report Posted April 14, 2010 (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 April 14, 2010 by jvdieks Quote
TK. Posted April 14, 2010 Author Report Posted April 14, 2010 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. Quote
jvdieks Posted April 14, 2010 Report Posted April 14, 2010 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 Quote
TK. Posted April 15, 2010 Author Report Posted April 15, 2010 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. Quote
jvdieks Posted April 15, 2010 Report Posted April 15, 2010 hah... you're fast :) i'll check it tomorrow.. Quote
jvdieks Posted April 16, 2010 Report Posted April 16, 2010 well, the problem is fixt! thanks a lot.. Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.