Music Player Network Home Guitar Player Magazine Keyboard Magazine Bass Player Magazine EQ Magazine
Topic Options
#1996640 - 09/29/08 06:10 AM programming language for music applications
andyv Offline
Member

Registered: 09/26/08
Posts: 2
Loc: RI, USA
Hi. I hope you find this question of some relevance. I'm a student of computer programming. I was wondering what programming language is used to create the software we use for stuff like sequencing, soft-synthes, music apps for iPhones, etc.
Thanks. Andy V

Top
#2000070 - 10/09/08 04:54 PM Re: programming language for music applications [Re: andyv]
Stephen Fortner Moderator Offline
But who is number 1 ? ...
MP Hall of Fame Member

Registered: 01/18/01
Posts: 2461
Loc: Bump City, CA, UNITED STATES
A whole lot of soft synth plug-ins used to be developed in a language called CSound, and many still are. I'd have to get back to you on what DAWs are developed in, though I imagine some of the code is in a low-level language such as C++ and other aspects are put together in higher-level, object-oriented development environments.

A huge resource for modeling is a program called Mathlab, which was on demo at the Analog Devices booth at this year's AES show. It's not a language, it's a modeling environment that basically lets you test out how a system of interrelated processors will sound before you commit it to code or to a DSP chip. This is pretty heady stuff - you can use it to model the behavior of a synth filter, or a cyclone, or anything in between.
_________________________
"I'm just a confused musician who got sidetracked into this damned word business..." -Hunter S. Thompson

Stephen Fortner
Executive Editor, Keyboard Magazine
NewBay Media LLC

Top
#2002062 - 10/15/08 03:07 PM Re: programming language for music applications [Re: Stephen Fortner]
poserp Offline
Member

Registered: 10/14/08
Posts: 5
The Analog Devices bit is a plugin for the widely-available math software package Matlab but it appears to be restricted to code that's destined to run on their processors (they have their own language, VisualDSP++, that you use to code for their chips. I believe that the plugin ultimately spits out VisualDSP++ code after you're done doing your design work.). Matlab in and of itself could be used to model the mathematics of what's going on in DSP calculations, along with many other math-related software packages (Mathematica, PARI-GP, Maple, etc). That math is universal regardless of which programming language you choose to implement it.

C++ is an object-oriented language, a "low-level" language would be C (not the same as C++) or Assembly language. For the most part I believe that DSP algorithms are written in C and/or Assembly (if the target processor or processors are known) and the higher-level control code in C++. Some DSP libraries are starting to appear for newer languages as well, like .net or Java. These, however, are generally less efficient and better suited for prototyping than running real-time high performance code (unless you plan to use lots of hardware horsepower to make up the difference).

iPhone development is done using Objective C, which is a variant of C that is object-oriented. You can read the full spec here:

http://developer.apple.com/documentation..._section_1.html

However, you need to be running MacOS v10.5.4 or greater to get into iPhone development. The SDK includes a sort of "virtual" iPhone that you can use to test your code. You can sign up to download a free version of the SDK on dev.apple.com.

Top