Heute werden wir über eine Studie sprechen , die Klang und Musik in Bezug auf Mathematik und Programmierung untersucht. Dieser Ansatz ermöglicht es uns, die Vielschichtigkeit von allem zu schätzen, was wir auf dem Weg zur Arbeit oder zu Hause gewohnt sind. Wir werden versuchen, die wichtigsten Punkte in einfachen Worten zu formulieren., , , - , . .
, . , .
( «»). , – , . .
(128 ) – . , , (). 2^14x2^7. (0 <= n, m <= 127), .
/ ( , ). , (127), (300 ).
, . «» , «»; [ *127+ ][ ].
«» ( ) .
, , MIDI- ( .mid), , Java Sequencer. :
public Learn(String midiName) {
try {
Sequence sequence = MidiSystem.getSequence(new File(midiName));
int id[] = {0, 0, 0};
int nArr[][] = new int[2][2];
for(Track track : sequence.getTracks()) {
for(int i = 0; i < track.size(); i++) {
MidiEvent event = track.get(i);
MidiMessage message = event.getMessage();
if(message instanceof ShortMessage) {
ShortMessage sm = (ShortMessage) message;
if(sm.getCommand() == NOTE_ON) {
int key = sm.getData1();
for(int j = 0; j < 2; j++) {
if(id[j] == 2) {
id[j] = 0;
Score.updateWeight(nArr[j][0], nArr[j][1], key);
} else {
nArr[j][id[j]++] = key;
}
}
}
}
}
}
cnt++;
} catch(InvalidMidiDataException|IOException e) {
e.printStackTrace();
}
}
: ( ) , . , Java Math.random(). , ( ) , Math.random().
Synthesizer – , .

, Markov composer,
.