Jump to content

Phatline

Members
  • Posts

    1,279
  • Joined

  • Last visited

  • Days Won

    71

Posts posted by Phatline

  1. I want to program my own software running on the "Generic" SEQ-CS-Wilba - UI- PCB (Software: Triggermatrix)

    it has nothing to do with the SEQV4, except the BPM part, so ripp off the UI-Code for the Button-Matrix from SEQV4 is a no go > i dont understand it.

    i first wrote a small app to show me DIN-PINing off all Btns,  (following Pins have a offset off 4 Shiftregisters ... because a MB-LRE-8x2CS is in the chain)

    then realized that not every btn has its very own PIN...ok i thougt, i know such things from LEDMatrices the other way arround.

    But Scan Matrices (BTNs) is newland for me... i quick search give me: mios32/trunk/apps/examples/fastscan_button_matrix_16x16 <<< should i start with that, or is there a more simple/better for learn-Code somewhere

    thanx

      MB-LRE8x2CS ROW 1
    ENC 0 1 2 3 4 5 6 7
    SR 1 1 1 1 2 2 2 2
    Pin 0 2 4 6 0 2 4 6
      MB-LRE8x2CS ROW 2
    ENC 8 9 10 11 12 13 14 15
    SR 3 3 3 3 4 4 4 4
    Pin 0 2 4 6 0 2 4

     

            BNT-SCAN-Matrix
    Nr.       0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
    BTN 46 46                                  
    LED                                      
    BTN 47 47                                  
    LED                                      
    BTN 46 46                                  
    LED                                      
    BTN 47 47                                  
    LED                                      
                                           
    BTN 47 47   40 41 40 41 40 41 40 41 40 41 40 41 40 41 40 41
    LED                                      
    BTN 47 47   43 42 43 42 43 42 43 42 43 42 43 42 43 42 43 42
    LED                                      
    BTN 47 47   45 44 45 44 45 44 45 44 45 44 45 44 45 44 45 44
    LED                                      
  2. i measure 4 you :

    @J11 Core 5v between VS and 4,1V Pin (should be 5V thenthe pcb is already labeld with +5V,)

     

    between VS and MI1-4 i measure 3Vs (should 3,3 maybe - my displays consume much...)

    between VS and MO1-4 i measure 0,5V

     

    @a midiport which is sending > has on my board 3,9VDC which i assume should be 5V - so 5V then!

    i use an application which uses 2xMIO Boards

  3. 47 minutes ago, enron_hubbard said:

    I had totally forgotten about the Linnstrument - looks like it does do a harmonic table layout if it's set up that way. It was the C-Thru Axis controllers that got me thinking about harmonic tables again, and those used hexagonal keys, but it might make more sense to either do another BLM grid, or implement the harmonic table layout on the existing BLM, instead. The reason behind the hexagonal keys on the C-Thru, and the staggered button layout, was so the player could easily play a major/minor triad with just one finger - which wouldn't be nearly as easy to do with the button pads. So if I could get the same functionality out of the existing BLM, it would free up that space on the control surface for other stuff.

    well then build the BLM first, and then Touch/feel the buttons, what do the feel for you

    ... for me it dont have the feel/touch to play melodys on it, i mean you have to play precisely o..., and touch it the right way in order to activate the right.. ... i am no keyboarder yet, i stell play the last year from time to time, and as techno musican it gets wild... being in beat, hitting in beat -its then

    a.  good to have this big white and black keys to hit the right note... (i talk about size not, the arrangement off keys)

    &

    b. the feeling the instrument is built for that so you can really punch it.... with the BLM i ever have the feeling of "not touching it to much" ... i even thougt about it, to exclude my 16 ROLL buttons (which i use most and hard) from the BLM-XY-ExtraBtns and take some more robust one (i havnt found them yet), i have thougt about DIY optical ones with Diodes/fototransistors, and AIN moduels...

  4. for me i dont need Velocity on the Harmonic table... since in my concept the melody-velocity is overruled from the Drum-Sequence-Velocity (in fact they only sound when a drumtrigger comes in).... but for the Drumsequence (remoted from BLM) i will need 16x Velocity-sense Pads, to trigger the Drumsequence in,

    in my concept the DrumTriggerpads are next to the BLMs Tracks, like your picture only in 2 rows...

  5. i am plaing something like this, but with a custom Sequencer software and hardware instead of Wilbas Frontpanel

    in my case the Frontplates are individual Plates for the different devices, mounted on trusses...in order to be modular in the future...

    the trusses are mounted in a road-Case, which i will order from Thoman.de

     

    i am interested in your Harmonic Table!!! good idea! If the Buttons can be illuminated - and you plan to order a PCB for that? (illumination to show currently played MelodySequence &or harmonic fitting Notes)  - i am possibly in for that, or @ least interesting @ the way you going it on....

  6. FYI

     

    i have uploadet the APP:

    mios32/trunk/apps/misc/usb_mass_storage_device/project.hex

    on a STM32F4....

    MiosStudio then say: "[16004.284] SD Card has been connected!"

    but linux (Ubuntu 15.10) dont recognize a new Drive.

     

    i have already tryd a other STM32F4 board - still the same.

     

    maybe because the code was written for the stm32F10? > (stm32F4 has on board SD-Card slot) - i dont know, but the application recognize a sd-card.

    "Required hardware:
       o MBHP_CORE_STM32 or MBHP_CORE_LPC17
       o a SD Card connected to J16 of the core modulRequired hardware:
    "

  7. AutoQuantize, some Excel again:

    Base = 12tics * 8 = 96tics between 2 16th Steps
    TIC Quantize 64 Quantize 32 Quantize 16
    if * && if * Tic Step if * && if * Tic Step if * Tic STEP
    0 <= Base 1       0 Current <= Base 2       0 Current <= Base 4 0 Current
    1 <= Base 1       0 Current <= Base 2       0 Current <= Base 4 0 Current
    2 <= Base 1       0 Current <= Base 2       0 Current <= Base 4 0 Current
    3 <= Base 1       0 Current <= Base 2       0 Current <= Base 4 0 Current
    4 <= Base 1       0 Current <= Base 2       0 Current <= Base 4 0 Current
    5 <= Base 1       0 Current <= Base 2       0 Current <= Base 4 0 Current
    6 <= Base 1       0 Current <= Base 2       0 Current <= Base 4 0 Current
    7 <= Base 1       0 Current <= Base 2       0 Current <= Base 4 0 Current
    8 <= Base 1       0 Current <= Base 2       0 Current <= Base 4 0 Current
    9 <= Base 1       0 Current <= Base 2       0 Current <= Base 4 0 Current
    10 <= Base 1       0 Current <= Base 2       0 Current <= Base 4 0 Current
    11 <= Base 1       0 Current <= Base 2       0 Current <= Base 4 0 Current
    12 > Base 1   <= Base 2 Base*2 Current <= Base 2       0 Current <= Base 4 0 Current
    13 > Base 1   <= Base 2 Base*2 Current <= Base 2       0 Current <= Base 4 0 Current
    14 > Base 1   <= Base 2 Base*2 Current <= Base 2       0 Current <= Base 4 0 Current
    15 > Base 1   <= Base 2 Base*2 Current <= Base 2       0 Current <= Base 4 0 Current
    16 > Base 1   <= Base 2 Base*2 Current <= Base 2       0 Current <= Base 4 0 Current
    17 > Base 1   <= Base 2 Base*2 Current <= Base 2       0 Current <= Base 4 0 Current
    18 > Base 1   <= Base 2 Base*2 Current <= Base 2       0 Current <= Base 4 0 Current
    19 > Base 1   <= Base 2 Base*2 Current <= Base 2       0 Current <= Base 4 0 Current
    20 > Base 1   <= Base 2 Base*2 Current <= Base 2       0 Current <= Base 4 0 Current
    21 > Base 1   <= Base 2 Base*2 Current <= Base 2       0 Current <= Base 4 0 Current
    22 > Base 1   <= Base 2 Base*2 Current <= Base 2       0 Current <= Base 4 0 Current
    23 > Base 1   <= Base 2 Base*2 Current <= Base 2       0 Current <= Base 4 0 Current
    24 > Base 2   <= Base 3 Base*2 Current > Base 2   <= Base 4 Base*4 Current <= Base 4 0 Current
    25 > Base 2   <= Base 3 Base*2 Current > Base 2   <= Base 4 Base*4 Current <= Base 4 0 Current
    26 > Base 2   <= Base 3 Base*2 Current > Base 2   <= Base 4 Base*4 Current <= Base 4 0 Current
    27 > Base 2   <= Base 3 Base*2 Current > Base 2   <= Base 4 Base*4 Current <= Base 4 0 Current
    28 > Base 2   <= Base 3 Base*2 Current > Base 2   <= Base 4 Base*4 Current <= Base 4 0 Current
    29 > Base 2   <= Base 3 Base*2 Current > Base 2   <= Base 4 Base*4 Current <= Base 4 0 Current
    30 > Base 2   <= Base 3 Base*2 Current > Base 2   <= Base 4 Base*4 Current <= Base 4 0 Current
    31 > Base 2   <= Base 3 Base*2 Current > Base 2   <= Base 4 Base*4 Current <= Base 4 0 Current
    32 > Base 2   <= Base 3 Base*2 Current > Base 2   <= Base 4 Base*4 Current <= Base 4 0 Current
    33 > Base 2   <= Base 3 Base*2 Current > Base 2   <= Base 4 Base*4 Current <= Base 4 0 Current
    34 > Base 2   <= Base 3 Base*2 Current > Base 2   <= Base 4 Base*4 Current <= Base 4 0 Current
    35 > Base 2   <= Base 3 Base*2 Current > Base 2   <= Base 4 Base*4 Current <= Base 4 0 Current
    36 > Base 3   <= Base 4 Base*4 Current > Base 2   <= Base 4 Base*4 Current <= Base 4 0 Current
    37 > Base 3   <= Base 4 Base*4 Current > Base 2   <= Base 4 Base*4 Current <= Base 4 0 Current
    38 > Base 3   <= Base 4 Base*4 Current > Base 2   <= Base 4 Base*4 Current <= Base 4 0 Current
    39 > Base 3   <= Base 4 Base*4 Current > Base 2   <= Base 4 Base*4 Current <= Base 4 0 Current
    40 > Base 3   <= Base 4 Base*4 Current > Base 2   <= Base 4 Base*4 Current <= Base 4 0 Current
    41 > Base 3   <= Base 4 Base*4 Current > Base 2   <= Base 4 Base*4 Current <= Base 4 0 Current
    42 > Base 3   <= Base 4 Base*4 Current > Base 2   <= Base 4 Base*4 Current <= Base 4 0 Current
    43 > Base 3   <= Base 4 Base*4 Current > Base 2   <= Base 4 Base*4 Current <= Base 4 0 Current
    44 > Base 3   <= Base 4 Base*4 Current > Base 2   <= Base 4 Base*4 Current <= Base 4 0 Current
    45 > Base 3   <= Base 4 Base*4 Current > Base 2   <= Base 4 Base*4 Current <= Base 4 0 Current
    46 > Base 3   <= Base 4 Base*4 Current > Base 2   <= Base 4 Base*4 Current <= Base 4 0 Current
    47 > Base 3   <= Base 4 Base*4 Current > Base 2   <= Base 4 Base*4 Current <= Base 4 0 Current
    48 > Base 4   <= Base 5 Base*4 Current > Base 4   <= Base 6 Base*4 Current > Base 4 0 Next
    49 > Base 4   <= Base 5 Base*4 Current > Base 4   <= Base 6 Base*4 Current > Base 4 0 Next
    50 > Base 4   <= Base 5 Base*4 Current > Base 4   <= Base 6 Base*4 Current > Base 4 0 Next
    51 > Base 4   <= Base 5 Base*4 Current > Base 4   <= Base 6 Base*4 Current > Base 4 0 Next
    52 > Base 4   <= Base 5 Base*4 Current > Base 4   <= Base 6 Base*4 Current > Base 4 0 Next
    53 > Base 4   <= Base 5 Base*4 Current > Base 4   <= Base 6 Base*4 Current > Base 4 0 Next
    54 > Base 4   <= Base 5 Base*4 Current > Base 4   <= Base 6 Base*4 Current > Base 4 0 Next
    55 > Base 4   <= Base 5 Base*4 Current > Base 4   <= Base 6 Base*4 Current > Base 4 0 Next
    56 > Base 4   <= Base 5 Base*4 Current > Base 4   <= Base 6 Base*4 Current > Base 4 0 Next
    57 > Base 4   <= Base 5 Base*4 Current > Base 4   <= Base 6 Base*4 Current > Base 4 0 Next
    58 > Base 4   <= Base 5 Base*4 Current > Base 4   <= Base 6 Base*4 Current > Base 4 0 Next
    59 > Base 4   <= Base 5 Base*4 Current > Base 4   <= Base 6 Base*4 Current > Base 4 0 Next
    60 > Base 5   <= Base 6 Base*6 Current > Base 4   <= Base 6 Base*4 Current > Base 4 0 Next
    61 > Base 5   <= Base 6 Base*6 Current > Base 4   <= Base 6 Base*4 Current > Base 4 0 Next
    62 > Base 5   <= Base 6 Base*6 Current > Base 4   <= Base 6 Base*4 Current > Base 4 0 Next
    63 > Base 5   <= Base 6 Base*6 Current > Base 4   <= Base 6 Base*4 Current > Base 4 0 Next
    64 > Base 5   <= Base 6 Base*6 Current > Base 4   <= Base 6 Base*4 Current > Base 4 0 Next
    65 > Base 5   <= Base 6 Base*6 Current > Base 4   <= Base 6 Base*4 Current > Base 4 0 Next
    66 > Base 5   <= Base 6 Base*6 Current > Base 4   <= Base 6 Base*4 Current > Base 4 0 Next
    67 > Base 5   <= Base 6 Base*6 Current > Base 4   <= Base 6 Base*4 Current > Base 4 0 Next
    68 > Base 5   <= Base 6 Base*6 Current > Base 4   <= Base 6 Base*4 Current > Base 4 0 Next
    69 > Base 5   <= Base 6 Base*6 Current > Base 4   <= Base 6 Base*4 Current > Base 4 0 Next
    70 > Base 5   <= Base 6 Base*6 Current > Base 4   <= Base 6 Base*4 Current > Base 4 0 Next
    71 > Base 5   <= Base 6 Base*6 Current > Base 4   <= Base 6 Base*4 Current > Base 4 0 Next
    72 > Base 6   <= Base 7 Base*6 Current >Base 6       0 Next > Base 4 0 Next
    73 > Base 6   <= Base 7 Base*6 Current >Base 6       0 Next > Base 4 0 Next
    74 > Base 6   <= Base 7 Base*6 Current >Base 6       0 Next > Base 4 0 Next
    75 > Base 6   <= Base 7 Base*6 Current >Base 6       0 Next > Base 4 0 Next
    76 > Base 6   <= Base 7 Base*6 Current >Base 6       0 Next > Base 4 0 Next
    77 > Base 6   <= Base 7 Base*6 Current >Base 6       0 Next > Base 4 0 Next
    78 > Base 6   <= Base 7 Base*6 Current >Base 6       0 Next > Base 4 0 Next
    79 > Base 6   <= Base 7 Base*6 Current >Base 6       0 Next > Base 4 0 Next
    80 > Base 6   <= Base 7 Base*6 Current >Base 6       0 Next > Base 4 0 Next
    81 > Base 6   <= Base 7 Base*6 Current >Base 6       0 Next > Base 4 0 Next
    82 > Base 6   <= Base 7 Base*6 Current >Base 6       0 Next > Base 4 0 Next
    83 > Base 6   <= Base 7 Base*6 Current >Base 6       0 Next > Base 4 0 Next
    84 > Base 7       0 Next >Base 6       0 Next > Base 4 0 Next
    85 > Base 7       0 Next >Base 6       0 Next > Base 4 0 Next
    86 > Base 7       0 Next >Base 6       0 Next > Base 4 0 Next
    87 > Base 7       0 Next >Base 6       0 Next > Base 4 0 Next
    88 > Base 7       0 Next >Base 6       0 Next > Base 4 0 Next
    89 > Base 7       0 Next >Base 6       0 Next > Base 4 0 Next
    90 > Base 7       0 Next >Base 6       0 Next > Base 4 0 Next
    91 > Base 7       0 Next >Base 6       0 Next > Base 4 0 Next
    92 > Base 7       0 Next >Base 6       0 Next > Base 4 0 Next
    93 > Base 7       0 Next >Base 6       0 Next > Base 4 0 Next
    94 > Base 7       0 Next >Base 6       0 Next > Base 4 0 Next
    95 > Base 7       0 Next >Base 6       0 Next > Base 4 0 Next
    96 Next 16th Note Next 16th Note Next 16th Note

     

     

     

    this code in a Function which delivers midi-input, writes on a specific STEP, a Sequencer-TIC-Offset, and a Velocity in specific Track, which means with that you have a stepsequencer with 96tic Resulution between 2 Step entrys....StepSend is the currently played step, TicSend the currently played 96th Tic which loops from 0-96 between 2 Notes

    //RECORD
      if(port == 1) { //MidiTrigger-Input (Real Drummer)
        if(Rec == 1) {//Record Switch Active
          //AutoQuantize OFF?
          if(AutQuntActive == 0) {
            Seq[note][StepSend] = velocity; // Write Velocity into current Step on Triggered Note
            SeqTic[note][StepSend] = TicSend;}   // Write a "Time-Stemp" to realize Human Timing. (you can quantize later)
    
    	  //AutoQuantize ON?
          if(AutQuntActive == 1) {//Quantize while Recording is ON
    
              //32nd Quantize Mode
              if(QuantRate == 1) { //QuantRate0:16th,1:32nd, 2:64
                  //Write Velocity in currently played Step
                  if(TicSend <= (BaseTic*6) )  {  //12x6=72 (Tic 0-72)
                    Seq[note][StepSend] = velocity; // Write Velocity into current sequenced Step with Triggered Note
                      if(TicSend <= BaseTic*2) {SeqTic[note][StepSend] = 0;}//Straight 16th without delay
                      if(TicSend > BaseTic*2 && TicSend <= BaseTic*4) {SeqTic[note][StepSend] = BaseTic*4;}//Delay 2 next 32nd Note
                      if(TicSend > BaseTic*4 && TicSend <= BaseTic*6) {SeqTic[note][StepSend] = BaseTic*4;}}//Delay 2 previus 32nd Note
    
                  else { //Write Velocity into Next note
                     SeqTic[note][StepSend] = 0;  // kick back to zero > straight machine time > no delay
                      //Are we on Last Step of Loop?
                      if(direction == 1) {  //when in Forward Direction Sequencing Mode
                        if(note == Last) { //when Last step is arrived
                          Seq[First][StepSend] = velocity;} //then write Velocity in First Note of Loop
                        if(note < Last)  { //If not Last Step, then simply write in next Step:
                          Seq[note][StepSend+1] = velocity;} //next step
                       }
                     if(direction == 0) {  //when in Rewind Direction Sequencing Mode
                        if(note == First) { //when First step is arrived (typical 0)
                          Seq[Last][StepSend-1] = velocity;} //then write Velocity in Last Note of Loop (typical 16)
                        if(note > First)  { //If not First Step, then simply write in next Step:
                          Seq[note][StepSend-1] = velocity;} //next step
                      }}
                 }

     

  8. upload neuer Software via MIOSStudio wird halt schiwerig(er) ;)

    das werd ich bei meinem Board auch gleich mal verkleben - danke für die Warnung, bei dem ganzen ein und ausstecken hatte ich schon öfters situationen wo ich mir gedacht - wass? die buchse ist noch dran, wie ich da angerissen habe....

     

    ja am Montag 4x bei conrad in den Shop bestellt (zum hinterlegen), da hies es noch 1-2Tage Lieferzeit, bis heute keinen Anruf, und nun les ich da online 9-10 Tage...   mouser eh wie du geschrieben, und  Farnel verkauft nicht an den gemeinen Bürger...

  9. force sensing resistor...

    He

    .https://hackaday.io/project/1601-diy-usb-midi-controller-mpc-style

    is talking about a copper Grid like this: (kicad files aviable)

    4468811411334561195.jpg

     

    then a Layer ungluable "VELOSTAT"

    then the Physical PAD that transport the Force from Finger to Velostat....

     

    The project looks good documented....and i could design the Triggerpads exact the size to fit well next to the BLM...without those expensive MPC PAds.

  10. On 2.2.2016 at 7:18 PM, EsotericLabs said:

    found some originals at conrad.nl. I got a good deal: two pieces for €41 including shipping.  they give some kwantumkorting aka mengenrabatt aka volume discount for 2 pieces, at least on their .nl and .de

    https://www.conrad.nl/nl/stmicroelectronics-stm32f4discovery-developmentboard-443910.html

    Fair enough i think, farnell has €8 shipping below €50,-

    and in austria farnell only deliver to "Companys"... i will order @ conrad austria. thx

  11. since my Steinberg PD is not working in HOST-Mode... i need some other way of sensors for my sequencer...

    since i programmed the sequencer in a logical "Matrix" way - it would be finde, if the triggers for the tracks are in a line to the tracks.

     

    would be nice if they are some kind of transparent to indicate drum trigger. but that is no must, the BLM Pads itself are already indicateing 3 Step Velocity (<=45 blue, >45&&<90 green, >90cyan)

    BLM-Triger.thumb.jpg.d64b7cc7478e40f2bf5

    They must be velocity sensitive - and placed seperately (so i can choose the space between it)

    any idea?

     

    i know the Akai MPC replacement parts, but what i see the availables are 4x4s on a singel foil.... --- only to know >  how can they be connected to a MIOS32 Core?.

     

    thx phat

×
×
  • Create New...