Jump to content

TK.

Administrators
  • Posts

    15,254
  • Joined

Everything posted by TK.

  1. Discussion about future features has been moved to http://www.midibox.org/forum/index.php?topic=6075.0
  2. TK.

    NRPN->CC

    Hi Jesper, In the "if" just check for 0xbf (which stands for CC, Channel 16) Don't write "case 0xb0", because this is a check for a masked value (evnt0 & 0xf0), the lower nibble is always 0 yes, you can store it in an array of "unsigned char" Which text is displayed by MIDI-Ox? Best Regards, Thorsten.
  3. Let's split the thread... ;-)
  4. Or MIDIbox SEQ, which is my most powerful arpeggiator implementation so far (see http://www.ucapps.de/midibox_seq_tutorial4.html), and it provides CV outs as well. I'm sure that I won't put this code into the MBCV, it would be wasted time. Instead I will just improve the MBSID arpeggiator a little - and not more! In fact, for myself the main intention behind the MBCV improvements is to get some more experiences with modulation/trigger routing in order to find out, what is possible with the PIC, and what not. These experiences will flow into the MIDIbox SID sound engine V2 (next year or so...). So, of course, it's useful to know which features other guys have realized in order to get some inspirations for future projects (than sooner I consider them, then more consistent the final engine), but my focus is definitely not to beat the others - I just want to have some fun! Best Regards, Thorsten.
  5. An unknown reaction will happen. Propably you won't get any reply at all (the SysEx implementation is very primitive in order to have more memory free for powerful sound features) This is propably because the AUTO_DEVICE_ID flag in main.asm is set. I added this newbie friendly feature, since people were mostly confused about the MIOS Device ID and the SID Device ID. With AUTO_DEVICE_ID, the SID will automatically get the same ID like MIOS, and - of course - in this mode you are not able to change the ID anymore. If you really need this, then just set this flag to 0, but on the other hand: I don't know why you want to change it? Thats normal when you are changing the patch number of the master SID (the SysEx is routed internally). It only sends a dump (with the appr. device ID) when you are changing a patch of a slave. If the dump would be invalid, the SID wouldn't send an acknowledge (0F) at all. Acknowledge (0F) means, that the command has been regognized and processed. Which command do you mean exactly? is your second SID configured as master or slave? It's a slave when the device ID is != 0 (thats also one of those newbie friendly options). It's interesting thats newbies don't have problems with device IDs anymore since months, but now an expert stumbles over the auto features ;-) General suggestion: read the main.asm Best Regards, Thorsten.
  6. Hi, no, such an option is not supported by MBLC, because J6 of the core is configured for the MBHP_MF module. But you could just build a second core module, and upload a different firmware (like MB64) which supports the AIN. It will cost you 20 EUR more, but it's the most flexible solution which doesn't require any software change. Best Regards, Thorsten.
  7. This isn't so bad and brings some improvement. But what should happen if at the middle between previous and new note you decide to play another note? Let's say, C-1 to C-4 (factor 8 ), and while the frequency is sweeped and has reached the frequency around C-3, D-3 is played. What should happen then? A very long sweep from C-3 to D-3? Or just ignoring this side effect, which wouldn't happen when a slide is realized with analog components? Do you know, how other synths with a similar slide feature like the TB303 do react under such conditions? Best Regards, Thorsten. P.S.: thanks for your answer! At the time I wrote the initial posting, I already thought: if somebody will answer, then propably Kokoon! :-)
  8. "cs not enabled" means "Control Surface not enabled". It seems that you've uploaded the .hex file for a slave module, or you've selected the auto CS feature, and the device ID of the core is != 00 Best Regards, Thorsten.
  9. Hi Matteo, thanks for pointing this out! I also think that this is a bug and I will check if there is an easy workaround for the SID editor. Biggest problem is, that the core library doesn't allow to access the MIDI channel and device ID directly from each object. If I don't find a solution, I will ask the core developers for help, but this may take some time... Best Regards, Thorsten.
  10. Hallo, In Kapitel 25 ("Special Features") steht beschrieben, wie man den PIC konfigurieren muss, um via PLL die 20 MHz auf 48 MHz zu bringen. PWM bspw. ueber Pin 17 (siehe SID Applikation, hier wird 1 MHz mit 1:1 duty cycle eingestellt), die restlichen Pins nach belieben. Gruss, Thorsten.
  11. Hi Jack, the ".sid" format is just a container for a C64 executable. This means that you can use any C64 song editor in order to compose these tunes, and you could run it on an emulator. However, I don't know which editors are currently "state-of-the-art"... the .sid format itself is described in DOCUMENTS/SID_file_format.txt, which is part of the HVSC Best Regards, Thorsten.
  12. Hi Matteo, The "46 0F" tells me, that the wavetable changes are sent to the SID with device ID 0F, is the your intention? Wouldn't it be better to select device ID 00? Note that it has to be edited under Window->Preferences->Synth Driver (last column of the driver overview), and as well in the CFG menu of your MBSID. This is a special feature, which allows you to change to a wavetable of another patch without changing the sound parameters of the current patch. It's the same like CC#12 - it's especially useful if you've prepared some nice note sequences (or arpeggiator textures), and if you want to select a new one on-the-fly Best Regards, Thorsten.
  13. I frequently use the second layer of the upper DADSR knobs, to control finetune, transpose, arpeggio speed, portamento and pulsewidth. Especially portamento (slide) and pulsewidth are important parameters which should be tweaked live in order to get a lively sound. So, you don't need seperate knobs, just press the Ctrl (layer select) button (I miss it at your panel). You may also want to add a OSC button, because each oscillator has it's own parameter set. Of course, you could control all three at the same time, but setting them to different values makes more sense. I also don't know, why you've removed the Env Depth knob, IMHO it's important, too. In fact I strongly recomment to use the complete set of controls, otherwise you will miss something sooner or later. Things which could be omited are: waveform/sync/ring buttons/LEDs, modulation matrix, filter channels and type buttons/LEDs. If your box is only stuffed with a single SID, then you could omit the 4 SID select and Link button/LED. CC button could be useful if you would like to record parameter changes with a sequencer in order to automate changes. The edit button could get a different purpose in future. Best Regards, Thorsten.
  14. Die Pitchwheel Events deuten darauf hin, dass die ID immer noch auf ...0000 steht, und somit die falsche Baudrate selektiert ist. So wird es auch mit der change_id Applikation nicht funktionieren (denn die muesstest man ja mit der richtigen Baudrate aufladen). Das ID Feld kann man auch direkt im .hex File patchen, sie befindet sich in dieser Zeile: :080000000000000000000000F8 Mit: :080000000000000000000100F7 erhaelst Du die ID ..00100 fuer to-COM Baudrate (das letzte Byte ist die Checksumme). Falls Dein Brenner die ID ueberhaupt nicht bearbeitet, hilft nur noch dieses Package: http://www.ucapps.de/mios/mios_bootstrap_picstart_workaround_v1.zip (einfach die Anweisungen im main.asm File befolgen) Gruss, Thorsten.
  15. I would like it, but I've no idea how to extent the profile :-/ Best Regards, Thorsten.
  16. TK.

    NRPN->CC

    Hi Jesper, I think that the main challenge is to learn the MIDI codes, and the usage of hexadecimal numbers. Here is the example: http://www.ucapps.de/mios_c_nrpn_to_cc.html Have fun :) Best Regards, Thorsten.
  17. Hi, you don't need to program this in assembler, you only need to assign the appr. event to the pot entry, e.g. within a .ini file (-> see mk_syx script), or with Serge's MB64 editor (-> http://miostools.midibox.org)) Best Regards, Thorsten.
  18. here you can find a nice tutorial for LCDs: http://www.avishowtech.com/midibox/wiki/index.php?pagename=HowToConnectLCD Best Regards, Thorsten.
  19. I'm sure that it will work with MIDI Yoke, because I've tested this on many computers in the meantime Best Regards, Thorsten.
  20. The selection buttons for each (visible) menu item are required, there is no alternative option for incrementing/decrementing the selection. It's even not done with a small software change, since there are pages which require the buttons, like the name edit page: For MBSID-D the selection buttons have a different purpose in the main screen (select drumkit, instrument, MIDI channel), and it could be that I will optimize the main screen of the common MBSID release, too - it would be too bad, if you wouldn't be able to get use of new features, just because you decided to realize a different menu interface... Best Regards, Thorsten.
  21. I've added the MIDI clock sync feature for LFO and EG (I forgot to mention this... it will be the same code like for MBSID/MBFM) Yes, the PIC18F4620 is pin compatible, it's a really nice replacement for the PIC18F452 if the EUSART would work properly. Best Regards, Thorsten.
  22. This time I'm asking for help ;-) I would like to know, how a slide/portamento function could be realized, which has a constant time, independent from the distance between the source and target frequency. At this page http://www.tb-303.org/info/history.asp it is stated, that the TB303 offers this feature, but I've no idea how to implement this properly in software. The portamento function of MIDIbox SID and FM is realized in the following way: "current_frequency * rate_factor" will be added to the current frequency value on each update cycle, until the target frequency is reached. This works well, but the sweep time between two notes is not constant. So, what is the trick? Varying the rate depending on the frequency difference? Based on which formula? The frequency curve of the SID is not linear, this propably has to be taken into account... :-/ Best Regards, Thorsten.
  23. Hi Michel, interpolation: this shouldn't be a big problem, I already added this to the filter output of MIDIbox SID, the code works with pointers, is very fast and therefore reusable for multiple channels. I'm not sure about the memory consumption for all these features (haven't spent much thoughts on this yet), but on the other hand: if this should be a problem, it's maybe worth to switch to the PIC18F4620 (the one with the EUSART bug), because the MIDI Output won't be used very often anyhow, so that sporatic failures are ignorable. This chip has the advantage, that I wouldn't need to spend 75% of the time to optimize data structures and code, so that they fit into memory. Instead I could concentrate on the real work (this is no final statement, first I will try to bring this into the PIC18F452) I will start with the first experiments once I got the rsf Kobol Expander from a friend - this thingy definitely needs some additional modulation sources :) Best Regards, Thorsten.
  24. See also those nice christmas lights :) Pay will add some more infos below 1) 2) 3) 4) 5) 6) 7)
  25. Does the DX27 support a "wavetable sequencer" (for sequencing CC parameters) and analog CV outputs for controlling external filters, etc.? Best Regards, Thorsten.
×
×
  • Create New...