Không ai biết bất kỳ điều gì tồn tại trong thế giới Java để ánh xạ các số ghi chú giữa đến các tên ghi chú cụ thể và số quãng tám. Ví dụ, xem bảng tham khảo:Chuyển đổi số ghi chú Midi thành Tên và Octave
http://www.harmony-central.com/MIDI/Doc/table2.html
Tôi muốn ánh xạ một số midi note 60 đến tên của nó lưu ý tương ứng (MiddleC) trong quãng tám 4. Tôi có thể viết một lớp tiện ích/enum cho điều này, nhưng nó sẽ khá tẻ nhạt. Có ai biết gì không?
Tôi đặc biệt sử dụng này để viết một bản sao Tenori-On/Monome trong Java, vì vậy đến nay rất tốt ...
Giải pháp
Đây là những gì tôi đã kết thúc bằng:
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];
Jon, tôi đã thêm một số Java thực vào câu trả lời của mình. – paxdiablo
tuyệt vời, cảm ơn cho các con trỏ ... – Jon