reading midi input

is there a module to read midi input (live) with python?


I used PyPortMidi successfully in 2006 to record Midi input in real time (on OS X). It should work on Windows, OS X, and Linux. It was very light on the processor side, which was great!


I had this discussion like ages ago once, and the consensus kinda ended up on using MidiShare, which has Python bindings. But things may have moved on since then, that was like 2004 or something. So it's not a recommendation, just a "check it out".


  • Cannot retrieve file from FutureAccessList if I use getFileAsync instead of Picker.pickSingleFileAsy
  • Converting a frequency into a -1..1 float
  • Getting started with MIDI
  • track.add, MidiEvent, and shortMessage (volume control)
  • Redmine3.3.0-1 Bundle install server 500 Error
  • MIDI Song with CC
  • Read and write stereo .wav file with python + metadatas
  • Silverstripe - filter DataObject list by many many relationship
  • Invalid object name 'dbo.Item'
  • Jenkins: FATAL: Could not initialize class hudson.util.ProcessTree$UnixReflection
  • TextToSpeech.setEngineByPackageName() triggers NullPointerException
  • Breaking out column by groups in Pandas
  • How solve “Qt: Untested Windows version 10.0 detected!”
  • How can the INSERT … ON CONFLICT (id) DO UPDATE… syntax be used with a sequence ID?
  • Marklogic : Query response time is very high
  • Time complexity of a program which involves multiple variables
  • Why querying a date BC is changed to AD in Java?
  • Record samples being played with OpenAL
  • Is my CUDA kernel really runs on device or is being mistekenly executed by host in emulation?
  • Apache 2.4 and php-fpm does not trigger apache http basic auth for php pages
  • Sony Xperia Z Tablet not found by adb
  • Obtain ObjectIdHex value from mgo query
  • Does CUDA 5 support STL or THRUST inside the device code?
  • Javascript convert timezone issue
  • Why is the timeout on a windows udp receive socket always 500ms longer than set by SO_RCVTIMEO?
  • Apache 2.4 - remove | delete | uninstall
  • R: gsub and capture
  • jqPlot EnhancedLegendRenderer plugin does not toggle series for Pie charts
  • Cannot Parse HTML Data Using Android / JSOUP
  • Comma separated Values
  • InvalidAuthenticityToken between subdomains when logging in with Rails app
  • SQL merge duplicate rows and join values that are different
  • How do you join a server to an Active Directory (domain)?
  • Understanding cpu registers
  • Can Visual Studio XAML designer handle font family names with spaces as a resource?
  • LevelDB C iterator
  • How can I remove ASP.NET Designer.cs files?
  • Are Kotlin's Float, Int etc optimised to built-in types in the JVM? [duplicate]
  • Can't mass-assign protected attributes when import data from csv file
  • How to load view controller without button in storyboard?