Post date: May 28, 2016 4:47:15 PM
そのまんま 電子ピアノとかに流すといい感じ(DUO CAPTURE EX → DKC-800 → ピアノ)
なぜかDUO CAPTURE EXのphoneの方からも音が出てしまう なんでー(しかもピアノの方が遅くてズレる)
import java.io.File; import java.io.FileInputStream; import javax.sound.midi.MidiDevice; import javax.sound.midi.MidiDevice.Info; import javax.sound.midi.MidiSystem; import javax.sound.midi.MidiUnavailableException; import javax.sound.midi.Receiver; import javax.sound.midi.Sequence; import javax.sound.midi.Sequencer; import javax.sound.midi.ShortMessage; import javax.sound.midi.Transmitter; Sequencer sequencer; MidiDevice midi; Receiver piano; void setup() { size(800, 600); drop_init(); } void fileSelected(List<File> fs) { try { Info info=MidiSystem.getMidiDeviceInfo()[4]; System.out.println(info.getName()); midi = MidiSystem.getMidiDevice(info); midi.open(); piano=midi.getReceiver(); ShortMessage noteOn1 = new ShortMessage(); noteOn1.setMessage(ShortMessage.NOTE_ON, 60, 90); sequencer = MidiSystem.getSequencer(); sequencer.open(); Sequence sequence = MidiSystem.getSequence(fs.get(0));//Bad Apple!!.mid"))); sequencer.setSequence(sequence); Transmitter transmitter = sequencer.getTransmitter(); transmitter.setReceiver(piano); sequencer.start(); } catch (Exception e) { e.printStackTrace(); } } void stop() { try { midi.close(); } catch(Exception e) { e.printStackTrace(); } super.stop(); } void draw() { } import java.awt.datatransfer.DataFlavor; import java.awt.datatransfer.Transferable; import java.awt.datatransfer.UnsupportedFlavorException; import java.awt.dnd.DnDConstants; import java.awt.dnd.DropTarget; import java.awt.dnd.DropTargetDragEvent; import java.awt.dnd.DropTargetDropEvent; import java.awt.dnd.DropTargetEvent; import java.awt.dnd.DropTargetListener; import java.io.File; import java.io.IOException; import java.util.*; DropTarget dropTarget; void drop_init() { dropTarget = new DropTarget(this, new DropTargetListener() { public void dragEnter(DropTargetDragEvent dtde) { } public void dragOver(DropTargetDragEvent dtde) { } public void dropActionChanged(DropTargetDragEvent dtde) { } public void dragExit(DropTargetEvent dte) { } public void drop(DropTargetDropEvent dtde) { dtde.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE); Transferable trans = dtde.getTransferable(); List<File> fileNameList = null; if (trans.isDataFlavorSupported(DataFlavor.javaFileListFlavor)) { try { fileNameList = (List<File>) trans.getTransferData(DataFlavor.javaFileListFlavor); } catch (UnsupportedFlavorException ex) { } catch (IOException ex) { } } if (fileNameList == null) return; fileSelected(fileNameList); } } ); }