public static void main(String[] args) throws Exception { AudioSynthesizer synth = new SoftSynthesizer(); Receiver recv = synth.getReceiver(); assertTrue(recv != null); ShortMessage sm = new ShortMessage(); sm.setMessage(ShortMessage.NOTE_OFF, 0, 64, 64); synth.open(new DummySourceDataLine(), null); recv.send(sm, -1); synth.close(); try { recv.send(sm, -1); throw new RuntimeException("Exception not thrown!"); } catch(Exception e) { // Just checking if exception is thrown } }
/** * Find available AudioSynthesizer. * @return * @throws MidiUnavailableException */ private AudioSynthesizer findAudioSynthesizer() throws MidiUnavailableException { // First check if default synthesizer is AudioSynthesizer. Synthesizer synth = MidiSystem.getSynthesizer(); if (synth instanceof AudioSynthesizer) { return (AudioSynthesizer)synth; } // If default synthesizer is not AudioSynthesizer, check others. MidiDevice.Info[] midiDeviceInfo = MidiSystem.getMidiDeviceInfo(); for (MidiDevice.Info aMidiDeviceInfo : midiDeviceInfo) { MidiDevice dev = MidiSystem.getMidiDevice(aMidiDeviceInfo); if (dev instanceof AudioSynthesizer) { return (AudioSynthesizer) dev; } } return null; // No AudioSynthesizer was found, return null. }
/** * Find available AudioSynthesizer */ public static AudioSynthesizer findAudioSynthesizer() throws MidiUnavailableException { // First check if default synthesizer is AudioSynthesizer. Synthesizer synth = MidiSystem.getSynthesizer(); if (synth instanceof AudioSynthesizer) return (AudioSynthesizer) synth; // If default synhtesizer is not AudioSynthesizer, check others. for (Info info : MidiSystem.getMidiDeviceInfo()) { MidiDevice dev = MidiSystem.getMidiDevice(info); if (dev instanceof AudioSynthesizer) return (AudioSynthesizer) dev; } // No AudioSynthesizer was found, return null. return null; }
public static AudioSynthesizer findAudioSynthesizer() throws MidiUnavailableException, IOException, InvalidMidiDataException { // First check if default synthesizer is AudioSynthesizer. Synthesizer synth = MidiSystem.getSynthesizer(); if (synth instanceof AudioSynthesizer) { return (AudioSynthesizer) synth; } // If default synhtesizer is not AudioSynthesizer, check others. Info[] infos = MidiSystem.getMidiDeviceInfo(); for (int i = 0; i < infos.length; i++) { MidiDevice dev = MidiSystem.getMidiDevice(infos[i]); if (dev instanceof AudioSynthesizer) { return (AudioSynthesizer) dev; } } // No AudioSynthesizer was found, return null. return null; }
public static AudioSynthesizer findAudioSynthesizer() throws MidiUnavailableException { // First check if default synthesizer is AudioSynthesizer. Synthesizer synth = MidiSystem.getSynthesizer(); if (synth instanceof AudioSynthesizer) return (AudioSynthesizer) synth; // If default synhtesizer is not AudioSynthesizer, check others. Info[] infos = MidiSystem.getMidiDeviceInfo(); for (int i = 0; i < infos.length; i++) { MidiDevice dev = MidiSystem.getMidiDevice(infos[i]); if (dev instanceof AudioSynthesizer) return (AudioSynthesizer) dev; } // No AudioSynthesizer was found, return null. return null; }
public static AudioSynthesizer findAudioSynthesizer() throws MidiUnavailableException { // First check if default synthesizer is AudioSynthesizer. Synthesizer synth = MidiSystem.getSynthesizer(); if (synth instanceof AudioSynthesizer) return (AudioSynthesizer) synth; // If default synhtesizer is not AudioSynthesizer, check others. Info[] infos = MidiSystem.getMidiDeviceInfo(); for (val info : infos) { MidiDevice dev = MidiSystem.getMidiDevice(info); if (dev instanceof AudioSynthesizer) return (AudioSynthesizer) dev; } // No AudioSynthesizer was found, return null. return null; }
private AudioSynthesizer findAudioSynthesizer() throws MidiUnavailableException { //first check if default synthesizer is AudioSynthesizer. Synthesizer synth = MidiSystem.getSynthesizer(); if (synth instanceof AudioSynthesizer) return (AudioSynthesizer) synth; //if default synthesizer is not AudioSynthesizer, check others. Info[] infos = MidiSystem.getMidiDeviceInfo(); for (val info : infos) { MidiDevice dev = MidiSystem.getMidiDevice(info); if (dev instanceof AudioSynthesizer) return (AudioSynthesizer) dev; } //no AudioSynthesizer was found, return null. return null; }
public static void main(String[] args) throws Exception { AudioSynthesizer synth = new SoftSynthesizer(); AudioFormat format = new AudioFormat(44100, 16, 2, true, false); AudioInputStream stream = synth.openStream(format, null); // Make all voices busy, e.g. // send midi on and midi off on all available voices MidiChannel ch1 = synth.getChannels()[0]; ch1.programChange(48); // Use contionus instrument like string ensemble for (int i = 0; i < synth.getMaxPolyphony(); i++) { ch1.noteOn(64, 64); ch1.noteOff(64); } // Now send single midi on, and midi off message ch1.noteOn(64, 64); ch1.noteOff(64); // Read 10 sec from stream, by this time all voices should be inactvie stream.skip(format.getFrameSize() * ((int)(format.getFrameRate() * 20))); // If no voice are active, then this test will pass VoiceStatus[] v = synth.getVoiceStatus(); for (int i = 0; i < v.length; i++) { if(v[i].active) { throw new RuntimeException("Not all voices are inactive!"); } } // Close the synthesizer after use synth.close(); }
public static void main(String[] args) throws Exception { AudioSynthesizer synth = new SoftSynthesizer(); synth.openStream(null, null); Receiver recv = synth.getReceiver(); if (((SoftReceiver) recv).getMidiDevice() != synth) { throw new Exception("SoftReceiver.getMidiDevice() doesn't return " + "instance of the synthesizer"); } synth.close(); }
MidiToWavRenderer() throws MidiUnavailableException, InvalidMidiDataException, IOException { try { synth = (AudioSynthesizer) MidiSystem.getSynthesizer(); } catch (ClassCastException e) { throw new Error("Please make sure Gervill is included in the classpath: " + "it should be de default synth. These are the currently installed synths: " + Arrays.toString(MidiSystem.getMidiDeviceInfo()), e); } }
public static AudioSynthesizer getLotroAudioSynthesizer() throws MidiUnavailableException, InvalidMidiDataException, IOException { AudioSynthesizer synth = findAudioSynthesizer(); if (synth != null) initLotroSynthesizer(synth); return synth; }
public static void render(Sequence sequence, OutputStream outStream) { try { // Find available AudioSynthesizer. AudioSynthesizer synth = findAudioSynthesizer(); if (synth == null) { logger.warn("No AudioSynhtesizer was found!"); return; } // Open AudioStream from AudioSynthesizer. AudioInputStream stream = synth.openStream(null, null); Generator.loadSoundbankInstruments(synth); // Play Sequence into AudioSynthesizer Receiver. double total = send(sequence, synth.getReceiver()); // Calculate how long the WAVE file needs to be. long len = (long) (stream.getFormat().getFrameRate() * (total + 4)); stream = new AudioInputStream(stream, stream.getFormat(), len); AudioSystem.write(stream, AudioFileFormat.Type.WAVE, outStream); synth.close(); } catch (Exception e) { e.printStackTrace(); } }