Phatline

Trigger Matrix & note processing

16 posts in this topic

i have made a wiki for this: http://wiki.midibox.org/doku.php?id=triggermatrix

You have spend time to program a cool rythm, and you already know which chords/melodys you want to play, and now its time to programm the timing/steps/the rythm in the melody... after quite a while of trying and looking on your drumline you have a fitting melody line for your drums...

now you change the drums a bit... o no i also have to change the melody now... i make a break, a intro...oh no so much work and time...and all because, the melody is fixed in arrangement,

you want a melody line that goes with beat? you want to change the beat note stream also (noteprocessing)? > read more... i have a tool for you!!! it will change your live!!! really!

hear that track: Phatline -the king will go it is played with a static drumline, and a static melody line, all other is live... you hear it? thats trigger matrix - get ready for JAM!

 

Basic Idea:

Merge a Drumsequencer with a Melodysequence

so the melody only sounds when a specific Drumtrigger comes > like a arpeggiator on a keyboard, but not fixed > trigger relativ and doe that changing with the drumline

The Drumsequenc give the timing the velocity and the Sustain > the tribe.

The Melody only give the chord notes.,

instead of a drumsequencer you could use a human drummer with triggerpads,

instead of melodysequencer you could play a keyboard, a guitar synth, a flute controller, a theremin... how ever - you get it? awsome is?t it? yeah!

of course there is not only the melody output, of course also the trigger output for more Drum-synth modules... so you drive your whole setup with that, also a Programchange for 16 Midichannels is integrated as well 512 Songs (routings) with each 8 songparts (intro outro break), i have tried chordsets, but i dont found it usefull, also it consume more CPU and RAM... with the LPC uController i use all of it with 5 Melody tracks(with 128 chord notes) and 3 Drumtracks...

so back to a drumsequencer, you should use some playable, realtime changeable drumsequencer, or you use the functions of the triggermatrix > note processing!

track rolls, main rolls, velocity depending trigger kills, velocity offset, velocity invert, random note kills, matrix routing song presets, sustain length, track mutes, and a whole array off trigger in and output LEDs, and a of course matrix 8x8 up to now, 16x16 at the end off 2015 - so the plan (build for the 16x16BLM...)

so i can say all is done up to now, go ahead with 16x16

post-20788-0-16128600-1402086676_thumb.j

 

Growing Details > TriggerMatrix for Drummachines

post-20788-0-49832900-1402109695_thumb.j

post-20788-0-39499600-1402252428_thumb.j

Triggermatrix built in a analog 70s E-Home organ "CRUMAR 198":

 

or as Drum-Trigger-Matrix built in a 80s Analog Drumexpander "Tama Techstar 306"

 

a talk about making live music, and what the trigger matrix do for me (german > austrian):

Drumnote retriggert Synthnotes:

https://vimeo.com/98954975
(For that i have more ideas like Note-Random-Kill, Velocity Kill, Accent)

UPDATE 140720:

https://vimeo.com/101245089

So now whats Working in this Video:

* Velocity depinding NoteKill-Switches (kill notes under 46, from 46-96, greater 96, -this values can be Offset -+64 by an VelKillOffset-Encoder)

* Velocity Offset -+64 - decrease encrease the Orginal Trigger Velocity Value in a Range from 1-127 --- so it is somewhat of CLIPPING

* Random-Note-Kill --- by each new Trigger - a Random generator is startet - and kills the trigger or not... with the Modwheel I change the Random-Range

 

UPDATE 140711:

https://vimeo.com/100537805

TM MBHP-Based-RETriggerpart

UART0 IN1 = Korg Electribe Rythm = TriggerSource

UART1 IN2 = Midi Keyboard = MelodySource

GREEN-LEDS: Input Trigger

RED-Leds: Output Trigger

Buttons+LEDs: select the triggersource=triggernote

Edited by Phatline
1 person likes this

Share this post


Link to post
Share on other sites

I understand your requests, but from my point of view they don't fit with the concepts behind MIDIbox CV.

It would be a separate application with a dedicated UI.

If you don't mind, I will split your post to a separate topic - maybe somebody else with programming skills is interested to help you...

 

Best Regards, Thorsten.

Share this post


Link to post
Share on other sites

THE MATRIX PART:

post-20788-0-25550600-1402778287_thumb.j

First i will build the matrix, because its the main function of this, & without any hardware to get into Program is boring --- so build the hardware

in order to get a 10x10 Matrix i need 2x mbhp dio_Matrix_modules?

 

--- i have troubles with this shemata: http://www.ucapps.de/midio128/midio128_v3_dio_scanmatrix.pdf

> is it wright that the diodes that are shown are 1n4148 & not LEDs

> so the leds get driven by a seperat DOUT module? in a way of "LEDRING" > http://www.ucapps.de/mbhp/mbhp_doutx4_ledrings.pdf?

Edited by Phatline

Share this post


Link to post
Share on other sites

Yes, you need two MBHP_DIO_MATRIX modules, yes, these are 1N4148 diodes, and yes the LEDs are driven similar to the LED Ring schematic.

 

Note that the 10x10 dimension isn't the best choice, because LEDs won't be so bright like on a 8x8 configuration.

 

Best Regards, Thorsten.

Share this post


Link to post
Share on other sites

Buttons and PCBs for the "Matrix":

2 PCBs - 1x for LED 1x for Buttons > Reasons why:

-to get all Routies on a Single Sided Board (Garage-CNC Friendly)

-to replace the whole Button board if they buttons are going "dead" > resolder them is horror...

 

the livetime of the cheap Tactial-Switches is short, but when I do LEDs and Buttons on seperate boards, i could change the whole button board when its "done"

post-20788-0-63273800-1403527319_thumb.p

Maybe I find any with better lifetime-cycles

 

"Dead Solutions"

by the search off different button-systems, i tried a layout for my DTL Switches:

post-20788-0-08563500-1403527128_thumb.p

but it´s to big and not a SQUARE-because the buttons are not SQUARE....I had byed 300 of them years ago in a even bigger Bulk-Order.... --- but for this Matrix? nope! for a nother one.

 

is such a matrix also possible with "touch sensors" like shown in this diagram: http://www.ucapps.de/mbhp/mbhp_din_touchsensors.pdf ?

post-20788-0-14288000-1403526994_thumb.j

Edited by Phatline

Share this post


Link to post
Share on other sites

No, touch sensors are not supported by MIOS32, they consume too much CPU time.

 

Btw.: did you already found somebody who will program the firmware for you?

It would be bad, if you build this expensive hardware and then expect that I would take over the development - actually I'm not really interested to provide private solutions.

 

Best Regards, Thorsten.

Share this post


Link to post
Share on other sites

touch: so may then tactial again

program: i think here and there from anaywhare - help would be enough. no need that someone programm this for me - learning to do it on my own - learning from others - hopefully there are People on this forum that understand that "Mios"

May stupid sounding Question about Prgramming - and maybe it was asked frequently: Can I handle this idea of routing triggers and combine it with notes change gatelength kill notes out and so on - by using MIOS by studing learning combining and changing codes from this: http://www.ucapps.de/mios32_c.html

or do will go better on things like that http://www.instructables.com/id/Send-and-Receive-MIDI-with-Arduino/6/?lang=de by beginning with basic 8bit mididata and µC-Registers- because of may missing things in mios for that application for that to program I (maybe) not have enougt life time to change on my own - what do you think? whats the learning curve here (max msp was high... and then when i passed to docomentated it took a long while to get into it again )

 

hardware: the hardware must be built anyway - even when it is "only" to controll my max msp programm with it.

you: would be enough to watch in here from time to time - and do what you da > tips > about what ideas cant works or not - what will troubles in your expirience. (eg.8x8 brightness, and so on)

greats

Edited by Phatline

Share this post


Link to post
Share on other sites

Learning Curve:

|                **********       I'm working with a more complex framework
|          ******                 I've implemented proposals from experts
|      ****                       I understand proposals from experts
|    *                            I'm getting some helpful hints from experts
|   *                             I'm asking the right questions in the forum
|  *                              I'm able to send some MIDI Notes based on tutorials
|  *                              I'm able to read & understand Wikis
| *                               I'm able to troubleshoot configuration problems
| *                               I'm able to configure & recompile premade applications
| *                               I'm able to upload prebuilt binaries
|*                                I know the right end of the soldering iron
+------------------------> time
 

Best Regards, Thorsten.

Share this post


Link to post
Share on other sites

good answer

:smile: > ok on my way into it.

 

greats phat

Share this post


Link to post
Share on other sites

ok first steps on the way to it

https://vimeo.com/100044560D

GREEN-LEDS: Inpuut Trigger

RED-Leds: Output Trigger

Buttons+LEDs: at the moment only Toogle the Variables for later Programming

 

Stucking: dont get MidiIn2 on the LPC17 tu run...which i need for the Melody-Part

Share this post


Link to post
Share on other sites

UPDATE 140711: -oh yeah first part is running-

https://vimeo.com/100537805

TM MBHP-Based-RETriggerpart

UART0 IN1 = Korg Electribe Rythm = TriggerSource

UART1 IN2 = Midi Keyboard = MelodySource

Learned about arrays and matrices...:

 

I have 2 IN-Ports, and when I write Code in:

void APP_MIDI_NotifyPackage(mios32_midi_port_t port, mios32_midi_package_t midi_package)

I always get triggering Events from both ports... thats blow up my code, since I have 2 independend TASKs.

1stTask: Save Melody Notes (UART0)

2ndTask: Trigger out the saved Melodys(UART1)

the notify Package is somehow connected to mios32/trunk/programming_models/traditional/main.c - i am afraid if i change something there, it would be replaced by the next mios update...

Edited by Phatline

Share this post


Link to post
Share on other sites
Learning Curve:

|                **********       I'm working with a more complex framework

|          ******                 I've implemented proposals from experts

|      ****                       I understand proposals from experts

|    *                            I'm getting some helpful hints from experts

|   *                             I'm asking the right questions in the forum

|  *                              I'm able to send some MIDI Notes based on tutorials

|  *                              I'm able to read & understand Wikis

| *                               I'm able to troubleshoot configuration problems

| *                               I'm able to configure & recompile premade applications

| *                               I'm able to upload prebuilt binaries

|*                                I know the right end of the soldering iron

+------------------------> time

 

Best Regards, Thorsten.

 

This is an excellent response, I'd say very accurate. Also a very satisfying experience. 

Edited by lukas412

Share this post


Link to post
Share on other sites

UPDATE 140720: still learning & its not so difficult at all, because of

* I already know what I want

* I already checked out for Years what Feature is necessery and what not, what has mass effect and what has to be left!

* I already programmed it in MAX MSP years ago.

https://vimeo.com/101245089

 

So now whats Working in this Video:

* Velocity depinding NoteKill-Switches (kill notes under 46, from 46-96, greater 96, -this values can be Offset -+64 by an VelKillOffset-Encoder)

* Velocity Offset -+64 - decrease encrease the Orginal Trigger Velocity Value in a Range from 1-127 --- so it is somewhat of CLIPPING

* Random-Note-Kill --- by each new Trigger - a Random generator is startet - and kills the trigger or not... with the Modwheel I change the Random-Range.

 

Challanges for the future (witout any clue up to now):

Changeing Notelengths Midiclock-1n % debending

doubling midiclocks, half midiclocks, start stop midiclock by beeing a slave(for the Synthesizer build in LFOs...)

Output Inital MidiCCs to the BCR2000.

Save and Load Presets

Morph Presets Values

Building a BLM16x16

Share this post


Link to post
Share on other sites

für die dies verstehn...einfoch des o und das e gegen ein a austauschen >>> Österreich ;)

das konzept hier nochmal erklärt.

Edited by Phatline

Share this post


Link to post
Share on other sites

I have made a wiki for this topic:

triggermatrix @ wiki

in the current version you can build the device with Generic PCBs from the Community, the code is also in the wiki.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now