20120826

cross platform midi network sync between linux, windows and mac

Some pages about cross platform midi synchronisation between apple mac linux windows and arbitrary devices ( dsmidi, ios, ipads, androids, .... ) let them all play together :D http://nerds.de/en/loopbe1.html LoopBe1 A Free Virtual MIDI Driver LoopBe1 is an internal MIDI device for transferring MIDI data between computer programs. Basically LoopBe1 is an "invisible cable" to connect a MIDI outport of an application to any other application´s MIDI inport. All MIDI data sent to the program´s output is channeled to the receiving applications in realtime. You may connect up to 8 applications to LoopBe's inport and up to 8 applications to the outport, all sending and receiving at the same time dsmidiwifi dsmi http://dsmi.tobw.net/ DSMI consists of libdsmi An open source library for the DS (using devkitARM and libnds) and the iPhone (using XCode) that makes it easy to write software that acts as a MIDI controller or MIDI client. DSMIDIWiFi Server An application that runs on the computer and forwards the MIDI messages received via Wifi to MIDI applications. The DSMIDIWiFi server is open source and is available for MacOS X (intel/ppc) Linux Windows (guess who's the ugliest) http://www.tobias-erichsen.de/software/rtpmidi.html rtpMIDIdownload rtpMIDI rtpMIDI tutorial Network MIDI driver for Windows XP up to Windows 7, 32 and 64 bit. Compatible to the network MIDI included in Apple OS-X and iOS 4.2 http://wifimidi.com/ The Missing Link OSC/MIDI Translator is a standalone hardware device which contains its own WiFi radio, and translates specially-coded OSC messages sent from your mobile device or computer into standard MIDI messages to control synthesizers, drum machines, mixers, digital audio workstations, or anything which responds to MIDI commands. It does this with low latency, high flexibility and configurability, and without the need for a computer anywhere in the control chain. Multiple wireless OSC devices may connect simultaneously to The Missing Link, making collaboration easy. http://opensoundcontrol.org/ OSCulator is needed for Mac OSX and LoopBe1 (or another virtual MIDI driver) is needed for Windows OS. http://www.osculator.net/ "OSCulator connects your devices transforming them into powerful instruments" http://nerds.de/en/loopbe1.html A Free Virtual MIDI Driver LoopBe1 is an internal MIDI device for transferring MIDI data between computer programs. Basically LoopBe1 is an "invisible cable" to connect a MIDI outport of an application to any other application´s MIDI inport. All MIDI data sent to the program´s output is channeled to the receiving applications in realtime. You may connect up to 8 applications to LoopBe's inport and up to 8 applications to the outport, all sending and receiving at the same time. http://www.iannix.org/documentation/EN/intro.html IanniX is a graphical open-source sequencer, based on Iannis Xenakis works, for digital art. IanniX syncs via Open Sound Control (OSC) events and curves to your real-time environment. http://www.nerds.de/en/ipmidi.html MIDI over Ethernet ports - send MIDI over your LAN. You can route MIDI over your Ethernet network, using ipMIDI ports to send and receive MIDI data between computers connected to your LAN. For example, if you have a m usic studio with several computers connected via MIDI interfaces and MIDI cables, ipMIDI will replace them all. Any MIDI application on the LAN can communicate with any other without any new physical connections, eliminating separate MIDI cables and additional hardware interfaces and if you are running a wireless IP network (i.e. 802.11 g/n) you don’t need any cables at all! This is becoming more in demand, the ability to just establish a temporary local wireless network http://midiio.sapp.org/ The Cross-platform MIDI software interface for C++ programming. http://jackaudio.org/download http://jackaudio.org/netjack netJACK1, also known as "netone" Designed and implemented primarily by Torben Hohn, this is the most widely used JACK-over-a-network system. Exists for Linux, OS X and Windows. Can be run with and without data compression. netJACK2 Designed and implemented primarily by Romain Moret at GRAME. Exists for Linux, OS X and Windows. No data compression. jack.trip Designed and implemented by the Soundwire group at CCRMA at Stanford University. Exists for Linux, and OS X. No synchronization, variable data compression. http://www.humatic.de/htools/nmj/ nmj - Network MIDI for Android™ & desktop Java nmj is a pure Java MIDI over ethernet solution for Android™ and desktop Java on all major operating systems, compatible with RTP MIDI (as specified in RFC 4695 and implemented in Apple's Network MIDI in OS X) ipMIDI (and other "raw" solutions like Midi2Net) nmj provides a user defineable number of MIDI channels and is fully configureable through a simple java api. http://mac.freecode.com/projects/multimidicast multimidicast sends and receives MIDI from ALSA sequencers over the network. It uses UDP multicast datagrams, and is thus subscriptionless and plug'n'play. It is designed to interoperate with the Windows software ipMIDI. http://www.rncbc.org/drupal/node/13 Projects http://sourceforge.net/projects/qjackctl http://jackaudio.org 24 January, 2007 - 23:14 — rncbc QjackCtl - JACK Audio Connection Kit Qt GUI Interface QjackCtl is a simple Qt application to control the JACK sound server daemon, specific for the Linux Audio Desktop infrastructure. Written in C++ around the Qt4 toolkit for X11, most exclusively using Qt Designer. Provides a simple GUI dialog for setting several JACK daemon parameters, which are properly saved between sessions, and a way control of the status of the audio server daemon. With time, this primordial interface has become richer by including a enhanced patchbay and connection control features. http://sourceforge.net/projects/qsynth http://www.fluidsynth.org Qsynth - A FluidSynth Qt GUI Interface Qsynth is a FluidSynth GUI front-end application written in C++ around the Qt4 toolkit using Qt Designer. Eventually it may evolve into a softsynth management application allowing the user to control and manage a variety of command line softsynth but for the moment it wraps the excellent FluidSynth. FluidSynth is a command line software synthesizer based on the Soundfont specification. http://sourceforge.net/projects/qsampler http://www.linuxsampler.org Qsampler - A LinuxSampler Qt GUI Interface QSampler is a LinuxSampler GUI front-end application written in C++ around the Qt4 toolkit using Qt Designer. At the moment it just wraps as a client reference interface for the LinuxSampler Control Protocol (LSCP). LinuxSampler is a work in progress. The goal is to produce a free, open source pure software audio sampler with professional grade features, comparable to both hardware and commercial Windows/Mac software samplers. The initial platform will be Linux because it is one of the most promising open source multimedia operating systems. Thanks to various kernel patches and the Jack Audio Connection Kit, Linux is currently able to deliver rock solid sub-5 millisecond MIDI-to-Audio response. http://sourceforge.net/projects/qtractor Qtractor - An Audio/MIDI multi-track sequencer Qtractor is an Audio/MIDI multi-track sequencer application written in C++ with the Qt4 framework. Target platform is Linux, where the Jack Audio Connection Kit (JACK) for audio, and the Advanced Linux Sound Architecture (ALSA) for MIDI, are the main infrastructures to evolve as a fairly-featured Linux desktop audio workstation GUI, specially dedicated to the personal home-studio. http://sourceforge.net/projects/qxgedit QXGEdit - Qt XG Editor QXGEdit is a Qt GUI for editing MIDI System Exclusive files for XG devices (eg. Yamaha DB50XG). http://sourceforge.net/projects/qmidictl http://garage.maemo.org/projects/qmidictl QmidiCtl - A MIDI Remote Controller via UDP/IP Multicast QmidiCtl is a MIDI remote controller application that sends MIDI data over the network, using UDP/IP multicast. Inspired by multimidicast (http://llg.cubic.org/tools) and designed to be compatible with ipMIDI for Windows (http://nerds.de). QmidiCtl has been primarily designed for the Maemo enabled handheld devices, namely the Nokia N900 and also being promoted to the Maemo Package repositories. Nevertheless, QmidiCtl may still be found effective as a regular desktop application as well. http://sourceforge.net/projects/qmidinet QmidiNet - A MIDI Network Gateway via UDP/IP Multicast QmidiNet is a MIDI network gateway application that sends and receives MIDI data (ALSA Sequencer) over the network, using UDP/IP multicast. Inspired by multimidicast (http://llg.cubic.org/tools) and designed to be compatible with ipMIDI for Windows (http://nerds.de). http://llg.cubic.org/tools/ multimidicast sends and receives MIDI from Alsa sequencers over network. http://portawiki.abnoctus.com/view/MidiOverIP.html Linux has a couple of options that work fine, multimidicast is nice and simple and does exactly what I wanted it too. Trouble is, the Windows side is a pay tool to be found at http://nerds.de, not free software. https://github.com/teknopaul/midiOverIP At the end of the day I have got somewhere, I now have Linux and Windows talking happily over midi. I can plug the hardware device in either PC and bang the keys and make that trigger whatever I like. Latency in Linux is exceptionally low, not so in Windows. Tomorrow's job is to get Windows midi to play the note when I tell it to not 100ms after. http://openmuse.org/transport/mip_oview.html Overview of Current Activity in MIDI Over IP Significant current efforts include MWPP, DMIDI, NetMIDI, MIDIOverLAN+ and iMIDI: -- echo -e "\e#8"