Hari ini kita akan berbicara tentang studi yang melihat suara dan musik dalam hal matematika dan pemrograman. Pendekatan ini memungkinkan kita untuk menghargai sifat beragam dari semua hal yang biasa kita dengarkan dalam perjalanan ke tempat kerja atau di rumah. Kami akan mencoba menyatakan poin utama dengan kata-kata sederhana., , , - , . .
, . , .
( «»). , – , . .
(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,
.