-
Posts
15,261 -
Joined
Content Type
Profiles
Forums
Blogs
Gallery
Everything posted by TK.
-
Fuer die BLM16x16+X benoetigt man auf alle Faelle einen zweiten Core, der dann via MIDI mit der MBSEQ kommuniziert. Du kannst den PIC (und auch die MBHP_CORE Platine) von deinem V3 Sequenzer wiederverwenden. Ja richtig! Gruss, Thorsten.
-
All 8 available inputs could be provided as modulation matrix source. This would allow to apply mathematical operations (even between multiple pins or other sources such as LFO/ENV), before the value is forwarded to a modulation target. Best Regards, Thorsten.
-
Ja, der Kontrast ist schon ziemlich genial! :) Die SSD1306 basierenden OLEDs, die es gerade bei EBay gibt, kann ich uebrigens nicht weiterempfehlen. Es fehlt die Traegerplatine mit den zusaetzlichen Komponenten fuer den DCDC, ausserdem sind die Kontakte auf der Folie (erfahrungsgemaess) ohne fertige Leiterplatte schwer zu verloeten. Ich habe die DIY-tauglichen OLEDs bei Taobao gekauft: http://item.taobao.com/item.htm?id=6239945991 Und zwar via Yoybuy: http://www.yoybuy.com Kostenpunkt: ca. 5 EUR pro Display, insgesamt inkl. Versand- und Handlingkosten 30 EUR fuer 5 OLEDs Das kleine Paeckchen wurde wohl beim Zoll vorbeigewinkt und landete nach ca. einem Monat direkt in meinem Briefkasten (keine zusaetzlichen Kosten :)) Gruss, Thorsten.
-
argh - just noticed that you are the guy who developed this great PCB! :) Hm.... it will definitely be difficult to find a good solution. :-/ Maybe patching MIOS would help? You could change the direction of all DOUT registers in MIOS32_SRIO_Loop: [tt] MIOS_SRIO_Loop btfsc MIOS_SRIO_PORT_DIN, MIOS_SRIO_PIN_DIN bsf IRQ_TMP5, 7 bsf MIOS_SRIO_LAT_DOUT, MIOS_SRIO_PIN_DOUT btfss INDF2, 7 bcf MIOS_SRIO_LAT_DOUT, MIOS_SRIO_PIN_DOUT btfss MIOS_SRIO_PORT_DIN, MIOS_SRIO_PIN_DIN bcf IRQ_TMP5, 7 bsf MIOS_SRIO_LAT_SCLK, MIOS_SRIO_PIN_SCLK nop btfsc MIOS_SRIO_PORT_DIN, MIOS_SRIO_PIN_DIN bsf IRQ_TMP5, 6 bcf MIOS_SRIO_LAT_SCLK, MIOS_SRIO_PIN_SCLK bsf MIOS_SRIO_LAT_DOUT, MIOS_SRIO_PIN_DOUT btfss INDF2, 6 bcf MIOS_SRIO_LAT_DOUT, MIOS_SRIO_PIN_DOUT btfss MIOS_SRIO_PORT_DIN, MIOS_SRIO_PIN_DIN bcf IRQ_TMP5, 6 bsf MIOS_SRIO_LAT_SCLK, MIOS_SRIO_PIN_SCLK nop btfsc MIOS_SRIO_PORT_DIN, MIOS_SRIO_PIN_DIN bsf IRQ_TMP5, 5 bcf MIOS_SRIO_LAT_SCLK, MIOS_SRIO_PIN_SCLK bsf MIOS_SRIO_LAT_DOUT, MIOS_SRIO_PIN_DOUT btfss INDF2, 5 bcf MIOS_SRIO_LAT_DOUT, MIOS_SRIO_PIN_DOUT btfss MIOS_SRIO_PORT_DIN, MIOS_SRIO_PIN_DIN bcf IRQ_TMP5, 5 bsf MIOS_SRIO_LAT_SCLK, MIOS_SRIO_PIN_SCLK nop btfsc MIOS_SRIO_PORT_DIN, MIOS_SRIO_PIN_DIN bsf IRQ_TMP5, 4 bcf MIOS_SRIO_LAT_SCLK, MIOS_SRIO_PIN_SCLK bsf MIOS_SRIO_LAT_DOUT, MIOS_SRIO_PIN_DOUT btfss INDF2, 4 bcf MIOS_SRIO_LAT_DOUT, MIOS_SRIO_PIN_DOUT btfss MIOS_SRIO_PORT_DIN, MIOS_SRIO_PIN_DIN bcf IRQ_TMP5, 4 bsf MIOS_SRIO_LAT_SCLK, MIOS_SRIO_PIN_SCLK nop btfsc MIOS_SRIO_PORT_DIN, MIOS_SRIO_PIN_DIN bsf IRQ_TMP5, 3 bcf MIOS_SRIO_LAT_SCLK, MIOS_SRIO_PIN_SCLK bsf MIOS_SRIO_LAT_DOUT, MIOS_SRIO_PIN_DOUT btfss INDF2, 3 bcf MIOS_SRIO_LAT_DOUT, MIOS_SRIO_PIN_DOUT btfss MIOS_SRIO_PORT_DIN, MIOS_SRIO_PIN_DIN bcf IRQ_TMP5, 3 bsf MIOS_SRIO_LAT_SCLK, MIOS_SRIO_PIN_SCLK nop btfsc MIOS_SRIO_PORT_DIN, MIOS_SRIO_PIN_DIN bsf IRQ_TMP5, 2 bcf MIOS_SRIO_LAT_SCLK, MIOS_SRIO_PIN_SCLK bsf MIOS_SRIO_LAT_DOUT, MIOS_SRIO_PIN_DOUT btfss INDF2, 2 bcf MIOS_SRIO_LAT_DOUT, MIOS_SRIO_PIN_DOUT btfss MIOS_SRIO_PORT_DIN, MIOS_SRIO_PIN_DIN bcf IRQ_TMP5, 2 bsf MIOS_SRIO_LAT_SCLK, MIOS_SRIO_PIN_SCLK nop btfsc MIOS_SRIO_PORT_DIN, MIOS_SRIO_PIN_DIN bsf IRQ_TMP5, 1 bcf MIOS_SRIO_LAT_SCLK, MIOS_SRIO_PIN_SCLK bsf MIOS_SRIO_LAT_DOUT, MIOS_SRIO_PIN_DOUT btfss INDF2, 1 bcf MIOS_SRIO_LAT_DOUT, MIOS_SRIO_PIN_DOUT btfss MIOS_SRIO_PORT_DIN, MIOS_SRIO_PIN_DIN bcf IRQ_TMP5, 1 bsf MIOS_SRIO_LAT_SCLK, MIOS_SRIO_PIN_SCLK nop btfsc MIOS_SRIO_PORT_DIN, MIOS_SRIO_PIN_DIN bsf IRQ_TMP5, 0 bcf MIOS_SRIO_LAT_SCLK, MIOS_SRIO_PIN_SCLK bsf MIOS_SRIO_LAT_DOUT, MIOS_SRIO_PIN_DOUT btfss INDF2, 0 bcf MIOS_SRIO_LAT_DOUT, MIOS_SRIO_PIN_DOUT btfss MIOS_SRIO_PORT_DIN, MIOS_SRIO_PIN_DIN bcf IRQ_TMP5, 0 bsf MIOS_SRIO_LAT_SCLK, MIOS_SRIO_PIN_SCLK nop [/tt] The bold lines mark the code which has to be changed - instead of counting INDF2 from 0 to 7, it's addressed from 7 to 0 in this modification. All LED assignments have to be adapted thereafter, direct (8-bit) SR Writes will be mirrored (as you want) Best Regards, Thorsten.
-
Swapping bits within a byte is very time consuming, it will definitely affect the sequencer timings. Don't to this, fix the hardware instead! Best Regards, Thorsten.
-
Nice solution - it seems to be portable to embedded systems. But still not a "weekend project" for myself - maybe for somebody else? Best Regards, Thorsten.
-
Kleine Inspiration fuer die LCD Option: Gruss, Thorsten.
-
confused... let me meditate about this issue ;) Best Regards, Thorsten.
-
The MBHP_CORE_LPC17 would be powerful enough to handle speech synthesis by itself - in background (because it wouldn't really time consuming work @ 120 MHz...) It even supports a I2S output for an audio DAC at 48 kHz (stereo) Problem: I don't know free (open source) code for such a synthesis, and developing it wouldn't be a task of one evening... Best Regards, Thorsten.
-
Thanks for the feedback! :) It's always nice to read that somebody experienced that the MBSID engine is doing "a bit more" than just forwarding MIDI events to SID registers. :) Best Regards, Thorsten.
-
no, analog pots can only be used for the "assign" layer, there is no way to map them to other sections of the CS. The firmware already scans all 8 inputs, the the remaining 3 values are not forwarded to any parameter yet. I could forward them to the remaining 3 knob functions (which are normaly used for velocity/aftertouch and pitchbender), but I'm not sure if this is really what you want... Adding another mapping would be too time consuming work for me (not only the programming, but also finding a perfect solution which fits to future requests, enhancing documentation, answering future questions about this feature like this one...) Best Regards, Thorsten.
-
The adaption was successfull: it's possible to send data to SpeakJet w/o problems, and Audiocommander's application is running fine under MIOS32: http://svnmios.midibox.org/listing.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Fsynthesizers%2Fmidibox_sj_v2%2F&rev=0&sc=0 More details about the (really simple!) circuit tomorrow. Best Regards, Thorsten.
-
sammichFM output connected to sammichSID input both MIDIboxes assigned to the same MIDI channel sammichSID: oscillators turned off, EXT on, stereo filter modulation perhaps it's worth a demo :w00t: Best Regards, Thorsten.
-
I would propose following SysEx checks on the GM5 module: 1) bridge J5:I1 to J5:O1 with a jumper or a small wire. This will create a loopback at TTL level Open MIOS Studio, select the first IN/OUT port - a feedback loop should be detected: http://www.ucapps.de/mios_studio/mios_studio_feedback.png Now test SysEx transfers by typing some arbitrary strings into the MIOS terminal input window as shown here: http://www.ucapps.de/mios_studio/mios_studio_feedback_sysex.png Does this work? Yes: 2) do the same test, but with a loopback via the MIDI IN/OUT socket (remove the jumper at J5) Does this work? Yes: 3) turn-off your MBSID and connect the MIDI cables. In MIOS Studio: select the .hex file and press the START button. You will get a notification that no response from the core has been received (of course, it isn't powered...) Now turn on your MBSID - the upload should be automatically started via 1st level bootloader. This method is a fallback solution which should always work, even if the application is crashing. Best Regards, Thorsten.
-
yes, no problem. I will post schematics which make possible (minimized) variants more clear once SpeakJet has been tested Best Regards, Thorsten.
-
Is there any of the 8 J5 input pins which isn't connected? -> it should be connected to ground (Vs) See also: http://www.ucapps.de/mbhp/auaimbctg.pdf Best Regards, Thorsten.
-
Finally I was able to reproduce the issue! :) Previously I used MBSEQ in drum mode (or a MIDI keyboard) to play the drums. MBSEQ plays the notes with 75% of the step length, with a MIDI keyboard the note length typically isn't shorter than 10..20 mS Today I used normal play mode instead, and came to the idea to vary the gatelength. It turned out, that drum triggeres were sporadically missing with minimum gatelength (where MIDI Note On/Off are sent back-to-back). So, the root cause is totally clear: in such a scenario MBFM set and cleared the gate before updating the OPL3 register -> no drum played. It was sporadically played if there was a small gap between Note On and Off command. However, I noticed that for OPL3 it doesn't matter how long the gate flags are set, the drum instrument is always played with the same envelope. Therefore I changed the handling from "gate" to "trigger" flags, and now it seems to work stable. Please try midibox_fm_v1_4c Best Regards, Thorsten.
-
sorry, no video... but: TK haz sammich :) Best Regards, Thorsten.
-
I would prefer standard MIDI to avoid DAW version dependencies (I've no Ableton Live installation anyhow and would have to install a demo version) Best Regards, Thorsten.
-
My base board is up&running, and I'm ready to test the "critical sequence". Could you please create a MIDI (.mid) file which causes the failures at your side, so that I'm able to reproduce this under the same conditions? Best Regards, Thorsten.
-
You don't need the complete board, just buy a LPCXPRESSO from Embedded Artists (for 20 EUR + shipping, delivery within two days), and solder it on a veroboard together with the SpeakJet, the 3.3V voltage regulator circuit and a USB socket (optionally also a MagJack and MIDI IN/OUT) See also http://www.ucapps.de/mbhp/mbhp_core_lpc17.pdf for a "full featured" board, but as mentioned: you don't need the whole circuit to get it running. :) yes, it will also run on a STM32 core thanks to the MIOS32 hardware abstraction layer :) But using the LPCXPRESSO is the best (and cheapest) solution. Best Regards, Thorsten.
-
You could use Rutger's Editor to assign the knobs w/o a control surface: Modulation Wheel is assigned to first AIN CC#16 is assigned to second AIN CC#17 is assigned to third AIN CC#18 is assigned to fourth AIN CC#19 is assigned to fitth AIN Best Regards, Thorsten.
-
Hi Chriss, interesting project, please keep us updated! :) I added following flags to the setup_*.asm file (code can be found in sid_se.inc) ;; filter flags supported by all engines #define DEFAULT_FILTER_LP_L_OUT 0 #define DEFAULT_FILTER_BP_L_OUT 0 #define DEFAULT_FILTER_HP_L_OUT 0 #define DEFAULT_FILTER_LP_R_OUT 0 #define DEFAULT_FILTER_BP_R_OUT 0 #define DEFAULT_FILTER_HP_R_OUT 0 #define DEFAULT_FILTER_O1_L_OUT 0 #define DEFAULT_FILTER_O2_L_OUT 0 #define DEFAULT_FILTER_O3_L_OUT 0 #define DEFAULT_FILTER_EXTIN_L_OUT 0 #define DEFAULT_FILTER_O1_R_OUT 0 #define DEFAULT_FILTER_O2_R_OUT 0 #define DEFAULT_FILTER_O3_R_OUT 0 #define DEFAULT_FILTER_EXTIN_R_OUT 0 ;; selected waveform supported by all engines #define DEFAULT_WAVE_O1_L_TRI 0 #define DEFAULT_WAVE_O1_L_SAW 0 #define DEFAULT_WAVE_O1_L_PULSE 0 #define DEFAULT_WAVE_O1_L_NOISE 0 #define DEFAULT_WAVE_O2_L_TRI 0 #define DEFAULT_WAVE_O2_L_SAW 0 #define DEFAULT_WAVE_O2_L_PULSE 0 #define DEFAULT_WAVE_O2_L_NOISE 0 #define DEFAULT_WAVE_O3_L_TRI 0 #define DEFAULT_WAVE_O3_L_SAW 0 #define DEFAULT_WAVE_O3_L_PULSE 0 #define DEFAULT_WAVE_O3_L_NOISE 0 #define DEFAULT_WAVE_O1_R_TRI 0 #define DEFAULT_WAVE_O1_R_SAW 0 #define DEFAULT_WAVE_O1_R_PULSE 0 #define DEFAULT_WAVE_O1_R_NOISE 0 #define DEFAULT_WAVE_O2_R_TRI 0 #define DEFAULT_WAVE_O2_R_SAW 0 #define DEFAULT_WAVE_O2_R_PULSE 0 #define DEFAULT_WAVE_O2_R_NOISE 0 #define DEFAULT_WAVE_O3_R_TRI 0 #define DEFAULT_WAVE_O3_R_SAW 0 #define DEFAULT_WAVE_O3_R_PULSE 0 #define DEFAULT_WAVE_O3_R_NOISE 0 [/code] Code changes are not released yet, but can be found in the repository: http://svnmios.midibox.org/listing.php?repname=svn.mios&path=%2Ftrunk%2Fapps%2Fsynthesizers%2Fmidibox_sid_v2%2F&rev=0&sc=0 Best Regards, Thorsten.
-
no, sid2midi only tries to extract notes (and note lengths + modulations), but it doesn't analyze the sounds. No, the ASID play mode itself doesn't process the content of a .sid file, it receives SID register changes from the host (running on your Mac/PC) and forwards them to the SID chips - nothing else. Best Regards, Thorsten.
-
dort trifft sich das elitaere gesocks ;-) Gruss, Thorsten.
