All You Need for Music Software Development

If you are a programmer in the field of music software development or if you need to add MIDI, audio or music notation features to your application, this site is for you.

Working in the music software development industry since more than 20 years, I decided to share my experience to help you implement advanced music features in your applications.

Most of the information you will find on this site comes from my experience in developing the Pizzicato music software, a general music software for handling MIDI, audio and advanced music notation and composition.

You will find information and tools on how to add advanced music features to any Windows, Mac and iPad application.

The information is divided into the following topics:

Handling MIDI Programming

MIDI means Musical Interface Digital Instrument. It is basically a real time serial communication protocol to exchange playback information between synthesizers, organs, digital pianos and/or computers. The following page contains a MIDI tutorial to better understand the MIDI language:

Read the MIDI tutorial by clicking here...

A MIDI file is a binary file that contains the flow of information to play a music piece (extension ".mid").

General Midi (GM) is an effort to standardize the instruments and controllers found in the MIDI protocol. MIDI files can then be played back on any GM compatible reader and will sound at least with the correct instruments and effects.

Windows as well as Mac OS X both offer an application programming interface (API) to handle MIDI for music software development.

You will find here, in the near future, tutorials to learn more about how to handle MIDI programming.

Handling Audio Programming

An audio signal simply transpose the instantaneous air pressure of the sound at any given moment, into digital values.

In CD quality, the audio signal contains 44,100 audio samples per second; for each sample, the left and right pressure values are coded on an unsigned 16 bits integer.

The simplest and most common audio file is the WAVE (extension .wav) file format.

Windows as well as Mac OS X both offer an application programming interface (API) to handle audio for music software development.

You will find here, in the near future, tutorials to learn more about how to handle audio programming.

The Structure of Music Notation

The information needed to represent the graphical aspects of a sheet of music can be very precisely defined.

Over the years, the MusicXML file format has become an industry standard to exchange sheets of music between various music applications.

To draw the content of a sheet of music directly with the Windows and Mac graphic API requires quite a lot of programming work.

You will find here, in the future, tutorials to learn more about how to handle music notation in a program.

The Music Notation Library

The MNL SDK (Music Notation Library Software Development Kit) is our licensed solution to easily add advanced music notation features to any Windows, Mac or iPad application.

You can use it for any music software development.

It is a library of functions that you can call in C, C++ or Objective C, to add the following main features to your application:

  • Read and write MIDI, MusicXML and native music files
  • Export to a PDF file as well as to an audio file
  • Display the music content
  • Play it in real time in MIDI or Audio
  • Access and edit the detailed music data structure of the score
  • Display a piano keyboard or guitar fret board
  • Create a new score, add measures and music content
  • Transpose, change instruments and volumes
  • Import SoundFont sample files to play the score in audio
  • Add text blocks and lyrics, guitar tablature and chord symbols
  • Get information about the musical objects clicked by the user
  • And more...

Click here to know more about the Music Notation Library SDK...

Music Software Development

Developing music software is my passion since more than 20 years. If you read this text, then you must probably have some interest for it too, haven't you?

I hope you will find here many information to help you add music notation and playback features to the programs you develop on Windows or Mac.

Feel free to e-mail me questions, suggestions or remarks:

info@arpegemusic.com

I am here to help you, simply contact me.

Musically yours,

Dominique Vandenneucker
Music Software Designer
since 1992 at Arpege Music


Table of Contents

With the Music SDK, Add Music Features to any Mac or Windows Application
The music SDK (Software Development Tool) provides you with a library of C functions that you can use to add advanced music notation features to any program.
MIDI tutorial for programmers
This MIDI tutorial will help programmers understand the MIDI language
Music data structures for music software development
There are several ways to create music data structures for programming, according to what your software must do.