Jump to content

TK.

Administrators
  • Posts

    15,193
  • Joined

Everything posted by TK.

  1. Here a short summary which should answer all your questions :) The interaction between the control surface and the external SID cores will happen over common MIDI connections. Every core gets it's one device number, so that up to 16 cores can be accessed. It will be a one-way connection between MIDI OUT of the control surface and the MIDI INs of the other cores. The MIDI OUTs of the external cores will not be used, since every slave is under direct control of the master core. The SysEx commands which are necessary for this configuration have been introduced in firmware release v1.4 and they are already used by the Java editor - it's possible to send a whole sound patch to the EEPROM in between 100 mS (F0 00 00 7E 46 <device-number> 02 <patch-number> <256 bytes of dump data> F7), and to directly change parameters of the dump without writing it into the EEPROM in between 2 mS (F0 00 00 7E 46 <device-number> 06 AH AL <value> F7). The SID module which is connected directly to the control surface will be handled as virtual MIDI device (or in other words: as a VSTi ;-)) so that you don't see a difference between externaly and internaly controlled SID When you select between different SIDs with the appr. button, you just select the device number... The BankStick which is attached to the control surface stores sound patches for all SIDs. It will be possible to select different patches for several SIDs. When you select a sound patch for an external SID, it will be transfered in between 100 mS to the selected SID. Maybe it will also be possible to access up to 8 BankSticks from the surface, since I noticed that the Microchip EEPROMs offer 3 chip select lines (= 8 addresses) It will also be possible to use the surface as common MIDI controller for VST instruments or whatever since there is no difference between controlling a SID slave core or any other MIDI device. Just assign your favourite MIDI events to the "assign" banks in the OSC and ENV section... I think that more than one assignable bank can be realized on the following way: hold the assign button and select one of 5 banks with the buttons below the LCD, or select it with the jog-wheel beside of the LCD. Some words to the playing modes: Single every SID will get it's own sound patch and can be assigned to the same or to different MIDI channels. Unisono also known as phat mode ;-) --- all SIDs are assigned to the same MIDI channel and will play an identical sound. Only the finetune value will be different, which results into fat leads Split SIDs will be controlled over the same MIDI channel, but will get different sections on the keyboard, so that you can i.e. play different percussion sounds on one channel or play a bass and a lead sound with two hands About variations (i.E. low-cost versions, different displays or whatever): the final surface will already be very flexible, so that it can be used with different button, LED, LCD and encoder configurations. It's planned to publish the source code for the "surface control handler" in form of a MIDIbox NG PlugIn, which can be modified for own requirements and can be uploaded over MIDI. On this way you can customize the whole surface also for other applications. I.e, it can be quickly turned to a completely different controller for a different instrument in between 1 minute :) Best Regards, Thorsten.
  2. Unter diesen Umstaenden wuerde ich auf LED-Digits nicht verzichten. Dazu benoetigst Du keine einzelnen LEDs, es gibt die Digits auch fix und fertig bei Reichelt zu kaufen: SA_08-11_rt Das MTC-Beispiel unter Concept->Test Programs mag zwar kompliziert aussehen, im Grunde laesst es sich aber Plug-and-Play maessig integrieren. Mit dem PIC18F wird wie gesagt alles einfacher und kompakter; fuer diese Plattform werde ich Beispiele bereitstellen, die auf dem "MIOS" basieren (ein selbstgebasteltes Betriebssystem, das die grundsaetzlichen Verwaltungsaufgaben fuer MIDI-Anwendungen uebernimmt). Uebrig bleibt dann im Grunde nur noch die Codierungstabelle fuer die LEDs unter contab_l.inc. Die Digits koennen dann jederzeit mit einfachen Registerzugriffen beschrieben werden: movlw 0x01 movwf LED_DIGIT0 movlw 0x02 movwf LED_DIGIT1 movlw 0x03 movwf LED_DIGIT2 movlw 0x04 movwf LED_DIGIT3 den Rest uebernimmt das Betriebsystem. Einfacher geht es dann glaube ich nicht mehr. ;-) Gruss, Thorsten.
  3. Hi, yes, Windows XP requires the win2000 driver as far as I know, otherwise the access to the serial interface is too slow, so that the C-charging unit of JDM (than faster the pulse, than higher the voltage) cannot be "pumped" to the required voltage levels. Best Regards, Thorsten.
  4. Thanks for the input, I've added the link to the list. However, it seems that Schuricht still offers the best prices for encoders in small quantities, although the other components in the online shop are expensive compared to Reichelt (but Reichelt has no encoders, hrmpf :-/) It seems that I'm able to order there, I just wrote them that I'm a freelancer (although I've no business...) and they granted my request ;-) Best Regards, Thorsten.
  5. TK.

    Pitch bender

    Sounds interesting - the handling would be similar to a jog wheel known from videorecorders (e.g.). Such a feature could be realized with a Meta event (requires programming skills and a MIDIbox of course ;-)) Best Regards, Thorsten.
  6. The files can now be found here: http://www.ucapps.de/tmp/mbsid_19inch_Control_Surface_NorthernLight.gif http://www.ucapps.de/tmp/mbsid_19inch_Control_Surface_NorthernLight.fpd a nice solution for a bigger panel :) Best Regards, Thorsten.
  7. I've changed the layout again after I got a suggestion for the parameter structure on the display by Jan aka Captain Hastings. It makes sense to display 5 parameters in a row according the number of encoders in the OSC and ENV section. It possibly also makes sense to provide a minimal version with 5 encoders instead of buttons below the display. I've also added a new option for the multi-SID solution: "Single", "Unison" and "Split". The new .fpd file can be found here: http://www.ucapps.de/tmp/mbsid3.fpd For those who are interested: feel free to make your own modifications and introduce them here! :) Best Regards, Thorsten.
  8. Ian: I don't want to support ports, because this would decrease the ergonomic handling. It's very important that you can switch between different oscillators, SIDs, etc. without readjusting the pots. However, rotary encoders are not much more expensive, and the LED rings can be left out, because when you turn on an encoder, the value will also be displayed by the LCD. SID release V1.4 LCD support: it shows the bank name, patch number, MIDI channel and device number - nothing else... ;-) Ilmentator: It's a great idea just to re-use the C64 case. I've experimented a little with an old C64-I, here the result: Btw.: as you can see the features are not frozen, and the panel doesn't include all the necessary screw holes yet. Therefore the following .fpd file is only for your own first experiments: http://www.ucapps.de/tmp/mbsid2.fpd There are a lot of expensive engraving elements at the panel, which I will remove for my final order - I will just add the labels with a foil or something else. Best Regards, Thorsten.
  9. TK.

    Platinenlayout Fragen

    Ich bin mir nicht sicher, ob jemand das erweiterte Layout jemals ausprobiert hat, jedenfalls habe ich noch keine Klagen gehoert ;-) Ab naechste Woche wird es uebrigens ein fertiges PCB in Mikes Shop zu kaufen geben. Der Preis liegt bei ca. 7 Euro... falls Du also auf Nummer sicher gehen moechtest, waere das evtl. eine Alternative. Gruss, Thorsten.
  10. Did you try to contact the distributor of Alps in Milano? http://www.eccabacus.it/ Best Regards, Thorsten.
  11. Correct - I would also build this simple circuit on a vector board, and with the upcoming v1.910 release the performance of MIDIbox Plus is exactly the same like for the MBHP based designs (the preliminary firmware is already available by request). Btw.: the schematic is perfect now :) Best Regards, Thorsten.
  12. Thanks again for the applause - for myself it's the same, I can't wait to see all those LEDs flashing and to get a much better control over my SIDs :) But I won't be able to begin with the surface before february, since the MIDIbox LC/NG has a higher priority (I will receive the panel possibly next week). I also haven't found a nice case yet (dimensions are 25 cm x 20 cm, resp. 10" x 8"), and finally my holidays are over and a lot of work is waiting in the office... :P Yes, the control surface will only be available for the PIC18F core, because the application requires a lot of text data for a detailed menu structure which doesn't fit into the memory of a 16F877. Since the price of a PIC18F is nearly the same, this should be ok. The surface can control one SID module directly, each additional SID requires an own core (PIC16F or PIC18F...) LCD: I'm not sure if I will use a 16x2 or 20x2 - I will decide this when I start with the menu handler Best Regards, Thorsten.
  13. Oh god, so much feedback for a work of three hours :o :D Christoffer: it seems that your MIDI interface isn't multi client capable - so the best solution: just use "Hubis feedback cable" (freeware -> web) which allows you to create virtual connections between multiple MIDI devices. I used this really usefull tool many years before I bought a newer MIDI interface - hopefully it still works with newer Windows versions... After the tool has been installed, you've 4 additional MIDI IN/OUTs. First you should remove the hardware MIDI device in your \windows\win.ini file; [logic] section. Logic should only use the virtual OUT ports. The JSynth editor should use another virtual OUT port. Now you can create virtual connections between the two virtual OUT ports and your physical OUT port with two "feedback cable" instances. It's a little bit tricky, but it works! :) And if it doesn't: "MIDI Yoke" in conjunction with MIDI-Ox should do the same Ian: oh, you are right. It's a good idea to add some simple button functions. Which could be usefull... I think one button for "dec", another for "inc", a button for storing patches and two others which allow to select the MIDI channel and the MIDI device number. Ok - I will support one DIN register with the next release. Maniac: let us know about the offer from the distributor in Poland! If the offer is good, we could maybe start a centralized order, because currently a lot of people are searching for encoders. Concerning the number of required encoders - since this is really a FAQ and I don't want to give imprecise answers to this issue anymore, I've started to design a frontpanel for my surface: So as you can see: 16 encoders are required. Btw.: not all parameters are controlled by encoders and buttons, some are only accessible with the button/jog wheel combination at the right corner. Btw2: all parameters will be accessible over the 4 buttons and the jog-wheel. So for people who don't want to create a big (and expensive) surface, this will be the low-cost solution. It's also be a nice solution for a low-cost 19" rack version :) Btw3: it's also possible just to left out some sections - not everybody wants this big modulation matrix Btw4: the purpose of the "assign" controllers is to assign them to internal or external (-> MIDI controller) functions. Btw5: SID 1/2/3/4 means that it is possible to control a lot of SIDs from this panel Btw6: the frontpanel design is preliminary Btw7: big thanks to NothernLight who gave me a lot of inspirations for this design! Best Regards, Thorsten.
  14. Hi Roman, from my experience pseudo protocol structures like known from commercial controllers don't offer the flexibility like the simple Meta events concept. With the Plug-In capability (code can be downloaded via MIDI) updates of Meta events will be easier than ever before and therefore I will stay by this method. In other words: yes, will be supported - (really) any MIDI event strings will be programmable. Best Regards, Thorsten.
  15. Patches can now be saved into a BankStick Program Change command switches between the 128 patches of a BankStick Beside of Mono and Poly also a Legato mode is available now Minimal support for a LCD - patch name, program number, MIDI channel and device number are displayed 50 example sound patches are available now new release of JSynthLib editor Firmware: http://www.ucapps.de/midibox_sid/midibox_sid_v1.4.zip JSynthLib: http://www.midibox.org/midibox_sid/jsynth_017_with_mbsid_rel4.zip Sounds: http://www.ucapps.de/midibox_sid/example_patches_v4.zip Have fun! :) Best Regards, Thorsten.
  16. Ja, sieht soweit in Ordnung aus. Die Buttons kannst Du wie gesagt auch direkt an die freien Pins (mindestens 10) anschliessen. Tip zum Bestellen bei Reichelt: 10k und 220 Ohm Widerstaende am besten im 100ter Pack bestellen, dann gibt es Rabat. Ausserdem kann man gerade in der Digitaltechnik diese Widerstaende immer mal gebrauchen (z.B als Pull-Up oder Serienwiderstand) Taster: ich wuerde den Typ "DT_6" nehmen, den muesstest Du aber auf einer Lochrasterplatine aufloeten und diese dann intern ueber einen Winkel befestigen. Deshalb: am besten auch gleich 1-2 Lochrasterplatinen mitbestellen (H25PR200) Gruss, Thorsten.
  17. Very mysterious, but alright :-/ Best Regards, Thorsten.
  18. Yes, everything is perfect! The reason why there are different components on the new board is that I'm trying to unify all MIDIbox designs in order to avoid any confusion :-) Is it clear now how the 7805 has to be connected? I refered to the layout because it shows the pinning of the 7805: I (input side), _ (ground), O (output/+5V side) Important hint: use sockets! Solder all components to the board but don't put the PIC, 4051 and optocoupler into the socket so long as you ensured (with a multimeter or something else) that the voltage level behind the 7805 is +5V. If this is ensured, you can put the ICs into the sockets without danger Best Regards, Thorsten.
  19. The output protocol of such encoders is mostly a gray code which ensures that the rotation direction can be determined with an higher count of pulses per revolution. So the only way is to decode this code with the PIC. A nice Plug-In for the MIDIbox NG ;-) Best Regards, Thorsten.
  20. Servus - leider ist das erstmal nur die Leiterplatte, die restlichen Bauteile kaufst Du Dir am besten bei Reichelt. Wenn ich es richtig in Erinnerung habe, kosten sie nochmal zusaetzlich ca. 15 EUR, hinzu kommen dann noch die Potis und Taster (ca. 8 EUR). Der PIC muss dann auch noch programmiert werden, das koennte ich dann aber fuer Dich uebernehmen (kostenloser Programmierservice...) Wenn ich das neue Board erstmal getestet habe, wird es genauso wie bei der MBHP Fotos und eine Reichelt-Bestelliste geben, damit wird dann alles transparenter... Gruss, Thorsten.
  21. TK.

    a few more q's

    Hi Dan, double sided boards are suboptimal, since a second layout mask for the upper side is absolutely required in order to prevent short circuits around the drill holes! So, either you should remove (etch) the whole copper plane of the upper side, or you could modify the top layers of the eagle files so that they replace the required bridges (but the effort is higher than just soldering the bridges) The MIDI chains are ok so long as your controller keyboard comes with an internal MIDI merger function (hopefully...), otherwise the MIDI data coming from the PC MIDI port will not be forwarded to the MIDIboxes - however, this is only required for SysEx configuration and for the case that you plan to use the soft-overtake feature. The SID should be directly connected to the Thru port of your MIDI controller keyboard for the lowest latency. The parameters can be controlled on this way: MB64 > PC MIDI IN > MIDI-OX Thru Function > PC MIDI Out > KB Thru > SID - on this way also the JSynth editor can be used in parallel A two-way connection to the SID isn't required unless you plan to read out the BankStick LEDs with higher voltages should be ok, possibly you have to reduce the value of the 220 Ohm series resistor on the DOUT module if the LEDs are not bright enough. Best Regards, Thorsten.
  22. Yes - the NG design has one large DOUT and one DIN chain, each with up to 128 pins, and a definition table which allows to define the function of the pins. The chains will be served/updated every 500 uS so that they are (in addition to buttons/switches and LEDs) fast enough for encoders, LED rings, LED digits, etc. in mixed configurations - the reason why this flexibility is not provided by the 16F designs is the limited memory... Best Regards, Thorsten.
  23. Ok, the basics are ok. I've read your posting again. Possible problem with the analog inputs: check the interconnections between the multiplexer inputs of the AIN module (J6) and J6 of the core module. Buttons: check the clock signals between core and DIN module (they are called "SC" and "RC"), because when the register chain is not clocked, only the exec button input is reachable for the core and triggers the functions of the other 63 inputs (no, the navigation isn't disabled). Best Regards, Thorsten.
  24. Hallo Benjamin, Zu 1) ja, das Core Modul ist das Herz jeder MIDIbox, die restlichen Module sind Interfaces. Das LTC bietet keinen zusaetzlichen MIDI In/Out-Port so wie man es z.B von einer PC-Steckkarte erwarten wuerde, sondern bietet lediglich die Moeglichkeit, das Rx/Tx-Signal mit LEDs sichtbar zu machen, die Signale verstaerkt auf zusaetzliche MIDI-Buchsen zu geben und/oder die MIDI-Daten von einem RS232 Port zu beziehen. Das DIN-Modul ist der Standardweg um digitale Eingangssignale zu verarbeiten. Es gibt aber auch andere Moeglichkeiten, so koenntest Du beispielsweise die Taster aehnlich wie bei der MIDIbox Plus anschliessen (nach dem Multiplex-Verfahren). An welchen Pins Du die Tasten anschliesst, liegt an Dir, es waere z.B problemlos moeglich, die freien Analogen Pins (AN0-AN7) dafuer zu verwenden, per Multiplexing koennten so 16 Tasten abgefragt werden. Zu 2) Du moechtest die Daten nicht wirklich im RAM abspeichern, dort gehen sie naemlich nach dem Ausschalten verloren. Ich wuerde sie entweder im internen EEPROM abspeichern (hier stehen 256 bytes zur Verfuegung) oder im internen Flash (8192*14 bit, beim PIC18F452 16384*16 bit - der Flashspeicher kann "nur" ca. 100000 mal ueberschrieben werden, aber das sollte hier nicht weiter stoeren) ablegen. Oder gleich in einem externen EEPROM (also in einem "BankStick), was fuer Deine Anwendung die perfekte Loesung waere, weil Du auf diese Weise z.B fuer jede Performance einen eigenen Stick vorbereiten koenntest, und den Stick sogar extern gegen Ueberschreiben schuetzen koenntest, sodass die Daten nicht ungewollt geloescht werden. Btw. gleich noch ein weiterer Hinweis: nimm unbedingt einen PIC18F452. Ich habe fuer diesen Chip zwar noch keine Beispiele vorbereitet, aber er laesst sich wesentlich einfacher programmieren, weil der Speicher nicht mehr fragmentiert ist. Ausserdem kostet er nicht viel mehr als ein PIC16F877 (ca. 10 Euro). Und noch ein Geheimtip: bei Microchip kann man sich kostenlose Samples bestellen, die direkt ab Taiwan per Fedex-Versand verschickt werden und zwei Tage spaeter eintreffen. Auf diese Weise koenntest Du Dir auf die Schnelle 3 18F452 und 3 24LC256 beschaffen ;-) Zu 3) theoretisch ja, praktisch musst Du fuer speziellere Displays auch einen eigenen Treiber schreiben, moeglicherweise muesstest Du sogar fuer ein grosses LED-Display die gesamte Ansteuerung selbst uebernehmen (so wie beim MTC-Beispiel): das erfordert zusaetzlichen Hardware-Aufwand (DOUT Modul) Gruss, Thorsten.
×
×
  • Create New...