-
Notifications
You must be signed in to change notification settings - Fork 0
Composer
Leon edited this page Oct 27, 2017
·
4 revisions
Die Klasse "Composer" fügt die verschiedene MIDI Kanäle vom Rhythmus,der Melodie und den Sound Effekten zusammen. Dafür berechnet es die notwendigen Meta Daten der Musik (Dynamik,Tempo, Tonart).
public Composer(TextAnalyser analysedText) {
this.analysedText = analysedText;
//TODO get key from tendencies
this.key = new Harmony(analysedText.getSentences()[0].getWords()[0].getName().substring(0, 1), Modes.major, false);
this.dynamic = dynamic; //forte, piano, cresc, decresc
this.tempo = new Tempo(analysedText.getAvgWordLength());
int i = (this.key.getMode() == 3 ? 2 : 1);
this.tempo.setAverageBpm(this.tempo.getAverageBpm() / i);
this.musicData = new MusicData(tempo,
"anyDynamic", /*forte, piano, cresc, decresc*/
key);
System.out.println("Average Tempo:" + this.tempo.getAverageBpm());
this.trackGenerators = new TrackGenerator[2];
this.trackGenerators[0] = new MelodyTrack(musicData, analysedText.getSentences(), "noteMapping.csv");
this.trackGenerators[1] = new RhythmTrack(analysedText);
}