public static void main(String[] args) { // Layer together three copies of the melody String combined = "V0 " + melody + " V1 Rww " + melody + " V2 Rwwww " + melody; Player player = new Player(); player.play(combined); }
public static void main(String[] args) throws IOException { Map<String, Object> mapModule = finalMusic(); String aa = fileStr(); aa = ji(aa); String testMusic = ""; for (int i = 0; i < aa.length(); i++) { testMusic += mapModule.get(aa.substring(i, i + 1)) + " "; } Player player = new Player(); Pattern pattern = new Pattern(testMusic); player.play(pattern); System.exit(0); }
public void run() { player.play(pattern); player.close(); }
/** * Creates a new Player instance using a Sequencer obtained from the Synthesizer that you have * provided. * * @param synth The Synthesizer you want to use for this Player. */ public Player(Synthesizer synth) throws MidiUnavailableException { this(Player.getSequencerConnectedToSynthesizer(synth)); }
public static void main(String[] args) { int number_of_voices = voice_array.length; Random my_roll = new Random(); Pattern[] rhythm_patterns = james.generate(piece_length, number_of_voices); for (int i = 0; i < number_of_voices; i++) { MelodicVoice this_voice = new MelodicVoice(); this_voice.setRange(voice_array[i]); AccentListener my_accent_listener = new AccentListener(); this_voice.setNoteArray(my_accent_listener.listen(rhythm_patterns[i])); System.out.println("adding voice " + i + " to unbuiltvoices"); unbuilt_voices.add(this_voice); } int ub_size = unbuilt_voices.size(); for (int i = 0; i < number_of_voices; i++) { // int voice_index = my_roll.nextInt(unbuilt_voices.size()); int voice_index = i; System.out.println(" about to build voice pitches for " + voice_index); MelodicVoice nextVoice = buildVoicePitches(unbuilt_voices.get(voice_index), number_of_voices, my_mode_module); ArrayList<MelodicNote> verify_array = nextVoice.getNoteArray(); System.out.println("Return Me: "); for (MelodicNote verify : verify_array) { if (verify.getRest()) System.out.println("rest " + verify.getDuration() + " "); else System.out.println(verify.getPitch() + " " + verify.getDuration() + " "); } if (i == 0) { harmonic_prog = nextVoice; harmonic_prog_built = true; } else built_voices.add(nextVoice); // unbuilt_voices.remove(voice_index); } unbuilt_voices.clear(); Pattern music_output = new Pattern(); music_output.addElement(new Tempo(tempo_bpm)); for (byte i = 0; i < built_voices.size(); i++) { // create a jfugue musicstring from the built voice MelodicVoice final_voice = built_voices.get(i); ArrayList<MelodicNote> final_note_array = final_voice.getNoteArray(); Voice jf_voice = new Voice(i); music_output.addElement(jf_voice); for (MelodicNote final_note : final_note_array) { int jf_int = 0; Note jf_note = new Note(); jf_note.setDecimalDuration(final_note.getDuration()); if (final_note.getPitch() != null && final_note.getRest() == false) { jf_int = final_note.getPitch(); byte jf_note_byte = (byte) jf_int; jf_note.setValue(jf_note_byte); if (!final_note.getAccent()) jf_note.setAttackVelocity((byte) 40); } else { // System.out.println("setting jf note to rest"); jf_note.setRest(true); jf_note.setAttackVelocity((byte) 0); jf_note.setDecayVelocity((byte) 0); } music_output.addElement(jf_note); } // add the musicstring to a pattern } // save and play the pattern System.out.println(music_output.getMusicString()); Player my_player = new Player(); my_player.play(music_output); Date today = new Date(System.currentTimeMillis()); // Date format: "yyyy-MM-dd_HH:mm:ss" SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("MM-dd-yyyy-HH-mm"); String dateString = DATE_FORMAT.format(today); try { my_player.saveMidi( music_output, new File( "C:\\Documents and Settings\\alyssa\\Desktop\\Species Midi\\species-" + tempo_bpm + "-" + dateString + ".mid")); } catch (IOException ex) { } }