Domanda

Sto programmando di creare il mio metronomo (strumento woodblock) usando Java che potrebbe impostare il suo bpm, volume, ecc. E ho provato su 16 canali (specifica MIDI 1.0) ottenuti da getChannels () ma non si sente alcun blocco di legno.

Ecco il codice preso da http://www.jsresources.org

  /*
   * Turn the note on on MIDI channel 1.
   * (Index zero means MIDI channel 1)
   */
  MidiChannel[] channels = synth.getChannels();
  channels[0].noteOn(nNoteNumber, nVelocity);

  /*
   * Wait for the specified amount of time
   * (the duration of the note).
   */
  try
  {
   Thread.sleep(nDuration);
  }
  catch (InterruptedException e)
  {
  }

  /*
   * Turn the note off.
   */
  channels[0].noteOff(nNoteNumber);

Qualcuno ha qualcosa al riguardo? grazie.

È stato utile?

Soluzione

A seconda del sintetizzatore, i suoni di percussione saranno sul canale 10 o sul canale 16 (indici 9 o 15 nell'array). I suoni di woodblock sarebbero i numeri di nota 76 e 77 e probabilmente vorrai usare un valore di velocity della nota di 128 (per il volume massimo).

Non ho esaminato il codice che stai utilizzando, ma potresti anche aver bisogno di chiamare un metodo per accendere il sintetizzatore prima di poter suonare qualsiasi cosa. Inoltre, poiché stai suonando una nota di percussione, potresti essere in grado di inviare il corrispondente messaggio di disattivazione della nota immediatamente dopo la nota sul messaggio (quindi non devi capire la durata del nota di percussione). La maggior parte dei sintetizzatori MIDI che ho usato riproducono l'intero suono delle percussioni anche dopo aver ricevuto il messaggio di nota off.

Altri suggerimenti

un woodblock è uno strumento a percussione. dovresti ascoltarlo quando suoni la nota giusta su un canale a cui è stata assegnata una batteria o percussioni. (in una batteria di percussioni o batteria, ogni nota suona uno strumento diverso: blocco di legno, rullante, hi-tom, clave, ecc.)

Usa (es.) questo riferimento General MIDI (GM) per cercare patch . È necessario il canale 10 per le percussioni GM e la nota numero 76 per Hi Wood Block o 77 per Low Wood Block.

Inoltre, lo strumento 116 è un blocco di legno completo di tastiera (qualsiasi tonalità da 1 a 128). Credo che dovrebbe funzionare su qualsiasi canale non percussivo (cioè non 10, o forse 16).

Nota: GM sembra essere basato su 1, mentre l'API sembra essere basata su 0, quindi potrebbe essere necessario sottrarne uno da alcuni di questi valori.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top