Differences between revisions 2 and 12 (spanning 10 versions)
Revision 2 as of 2004-11-02 06:02:12
Size: 10446
Editor: 211
Comment: +PyMedia
Revision 12 as of 2005-03-01 10:41:37
Size: 13370
Editor: cache5-1
Comment: added milk
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
Alphabetical as of yet non-comprehensive list of music / sound processing / audio software which uses python in some way or the other. == Audio Players ==
Line 3: Line 3:
 * '''AthenaCL''' - AthenaCL is an open-source, cross-platform, command-line program that functions as both a pitch (class) set theory utility (capable of both set and voice-leading modeling and analysis) as well as an object-orientated, Python-scriptable algorithmic front-end to Csound. Combining these features allows rapid and flexible scoring of Csound instruments with the elegance of Python-written texture algorithms. These simple algorithms allow the organization of pitch-materials by ordered content-groups, employing 12-tone set-class and pitch-class notations. Rather than writing its own music, AthenaCL is a compositional assistant: the algorithms create complex textural surfaces, leaving the limitless mixture and placement of these textures and their attributes entirely in the hands of the composer. [http://www.flexatone.net/athena.html >]  * '''cplay''' - a curses front-end for various audio players [http://www.tf.hut.fi/~flu/hacks/cplay/ >]

 * '''Pytone''' - Pytone is a music jukebox written in Python with a curses based GUI. While providing advanced features like crossfading and multiple players, special emphasis is put on ease of use, turning PyTone into an ideal jukebox system for use at parties. [http://www.luga.de/pytone/ >]

 * '''Pymps''' - Pymps is the PYthon Music Playing System - a web based mp3/ogg jukebox. It's written in Python and utilises the PostgreSQL database. [http://www.anti-particle.com/pymps.shtml >]


== Audio (Visual) Programming Frameworks ==


 * '''dublin''' - Dublin is an object oriented framework to generate events in pd, short for [http://iem.kug.ac.at/pd/ Pure Data], a graphical Computer Music System written by [http://crca.ucsd.edu/~msp/ Miller S. Puckette]. Every object is defined in python and then it interacts with other objects in pure-data. The goal is not only the provide an external python facility to pd but also to give the functionality of a sequencer. As for the user interface, it uses Idle, the Python IDE to edit and run event scripts. [http://seqdublin.sourceforge.net/ >]

 * '''pySonic''' - pySonic is a Python wrapper around the high performance, cross platform [http://www.fmod.org/ FMOD sound library]. You get all the benefits of the FMOD library, but in a Pythonic, object oriented package. [http://pysonic.sourceforge.net/ >]

 * '''Loris''' - Loris is an Open Source C++ class library implementing analysis, manipulation, and synthesis of digitized sounds using the Reassigned Bandwidth-Enhanced Additive Sound Model. Loris supports modified resynthesis and manipulations of the model data, such as time- and frequency-scale modification and sound morphing. Loris includes support and wrapper code for building extension modules for various scripting languages (Python, Tcl, Perl). [http://www.cerlsoundgroup.org/Loris/ >]

 * '''Snack''' - The Snack Sound Toolkit is designed to be used with a scripting language such as Tcl/Tk or Python. Using Snack you can create powerful multi-platform audio applications with just a few lines of code. Snack has commands for basic sound handling, such as playback, recording, file and socket I/O. Snack also provides primitives for sound visualization, e.g. waveforms and spectrograms. It was developed mainly to handle digital recordings of speech, but is just as useful for general audio. Snack has also successfully been applied to other one-dimensional signals. The combination of Snack and a scripting language makes it possible to create sound tools and applications with a minimum of effort. This is due to the rapid development nature of scripting languages. As a bonus you get an application that is cross-platform from start. It is also easy to integrate Snack based applications with existing sound analysis software. [http://www.speech.kth.se/snack/ >]
 
 * '''Pyper''' - Pyper is a musical development environment. It allows you to write Python scripts that generates music in real-time. Pyper uses QuickTime Musical Instruments for synthesis. [http://www.stanford.edu/~andyszy/pyper/ >]
     
 * '''Pygame''' - Pygame is a set of Python modules designed for writing games. It is written on top of the excellent SDL library. This allows you to create fully featured games and multimedia programs in the python language. Pygame is highly portable and runs on nearly every platform and operating system. [http://pygame.org/ >]
     
 * '''MusicKit''' - The MusicKit is an object-oriented software system for building music, sound, signal processing, and MIDI applications. It has been used in such diverse commercial applications as music sequencers, computer games, and document processors. Professors and students in academia have used the MusicKit in a host of areas, including music performance, scientific experiments, computer-aided instruction, and physical modeling. Using the Python to Objective C bridge PyObjC enables applications and utilities to be written in Python, an interpreted object-oriented language. [http://musickit.sourceforge.net/ >]
 
 * '''PyMedia''' - PyMedia is a Python module for the multimedia purposes. It provides rich and simple interface for the digital media manipulation( wav, mp3, ogg, avi, divx, dvd, cdda etc ). It includes parsing, demutiplexing, multiplexing, coding and decoding. It can be compiled for Windows, Linux and cygwin. [http://pymedia.org >]
     
 * '''Hypersonic''' - Hypersonic is for building and manipulating sound processing pipelines. It is designed for real-time control. It includes objects for oscillators, filters, file-io, soundcard and memory operations. [http://arrowtheory.com/software/hypersonic/index.html >]

 * '''milk''' - Superceding the older [http://www.quitte.de/nam.html Nam], milk provides Python with classes representing key MIDI sequencer components: MIDI I/O, EventLists, Plugins and a realtime Flow class. The components can be freely interconnected in a fashion very similar to physical MIDI cabling, however the milk event system is not limited to MIDI events alone; you can define your own extensions should the need arise. [http://www.quitte.de/milk.html >]

 

== Csound ==

 * '''Csound / CsoundVST''' - Csound is a programming language designed and optimized for sound rendering and signal processing. The language consists of over 450 opcodes - the operational codes that the sound designer uses to build "instruments" or patches. Although there are an increasing number of graphical "front-ends" for the language, you typically design and modify your patches using a word processor. Usually, you create two text files - a .orc (orchestra) file containing the "instruments," and a .sco (score) file containing the "notes." In Csound, the complexity of your patches is limited by your knowledge, interest, and need, but never by the language itself. For instance, a 22,050 oscillator additive synthesizer with 1024 stage envelope generators on each is merely a copy-and-paste operation. The same goes for a 1 million voice granular texture! Have you ever dreamed of sounds such as these? Well in Csound you can. And in Csound these dreams can come true! [http://www.csounds.com/ >]
Line 7: Line 41:
 * '''Csound / CsoundVST''' - Csound is a programming language designed and optimized for sound rendering and signal processing. The language consists of over 450 opcodes - the operational codes that the sound designer uses to build "instruments" or patches. Although there are an increasing number of graphical "front-ends" for the language, you typically design and modify your patches using a word processor. Usually, you create two text files - a .orc (orchestra) file containing the "instruments," and a .sco (score) file containing the "notes." In Csound, the complexity of your patches is limited by your knowledge, interest, and need, but never by the language itself. For instance, a 22,050 oscillator additive synthesizer with 1024 stage envelope generators on each is merely a copy-and-paste operation. The same goes for a 1 million voice granular texture! Have you ever dreamed of sounds such as these? Well in Csound you can. And in Csound these dreams can come true! [http://www.csounds.com/ >]  * '''PythonSound''' - The Python Sound Project aims to develop a productive community around Python, Csound and other synthesis engines as tools for algorithmic and computer assisted composition of electroacoustic music. [http://pythonsound.sourceforge.net/ >]
     
 * '''PMask''' - Python implementation of CMask, a stochastic event generator for Csound. [http://web.tiscali.it/mupuxeddu/csound/index.html >]
Line 9: Line 45:
 * '''dublin''' - Dublin is an object oriented framework to generate events in pd, short for [http://iem.kug.ac.at/pd/ Pure Data], a graphical Computer Music System written by [http://crca.ucsd.edu/~msp/ Miller S. Puckette]. Every object is defined in python and then it interacts with other objects in pure-data. The goal is not only the provide an external python facility to pd but also to give the functionality of a sequencer. As for the user interface, it uses Idle, the Python IDE to edit and run event scripts. [http://seqdublin.sourceforge.net/ >]  * '''athenaCL''' - modular, polyphonic, poly-paradigm algorithmic music composition in an interactive command-line environment. The athenaCL system is an open-source, cross-platform, object-oriented composition tool written in Python; it can be scripted and embedded, includes integrated instrument libraries, post-tonal and microtonal pitch modeling tools, multiple-format graphical outputs, and musical output in Csound, MIDI, audio file, XML, and text formats. [http://www.flexatone.net/athena.html >]


== Ear Training ==
Line 13: Line 52:
 * '''Hypersonic''' - Hypersonic is for building and manipulating sound processing pipelines. It is designed for real-time control. It includes objects for oscillators, filters, file-io, soundcard and memory operations. [http://arrowtheory.com/software/hypersonic/index.html >]
Line 15: Line 53:

== MIDI Mania ==

 * '''KeyKit''' - KeyKit used to be called Keynote. It is a programming language and graphical user interface for MIDI, useful for both algorithmic and realtime musical experimentation. (Note: Although technically not a python product, if you're into MIDI, KeyKit is one of the best free cross-platform tools to use with the python apps on this page. I guarantee you will love it! -- AliaKhouri) . [http://nosuch.com/keykit/ >]

 * '''PMIDI''' - The PMIDI library allows the generation of short MIDI sequences in Python code.The interface allows a programmer to specify songs, instruments, measures, and notes. Playback is handled by the Windows MIDI stream API so proper playback timing is handled by the OS rather than by client code. The library is especially useful for generating earcons. [http://sourceforge.net/projects/uncassist >]
     
 * '''PyMIDI''' - The MIDI module provides MIDI input parsers for Python [http://www.hyperreal.org/~est/python/MIDI/ >]

 * '''PythonMIDI''' - The Python Midi package is a collection of classes handling Midi in and output in the Python programming language. [http://www.mxm.dk/products/public/pythonmidi >]

 * '''win32midi''' - A python extension for accessing the Win32 MIDI APIs on MS Windows Platforms. It also provides a simple player class for playing with MIDI sound using the synthesizer on the soundcard/onboard soundchip. A sample script is provided for testing it out. As it is still a work in progress, bugs are expected. [http://www.qoolife.com/csw-services/Software/win32midi.html >]

 * '''winmidi.pyd''' - A demo? of a python extension interfacing to the native windows midi libs that developed from [http://www.sabren.net/rants/2000/01/20000129a.php3 earlier] attempts. [http://www.sabren.net/code/python/midi/ >]

 * '''midi.py''' - Python MIDI classes: meaningful data structures that represent MIDI events and other objects. You can read MIDI files to create such objects, or generate a collection of objects and use them to write a MIDI file. [http://groups.google.com/groups?hl=en&selm=3C0F67FE.96E7CAE8%40alum.mit.edu >]

 * '''Pymprovisator''' - Pymprovisator is a program that emulates the program Band in a Box from PG Music. You can think in it like the electronic version of the books+CD from Jamey Aebersold. You set the basic parameters in a song: title, style, key, chords sequence,... and the program will generate a Midi file with the correct accompaniment. [http://pymprovisator.sourceforge.net/ >]
    
 

== MP3 stuff ==

 * '''mpgedit''' - mpgedit is an MPEG 1 layer 1/2/3 (mp3), MPEG 2, and MPEG 2.5 audio file editor that is capable of processing both Constant Bit Rate (CBR) and Variable Bit Rate (VBR) encoded files. mpgedit can cut an input MPEG file into one or more output files, as well as join one or more input MPEG files into a single output file. Since no file decoding / encoding occurs during editing, there is no audio quality loss when editing with mpgedit. A python development toolkit enables Python developers to utilize the core mpgedit API, providing access to mp3 file playback, editing and indexing functionality. [http://www.mpgedit.org/mpgedit/ >]
 
Line 19: Line 82:
 * '''m3ute2''' - m3ute2 is program for copying, moving, and otherwise organizing M3U playlists and directories. m3ute2 can also generate detailed reports about lists of files. [http://sourceforge.net/projects/m3ute2/ >]

 * '''midi.py''' - Python MIDI classes: meaningful data structures that represent MIDI events and other objects. You can read MIDI files to create such objects, or generate a collection of objects and use them to write a MIDI file. [http://groups.google.com/groups?hl=en&selm=3C0F67FE.96E7CAE8%40alum.mit.edu >]

 * '''MusicKit''' - The MusicKit is an object-oriented software system for building music, sound, signal processing, and MIDI applications. It has been used in such diverse commercial applications as music sequencers, computer games, and document processors. Professors and students in academia have used the MusicKit in a host of areas, including music performance, scientific experiments, computer-aided instruction, and physical modeling. Using the Python to Objective C bridge PyObjC enables applications and utilities to be written in Python, an interpreted object-oriented language. [http://musickit.sourceforge.net/ >]

 * '''Nam: not about music''' - A Python Extension for Digital Music Applications. Its purpose is Flexible realtime MIDI and audio processing and sequencing. [http://www.quitte.de/nam.html >]

 * '''OSC.py''' - Python classes for [http://cnmat.cnmat.berkeley.edu/OpenSoundControl/ OpenSoundControl] library client functionality. The OSC homepage is at [http://web.tiscali.it/mupuxeddu/csound/OSC.py >]

 * '''PMIDI''' - The PMIDI library allows the generation of short MIDI sequences in Python code.The interface allows a programmer to specify songs, instruments, measures, and notes. Playback is handled by the Windows MIDI stream API so proper playback timing is handled by the OS rather than by client code. The library is especially useful for generating earcons. [http://sourceforge.net/projects/uncassist >]

 * '''PyMedia''' - PyMedia is a Python module for the multimedia purposes. It provides rich and simple interface for the digital media manipulation( wav, mp3, ogg, avi, divx, dvd, cdda etc ). It includes parsing, demutiplexing, multiplexing, coding and decoding. It can be compiled for Windows, Linux and cygwin. [http://pymedia.org >]

 * '''PMask''' - Python implementation of CMask, a stochastic event generator for Csound. [http://web.tiscali.it/mupuxeddu/csound/index.html >]
Line 37: Line 84:
 * '''Pymprovisator''' - Pymprovisator is a program that emulates the program Band in a Box from PG Music. You can think in it like the electronic version of the books+CD from Jamey Aebersold. [http://pymprovisator.sourceforge.net/ >]  * '''m3ute2''' - m3ute2 is program for copying, moving, and otherwise organizing M3U playlists and directories. m3ute2 can also generate detailed reports about lists of files. [http://sourceforge.net/projects/m3ute2/ >]
 
 * '''mmpython''' - MMPython is a Media Meta Data retrieval framework. It retrieves metadata from mp3, ogg, avi, jpg, tiff and other file formats. Among others it thereby parses ID3v2, ID3v1, EXIF, IPTC and Vorbis data into an object oriented struture. [http://sourceforge.net/projects/mmpython/ >]

 * see also: PySonic for programmable MP3 playback


== Protocols ==
Line 41: Line 95:
 * '''PyMIDI''' - The MIDI module provides MIDI input parsers for Python [http://www.hyperreal.org/~est/python/MIDI/ >]

 * '''Pygame''' - Pygame is a set of Python modules designed for writing games. It is written on top of the excellent SDL library. This allows you to create fully featured games and multimedia programs in the python language. Pygame is highly portable and runs on nearly every platform and operating system. [http://pygame.org/ >]

 * '''Pymps''' - Pymps is the PYthon Music Playing System - a web based mp3/ogg jukebox. It's written in Python and utilises the PostgreSQL database. [http://www.anti-particle.com/pymps.shtml >]

 * '''Pyper''' - Pyper is a musical development environment. It allows you to write Python scripts that generates music in real-time. Pyper uses QuickTime Musical Instruments for synthesis. [http://www.stanford.edu/~andyszy/pyper/ >]

 * '''pySonic''' - pySonic is a Python wrapper around the high performance, cross platform [http://www.fmod.org/ FMOD sound library]. You get all the benefits of the FMOD library, but in a Pythonic, object oriented package. [http://pysonic.sourceforge.net/ >]

 * '''PythonMIDI''' - The Python Midi package is a collection of classes handling Midi in and output in the Python programming language. [http://www.mxm.dk/products/public/pythonmidi >]

 * '''PythonSound''' - The Python Sound Project aims to develop a productive community around Python, Csound and other synthesis engines as tools for algorithmic and computer assisted composition of electroacoustic music. [http://pythonsound.sourceforge.net/ >]

 * '''Snack''' - The Snack Sound Toolkit is designed to be used with a scripting language such as Tcl/Tk or Python. Using Snack you can create powerful multi-platform audio applications with just a few lines of code. Snack has commands for basic sound handling, such as playback, recording, file and socket I/O. Snack also provides primitives for sound visualization, e.g. waveforms and spectrograms. It was developed mainly to handle digital recordings of speech, but is just as useful for general audio. Snack has also successfully been applied to other one-dimensional signals. The combination of Snack and a scripting language makes it possible to create sound tools and applications with a minimum of effort. This is due to the rapid development nature of scripting languages. As a bonus you get an application that is cross-platform from start. It is also easy to integrate Snack based applications with existing sound analysis software. [http://www.speech.kth.se/snack/ >]

 * '''winmidi.pyd''' - A demo? of a python extension interfacing to the native windows midi libs that developed from [http://www.sabren.net/rants/2000/01/20000129a.php3 earlier] attempts. [http://www.sabren.net/code/python/midi/ >]
 * '''OSC.py''' - Python classes for [http://cnmat.cnmat.berkeley.edu/OpenSoundControl/ OpenSoundControl] library client functionality. The OSC homepage is at [http://web.tiscali.it/mupuxeddu/csound/OSC.py >]
     

Audio Players

  • cplay - a curses front-end for various audio players [http://www.tf.hut.fi/~flu/hacks/cplay/ >]

  • Pytone - Pytone is a music jukebox written in Python with a curses based GUI. While providing advanced features like crossfading and multiple players, special emphasis is put on ease of use, turning PyTone into an ideal jukebox system for use at parties. [http://www.luga.de/pytone/ >]

  • Pymps - Pymps is the PYthon Music Playing System - a web based mp3/ogg jukebox. It's written in Python and utilises the PostgreSQL database. [http://www.anti-particle.com/pymps.shtml >]

Audio (Visual) Programming Frameworks

  • dublin - Dublin is an object oriented framework to generate events in pd, short for [http://iem.kug.ac.at/pd/ Pure Data], a graphical Computer Music System written by [http://crca.ucsd.edu/~msp/ Miller S. Puckette]. Every object is defined in python and then it interacts with other objects in pure-data. The goal is not only the provide an external python facility to pd but also to give the functionality of a sequencer. As for the user interface, it uses Idle, the Python IDE to edit and run event scripts. [http://seqdublin.sourceforge.net/ >]

  • pySonic - pySonic is a Python wrapper around the high performance, cross platform [http://www.fmod.org/ FMOD sound library]. You get all the benefits of the FMOD library, but in a Pythonic, object oriented package. [http://pysonic.sourceforge.net/ >]

  • Loris - Loris is an Open Source C++ class library implementing analysis, manipulation, and synthesis of digitized sounds using the Reassigned Bandwidth-Enhanced Additive Sound Model. Loris supports modified resynthesis and manipulations of the model data, such as time- and frequency-scale modification and sound morphing. Loris includes support and wrapper code for building extension modules for various scripting languages (Python, Tcl, Perl). [http://www.cerlsoundgroup.org/Loris/ >]

  • Snack - The Snack Sound Toolkit is designed to be used with a scripting language such as Tcl/Tk or Python. Using Snack you can create powerful multi-platform audio applications with just a few lines of code. Snack has commands for basic sound handling, such as playback, recording, file and socket I/O. Snack also provides primitives for sound visualization, e.g. waveforms and spectrograms. It was developed mainly to handle digital recordings of speech, but is just as useful for general audio. Snack has also successfully been applied to other one-dimensional signals. The combination of Snack and a scripting language makes it possible to create sound tools and applications with a minimum of effort. This is due to the rapid development nature of scripting languages. As a bonus you get an application that is cross-platform from start. It is also easy to integrate Snack based applications with existing sound analysis software. [http://www.speech.kth.se/snack/ >]

  • Pyper - Pyper is a musical development environment. It allows you to write Python scripts that generates music in real-time. Pyper uses QuickTime Musical Instruments for synthesis. [http://www.stanford.edu/~andyszy/pyper/ >]

  • Pygame - Pygame is a set of Python modules designed for writing games. It is written on top of the excellent SDL library. This allows you to create fully featured games and multimedia programs in the python language. Pygame is highly portable and runs on nearly every platform and operating system. [http://pygame.org/ >]

  • MusicKit - The MusicKit is an object-oriented software system for building music, sound, signal processing, and MIDI applications. It has been used in such diverse commercial applications as music sequencers, computer games, and document processors. Professors and students in academia have used the MusicKit in a host of areas, including music performance, scientific experiments, computer-aided instruction, and physical modeling. Using the Python to Objective C bridge PyObjC enables applications and utilities to be written in Python, an interpreted object-oriented language. [http://musickit.sourceforge.net/ >]

  • PyMedia - PyMedia is a Python module for the multimedia purposes. It provides rich and simple interface for the digital media manipulation( wav, mp3, ogg, avi, divx, dvd, cdda etc ). It includes parsing, demutiplexing, multiplexing, coding and decoding. It can be compiled for Windows, Linux and cygwin. [http://pymedia.org >]

  • Hypersonic - Hypersonic is for building and manipulating sound processing pipelines. It is designed for real-time control. It includes objects for oscillators, filters, file-io, soundcard and memory operations. [http://arrowtheory.com/software/hypersonic/index.html >]

  • milk - Superceding the older [http://www.quitte.de/nam.html Nam], milk provides Python with classes representing key MIDI sequencer components: MIDI I/O, EventLists, Plugins and a realtime Flow class. The components can be freely interconnected in a fashion very similar to physical MIDI cabling, however the milk event system is not limited to MIDI events alone; you can define your own extensions should the need arise. [http://www.quitte.de/milk.html >]

Csound

  • Csound / CsoundVST - Csound is a programming language designed and optimized for sound rendering and signal processing. The language consists of over 450 opcodes - the operational codes that the sound designer uses to build "instruments" or patches. Although there are an increasing number of graphical "front-ends" for the language, you typically design and modify your patches using a word processor. Usually, you create two text files - a .orc (orchestra) file containing the "instruments," and a .sco (score) file containing the "notes." In Csound, the complexity of your patches is limited by your knowledge, interest, and need, but never by the language itself. For instance, a 22,050 oscillator additive synthesizer with 1024 stage envelope generators on each is merely a copy-and-paste operation. The same goes for a 1 million voice granular texture! Have you ever dreamed of sounds such as these? Well in Csound you can. And in Csound these dreams can come true! [http://www.csounds.com/ >]

  • blue - blue is a java program for use with Csound. It's interface is much like a digital multitrack, but differs in that there timelines within timelines (polyObjects). This allows for a compositional organization in time that seems to me to be very intuitive, informative, and flexible. soundObjects are the building blocks within blue's score timeline. soundObjects can be lists of notes, algorithmic generators, python script code, csound instrument definitions, and whatever plugins that are developed for blue. these soundObjects may be text based, but they can be completely GUI based as well. [http://csounds.com/stevenyi/blue/index.html >]

  • PythonSound - The Python Sound Project aims to develop a productive community around Python, Csound and other synthesis engines as tools for algorithmic and computer assisted composition of electroacoustic music. [http://pythonsound.sourceforge.net/ >]

  • PMask - Python implementation of CMask, a stochastic event generator for Csound. [http://web.tiscali.it/mupuxeddu/csound/index.html >]

  • athenaCL - modular, polyphonic, poly-paradigm algorithmic music composition in an interactive command-line environment. The athenaCL system is an open-source, cross-platform, object-oriented composition tool written in Python; it can be scripted and embedded, includes integrated instrument libraries, post-tonal and microtonal pitch modeling tools, multiple-format graphical outputs, and musical output in Csound, MIDI, audio file, XML, and text formats. [http://www.flexatone.net/athena.html >]

Ear Training

  • GNU Solfege - GNU Solfege is a computer program written to help you practice ear training.It can be useful when practicing the simple and mechanical exercises. [http://solfege.org/ >]

MIDI Mania

  • KeyKit - KeyKit used to be called Keynote. It is a programming language and graphical user interface for MIDI, useful for both algorithmic and realtime musical experimentation. (Note: Although technically not a python product, if you're into MIDI, KeyKit is one of the best free cross-platform tools to use with the python apps on this page. I guarantee you will love it! -- AliaKhouri) . [http://nosuch.com/keykit/ >]

  • PMIDI - The PMIDI library allows the generation of short MIDI sequences in Python code.The interface allows a programmer to specify songs, instruments, measures, and notes. Playback is handled by the Windows MIDI stream API so proper playback timing is handled by the OS rather than by client code. The library is especially useful for generating earcons. [http://sourceforge.net/projects/uncassist >]

  • PyMIDI - The MIDI module provides MIDI input parsers for Python [http://www.hyperreal.org/~est/python/MIDI/ >]

  • PythonMIDI - The Python Midi package is a collection of classes handling Midi in and output in the Python programming language. [http://www.mxm.dk/products/public/pythonmidi >]

  • win32midi - A python extension for accessing the Win32 MIDI APIs on MS Windows Platforms. It also provides a simple player class for playing with MIDI sound using the synthesizer on the soundcard/onboard soundchip. A sample script is provided for testing it out. As it is still a work in progress, bugs are expected. [http://www.qoolife.com/csw-services/Software/win32midi.html >]

  • winmidi.pyd - A demo? of a python extension interfacing to the native windows midi libs that developed from [http://www.sabren.net/rants/2000/01/20000129a.php3 earlier] attempts. [http://www.sabren.net/code/python/midi/ >]

  • midi.py - Python MIDI classes: meaningful data structures that represent MIDI events and other objects. You can read MIDI files to create such objects, or generate a collection of objects and use them to write a MIDI file. [http://groups.google.com/groups?hl=en&selm=3C0F67FE.96E7CAE8%40alum.mit.edu >]

  • Pymprovisator - Pymprovisator is a program that emulates the program Band in a Box from PG Music. You can think in it like the electronic version of the books+CD from Jamey Aebersold. You set the basic parameters in a song: title, style, key, chords sequence,... and the program will generate a Midi file with the correct accompaniment. [http://pymprovisator.sourceforge.net/ >]

MP3 stuff

  • mpgedit - mpgedit is an MPEG 1 layer 1/2/3 (mp3), MPEG 2, and MPEG 2.5 audio file editor that is capable of processing both Constant Bit Rate (CBR) and Variable Bit Rate (VBR) encoded files. mpgedit can cut an input MPEG file into one or more output files, as well as join one or more input MPEG files into a single output file. Since no file decoding / encoding occurs during editing, there is no audio quality loss when editing with mpgedit. A python development toolkit enables Python developers to utilize the core mpgedit API, providing access to mp3 file playback, editing and indexing functionality. [http://www.mpgedit.org/mpgedit/ >]

  • ID3.py - This module allows one to read and manipulate so-called ID3 informational tags on MP3 files through an object-oriented Python interface. [http://id3-py.sourceforge.net/ >]

  • id3reader.py - Id3reader.py is a Python module that reads ID3 metadata tags in MP3 files. It can read ID3v1, ID3v2.2, ID3v2.3, or ID3v2.4 tags. It does not write tags at all. [http://www.nedbatchelder.com/code/modules/id3reader.html >]

  • PyID3 - pyid3 is a pure python library for reading and writing id3 tags (version 1.0, 1.1, 2.3, 2.4, readonly support for 2.2). What makes this better than all the others? Testing! This library has been tested against some 200+ MB of just tags. [http://icepick.info/projects/pyid3/ >]

  • m3ute2 - m3ute2 is program for copying, moving, and otherwise organizing M3U playlists and directories. m3ute2 can also generate detailed reports about lists of files. [http://sourceforge.net/projects/m3ute2/ >]

  • mmpython - MMPython is a Media Meta Data retrieval framework. It retrieves metadata from mp3, ogg, avi, jpg, tiff and other file formats. Among others it thereby parses ID3v2, ID3v1, EXIF, IPTC and Vorbis data into an object oriented struture. [http://sourceforge.net/projects/mmpython/ >]

  • see also: PySonic for programmable MP3 playback

Protocols

PythonInMusic (last edited 2024-01-09 21:57:16 by RaphaelDoursenaud)

Unable to edit the page? See the FrontPage for instructions.