-
Posts
15,247 -
Joined
Content Type
Profiles
Forums
Blogs
Gallery
Everything posted by TK.
-
Ich bräuchte einen speziellen Sequenzer – sowas gibts bisher nicht
TK. replied to cd_reloaded's topic in Deutsch
Klaro! Gruss, Thorsten. -
Ich bräuchte einen speziellen Sequenzer – sowas gibts bisher nicht
TK. replied to cd_reloaded's topic in Deutsch
Hallo Christian, das ist mit der MBSEQ V4 problemlos machbar. Wenn Du das Gehaeuse baust und an einem Nachmittag vorbeibringst, konfiguriere ich Dir die Firmware und wir probieren die MIDIbox unter realistischen Bedingungen aus... :) Gruss, Thorsten. -
Just a short question: did you also check that the encoder pins don't touch the heatsinks of the baseboard? Best Regards, Thorsten.
-
Yes, just connect the module between the MIDI Out of your computer and the MIDI IN of the core which is running the (MIOS8 based) MBLC application. Enable the "MIDIbox Link Forwarding Point", so that events generated by the faders will be tunneled through the MBLC merger. Important: use the default operation mode of MBHP_MF_V3 (Pitchbender events received/sent on channel 1..8), don't enable the faked LC Emulation as this could confuse your DAW. Since MBHP_MF_V3 is a common MIOS8 application, it has to be programmed together with MIOS via MIDI. So: - you need a PIC18F452 with preburned MIOS8 Bootloader V1.2b - once you built the MBHP_MF_V3 module, upload MIOS V1.9g (see also http://www.ucapps.de/mios_bootstrap_newbies.html) - thereafter upload the MBHP_MF_V3 application - thereafter you can configure and test/calibrate the motorfaders with the MBHP_MF V3 tool which is part of MIOS Studio Code upload and configuration has to be done while MIDI IN/OUT of the MBHP_MF V3 are *directly* connected to your computer (the link via MBLC probably won't work) The configuration tool is already part of MIOS Studio 2.2.1 Link to MBHP_MF V3 application: http://www.ucapps.de/mios/mbhp_mf_v3_0.zip Again: the .hex file which is part of this package can't be burned with a PIC programmer, it can only be uploaded via MIDI. The PIC requires the common MIOS8 bootloader instead! Best Regards, Thorsten.
-
Beta41 is available: MIDIboxSEQ V4.0beta41 ~~~~~~~~~~~~~~~~~~~~~ o Global/Session bookmarks: the first 8 bookmarks are now stored in the root directory, the remaining 8 bookmarks in the session directory o hwcfg/wilba/MBSEQ_HW.V4: F1 button now assigned to bookmark page o added 16 dedicated bookmark buttons which can be assigned in MBSEQ_HW.V4 o Manual Trigger Request: now synchronized to next step o edit page in drum mode: parameter layer is displayed when parameter select button is pressed o added "RATOPC" (restart all tracks on pattern change) option to UTIL->Opt menu [/code] oshidash: the possibility to assign dedicated bookmark buttons makes the request for dedicated Fx buttons obsolete: now you can configure this as a bookmark by yourself Gridracer: due to various reasons it isn't possible to let parameter layer view enabled in drum mode (e.g. to avoid confusion if somebody changes from a common track to a drum track) - therefore the alternative solution to press&hold a parameter layer button Best Regards, Thorsten. P.S.: just for the case that this isn't obvious to you: you can import/export bookmarks from one to another session in the DISK page! :)
-
I see two potential misconfigurations: 1) you've selected a different MIDI_REMOTE_KEY in your MBSEQ_HW.V4 file 2) your Transposer/Arp bus settings filter out the remote key. Try: MENU->MIDI, let Transposer&Arp selected, let Bus 1 selected (but you could use any bus), ensure that Port/Chn/Lower/Upper are matching with the Port/Chn to which your keyboard sends data, and that the full Lower/Upper range is enabled Of course, I could provide an additional bus for MIDI Remote, but as you can see, this will make things even more complicated. Maybe I should just cancel this feature to simplify documentation ;-) -> this is the result of your (and others) requests... Best Regards, Thorsten.
-
I need to scan the SIO every 10us, can it be done?
TK. replied to jmayes's topic in MIOS programming (C)
Hi Jmayes, the SRIO clock frequency can be increased by configuring the J8/J9 pins for push-pull mode, and by using a 74HCT541 buffer as shown in this schematic: http://www.ucapps.de/mbhp/mbhp_core_lpc17.pdf Although this circuit is intended for the upcoming MBHP_CORE_LPC17 module, it will work for STM32 as well. Important: you have to add #define MIOS32_SRIO_OUTPUTS_OD 0 to your mios32_config.h file MIOS32_SRIO routines are located in mios32_srio.c MIOS32_SPI routines for STM32 are located in mios32_spi.c Best Regards, Thorsten. -
This isn't specified in the datasheet, but I think that the clock could also start later. This won't work, as the clock is used to generate the audio frequencies. The OPL3 has no inbuilt oscillator. Btw.: why are you asking? If you are planning to build a MBFM, the 14.318 MHz oscillator is required, otherwise the oscillator pitches won't be correctly tuned. Best Regards, Thorsten.
-
Adding some distortion would be simple as well ;) Yes, there are multiple possibilities: using one or more PWM outputs to generate the sound exactly on the same way like on SpeakJet (and other speech chips) using the inbuilt DAC - it has only a single channel at 10 bit resolution, available at pin J5A.A3 (P0.26) - the result should be more crunchy than on a SpeakJet ;) using an external I2C stereo DAC Maybe the first option isn't that bad, especially since it would allow to generate different sounds in parallel on multiple outputs to simplify the Fx chain Best Regards, Thorsten.
-
Share your bookmarks! (this phrase will increase the hits caused by google searches dramatically ;) It should be possible to split the bookmarks into local/global ones w/o much effort. Everybody ok with a 8 / 8 split? (it would work for me) Best Regards, Thorsten.
-
It works! :) MIDIboxSEQ V4.0beta40 ~~~~~~~~~~~~~~~~~~~~~ o added bookmark function: - Press MENU+SELECT to enter the bookmark page - Alternatively this function can be assigned to a dedicated button/LED - inside this menu, press a GP button (shortly) to recall a bookmark - press&hold a GP button for 3 seconds to store a bookmark o the bookmark function stores following UI settings: - Bookmark name - Current page - Group - Tracks - Mutes - Parameter Layer - Trigger Layer - Instrument - Step View - Step - Edit View - Solo/All/Fast/Metronome/Loop/Follow button mode o Bookmarks are stored into the MBSEQ_BM.V4 file, which can be edited with a common text editor. This is the only way to change a bookmark name (5 characters) o it's possible to prevent, that a certain UI parameter will be overwritten by a bookmark. This can (only) be done by editing the MBSEQ_BM.V4 file: Just replace the '+' sign at the beginning of the parameter name by a '-' sign. [/code] Typical configuration slot: [code] #################### Slot 1 Name Def. #################### +Page 16 +Group 1 +Tracks 1000000000000000 +Mutes 0000000000000000 +ParLayer A +TrgLayer A +Instrument 1 +StepView 1 +Step 1 +EditView 0 +Solo 0 +All 0 +Fast 0 +Metronome 0 +LoopMode 0 +FollowMode 0 For reference: the available Pages numbers for the case that you want to enter it directly: typedef enum { SEQ_UI_PAGE_NONE = 0, SEQ_UI_PAGE_MENU = 1, SEQ_UI_PAGE_FX = 2, SEQ_UI_PAGE_STEPSEL = 3, SEQ_UI_PAGE_TRGSEL = 4, SEQ_UI_PAGE_PARSEL = 5, SEQ_UI_PAGE_TRACKSEL = 6, SEQ_UI_PAGE_BPM_PRESETS = 7, SEQ_UI_PAGE_EDIT = 16, SEQ_UI_PAGE_MUTE = 17, SEQ_UI_PAGE_PMUTE = 18, SEQ_UI_PAGE_PATTERN = 19, SEQ_UI_PAGE_SONG = 20, SEQ_UI_PAGE_MIXER = 21, SEQ_UI_PAGE_TRKEVNT = 22, SEQ_UI_PAGE_TRKMODE = 23, SEQ_UI_PAGE_TRKDIR = 24, SEQ_UI_PAGE_TRKDIV = 25, SEQ_UI_PAGE_TRKLEN = 26, SEQ_UI_PAGE_TRKTRAN = 27, SEQ_UI_PAGE_TRKGRV = 28, SEQ_UI_PAGE_TRGASG = 29, SEQ_UI_PAGE_TRKMORPH = 30, SEQ_UI_PAGE_TRKRND = 31, SEQ_UI_PAGE_TRKREC = 32, SEQ_UI_PAGE_MANUAL = 33, SEQ_UI_PAGE_FX_ECHO = 34, SEQ_UI_PAGE_FX_HUMANIZE = 35, SEQ_UI_PAGE_FX_LIMIT = 36, SEQ_UI_PAGE_FX_LFO = 37, SEQ_UI_PAGE_FX_LOOP = 38, SEQ_UI_PAGE_FX_SCALE = 39, SEQ_UI_PAGE_UTIL = 40, SEQ_UI_PAGE_BPM = 41, SEQ_UI_PAGE_OPT = 42, SEQ_UI_PAGE_SAVE = 43, SEQ_UI_PAGE_METRONOME = 44, SEQ_UI_PAGE_MIDI = 45, SEQ_UI_PAGE_MIDIMON = 46, SEQ_UI_PAGE_SYSEX = 47, SEQ_UI_PAGE_CV = 48, SEQ_UI_PAGE_DISK = 49, SEQ_UI_PAGE_ETH = 50, SEQ_UI_PAGE_BOOKMARKS = 51, SEQ_UI_PAGE_INFO = 52, } seq_ui_page_t; [/code] Now it's time to configure my private bookmark file! (Stuart: your proposal for the feature name came at the right moment!) Open for discussion: should the MBSEQ_BM.V4 file be global, or part of a session? Best Regards, Thorsten.
-
The LPC17 is running *much* faster than an Arduino (although the LPCXPRESSO is cheaper), so that more complex algorithms can be used which should lead to higher audio quality. :) Best Regards, Thorsten.
-
A summary, open for discussion before the implementation (because some changes will partly affect the existing behaviour): (Echopraxia) MIDI panic function (TK: can be added to the MIDI menu) (Gridracer) drum mode: after a parameter layer change (e.g. Roll) the display shouldn't automatically go back to the trigger view after 2 seconds anymore. Instead a trigger layer button should be pressed to go back to the common drum trigger view. (Nik) optional shuffle for DIN sync out (Bonusplay) TK Proposal: add an option named "restart all tracks on pattern change" (short: RATOPC ;-), in combination with the "synchronized pattern change" function (e.g. to 24 steps) this will solve your scenario. If "synchronized pattern change" is disabled, this option will result into interesting effects (Nuke) synchronize manual trigger to the next step to simplify live usage (oshidash) adding special button/LED functions for FX pages (oshidash) history function - here an alternative proposal: What I'm sometimes missing is the possibility to quickly change between different edit scenarios. E.g. jumping back and forth between "Echo Fx of Track 10", "Directions of Track 1/2/3/4", "Track 6 with Local Loop Mode enabled", "Recording Track 9 while all other tracks except for the drum track is disabled" Or just simply "Track 1 in 303 Edit View", "Track 2 in normal Edit View" Just to give you some examples So, a backward/forward page button is a nice idea, but instead of this I could add something even more useful. How about 16 memory slots to store the current UI settings, such as: current page selected track(s)/group(s) selected parameter and trigger layer selected step view selected edit view selected loop mode selected metronome mode Solo/All/Fast button mutes Handling: - push MENU+SELECT to get a special page which shows the 16 slots (could be alternatively assigned to a dedicated button of course) - Push a GP button to recall a stored configuration - Push a GP button for 2 seconds to store the current configuration The UI configuration slots could be stored globally into a separate .v4 file Any alternative ideas? Best Regards, Thorsten.
-
wow, great walkthrough! Best Regards, Thorsten.
-
Yes, and/or with internal sources. You could even forward the modulation result to an AOUT module to use the MBSID as a nice resampling machine ;) See also this manual page: http://www.ucapps.de/midibox_sid_manual_l.html Keyword "modulation matrix menu" Best Regards, Thorsten.
-
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.