Java – converts MIDI counts to names and octaves
•
Java
Does anyone know anything in the Java world that maps MIDI note numbers to specific note names and octaves For example, see the reference table:
http://www.harmony-central.com/MIDI/Doc/table2.html
I want to map a MIDI note number 60 to its corresponding note name (middlec) in octave 4 I can write a utility class / enumeration for this, but it will be quite boring Does anyone know anything?
I'm using this method to write tenori on / mone clones in Java, so good so far
solution
This is my last use:
String[] noteString = new String[] { "C","C#","D","D#","E","F","F#","G","G#","A","A#","B" }; int octave = (initialNote / 12) - 1; int noteIndex = (initialNote % 12); String note = noteString[noteIndex];
Solution
I don't believe your suggestion is boring It's really just a modulo operation, one gets an octave and the other gets a note
octave = int (notenum / 12) - 1; note = substring("C C#D D#E F F#G G#A A#B ",(notenum % 12) * 2,2);
In real Java, contrary to the pseudo code above, you can use something similar to the following:
public class Notes { public static void main(String [] args) { String notes = "C C#D D#E F F#G G#A A#B "; int octv; String nt; for (int noteNum = 0; noteNum < 128; noteNum++) { octv = noteNum / 12 - 1; nt = notes.substring((noteNum % 12) * 2,(noteNum % 12) * 2 + 2); System.out.println("Note # " + noteNum + " = octave " + octv + ",note " + nt); } } }
The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
二维码