MIDI tester

Napiši odgovor

Potrditvena koda
Vtipkaj kodo, ki jo vidiš na sliki. Vse črke so male, ničle ni.
Smeški
:D :) :( :o :shock: :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o [-X [-o<
Več smeškov

BBCode je vključena
[img] je vključen
[url] je vključen
Smeški so vključeni

Preglej temo
   

Razširi pogled Preglej temo: MIDI tester

Napisal/-a rtv servis kapele » Pe Feb 02, 2018 5:53 pm

Vidi se, da kar naprej ustvarjaš.

hvala

Napisal/-a Milenko » Pe Feb 02, 2018 1:59 pm

Hvala,res je. ;) Se trudim se naprej,idej mi se ni zmanjkalo :lol:

Re: foto

Napisal/-a Gost » Sr Jan 31, 2018 4:29 pm

Milenko napisal/-a:Fotografije vidite le,ce ste prijavljeni ;).

Zakaj nisem uporabil stevca za generiranje tonov?To je zato,ker sem zelel simulirati vsako pritisnjeno tipko.Enako kot je pri igranju v zivo,kjer MIDI kontroler posreduje ukaz za pritisnjeno tipko.
Vidim, da se še trudiš Milenko, da si vztrajen in uspešen! Spomnim se, kaj vse si včasih delal in predstavljal tudi na sejmih.

foto

Napisal/-a Milenko » Sr Jan 31, 2018 11:15 am

Fotografije vidite le,ce ste prijavljeni ;).

Zakaj nisem uporabil stevca za generiranje tonov?To je zato,ker sem zelel simulirati vsako pritisnjeno tipko.Enako kot je pri igranju v zivo,kjer MIDI kontroler posreduje ukaz za pritisnjeno tipko.

MIDI tester

Napisal/-a Milenko » Pe Jan 26, 2018 7:37 pm

Ker sem ze proti koncu DSP-SoundEgine projekta,sem potreboval nek MIDI tester,da lahko testiram latency (kasnitev) MIDI ukazov.To je zelo pomembno zaradi igranja v zivo.Vse o MIDI-ju si lahko preberete na strani tukaj https://sl.wikipedia.org/wiki/MIDI .

Nekaj o SE;DSP (soundengine) je procesor-predvajalnik zvoka ali sample player,ki lahko predvaja 24 tonov(samplov) polifonicno.Vsak ton je vzorcen(semplan) posamezno.Ima 1Gb flash v katero lahko shranimo 128 sound banks,v eni sound banki ja lahko 88 zvokov (semplov).Podpira vecino MIDI ukazov.

Ko sem pomislil,kako bi izvedel MIDI tester sem pomislil na hitro resitev z arduinom.Uporabil sem arduino nano modul.Programcek je v prilogi.Ce si boste tester izdelali,ne pozabite naložiti zadnje MIDI.h knjiznice.S testerjem lahko testirate tudi vseh 24 tonov polifonije,kar je meni prislo zelo prav.MIDI latency testirate od pritiska tipke do zaigranega tona.Upostevati morate tudi da je 1ms sam MIDI signal torej;31250k 10bit=330us,trije ukazi (MIDI CHANNEL,NOTEON ali NOTEOFF,Velocity)=0.96ms.Pri meritvah sem dobil 5.7ms s cirkularnim bufferjem(zajem word-a) DSP-ja,kar je odlicno.

Izdelate si lahko tudi pcb (eagle shema v prilogi).

http://audiologs.com/MIDI-tester/MIDI-o ... ibrary.ino

http://audiologs.com/MIDI-tester/DEMI-MIDI-tester.sch

Koda: Izberi vse

#include <MIDI.h>

// Button variables
int buttonVal = 0; // value read from button
int buttonPlay = 3;     // pin D3 Predvajaj
int ledPin = 13; // ledika
 
 // Created and binds the MIDI interface to the default hardware Serial port
 MIDI_CREATE_DEFAULT_INSTANCE();

 void setup()
 {
     MIDI.begin(MIDI_CHANNEL_OMNI);  // Listen to all incoming messages
     //postavitev tipke
     pinMode(buttonPlay, INPUT);
     digitalWrite(buttonPlay,HIGH);

     // initialize the LED pin as an output:
     pinMode(ledPin, OUTPUT);
     
 }

 void loop()
 {     
     // Read the state of the button
     buttonVal = digitalRead(buttonPlay);

     // check if the pushbutton is pressed. If it is, the buttonState is HIGH:
  if (buttonVal == LOW) {
    // play&turn LED on:
    play();
    digitalWrite(ledPin, HIGH);
  } else {
    // turn LED off:
    digitalWrite(ledPin, LOW);
  }

     
     // Read incoming messages
     //MIDI.read();
 }

 void play()
{
  // Send note 42 with velocity 127 on channel 1
     MIDI.sendNoteOn(60, 127, 1); 
     MIDI.sendNoteOn(62, 127, 1);
     MIDI.sendNoteOn(64, 127, 1);
     MIDI.sendNoteOn(66, 127, 1);
     MIDI.sendNoteOn(68, 127, 1);
     MIDI.sendNoteOn(70, 127, 1);
     MIDI.sendNoteOn(72, 127, 1);
     MIDI.sendNoteOn(74, 127, 1);
     MIDI.sendNoteOn(76, 127, 1);
     MIDI.sendNoteOn(78, 127, 1);
     MIDI.sendNoteOn(80, 127, 1);
     MIDI.sendNoteOn(82, 127, 1);
     MIDI.sendNoteOn(84, 127, 1); 
     MIDI.sendNoteOn(86, 127, 1);
     MIDI.sendNoteOn(88, 127, 1);
     MIDI.sendNoteOn(90, 127, 1);
     MIDI.sendNoteOn(92, 127, 1);
     MIDI.sendNoteOn(94, 127, 1);
     MIDI.sendNoteOn(96, 127, 1);
     MIDI.sendNoteOn(98, 127, 1);
     MIDI.sendNoteOn(100, 127, 1);
     MIDI.sendNoteOn(102, 127, 1);
     MIDI.sendNoteOn(104, 127, 1);
     MIDI.sendNoteOn(106, 127, 1);
     delay (1000);
     MIDI.sendNoteOn(60, 0, 1); 
     MIDI.sendNoteOn(62, 0, 1);
     MIDI.sendNoteOn(64, 0, 1);
     MIDI.sendNoteOn(66, 0, 1);
     MIDI.sendNoteOn(68, 0, 1);
     MIDI.sendNoteOn(70, 0, 1);
     MIDI.sendNoteOn(72, 0, 1);
     MIDI.sendNoteOn(74, 0, 1);
     MIDI.sendNoteOn(76, 0, 1);
     MIDI.sendNoteOn(78, 0, 1);
     MIDI.sendNoteOn(80, 0, 1);
     MIDI.sendNoteOn(82, 0, 1);
     MIDI.sendNoteOn(84, 0, 1); 
     MIDI.sendNoteOn(86, 0, 1);
     MIDI.sendNoteOn(88, 0, 1);
     MIDI.sendNoteOn(90, 0, 1);
     MIDI.sendNoteOn(92, 0, 1);
     MIDI.sendNoteOn(94, 0, 1);
     MIDI.sendNoteOn(96, 0, 1);
     MIDI.sendNoteOn(98, 0, 1);
     MIDI.sendNoteOn(100, 0, 1);
     MIDI.sendNoteOn(102, 0, 1);
     MIDI.sendNoteOn(104, 0, 1);
     MIDI.sendNoteOn(106, 0, 1);
}

Na vrh