Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I want to design a software for my musical instrument which is a rhythmic one (there is no melody). All I want these software to do is :

  1. make the user able to compose music

  2. play what user has composed

for that purpose I need to record diffrent sounds of that instrument and match each sign with the appropriate sound .

Which programming language is adequate for this purpose ?

share|improve this question

closed as off-topic by gnat, Kilian Foth, Bart van Ingen Schenau, GlenH7, Dan Pichelman Oct 24 at 16:17

This question appears to be off-topic. The users who voted to close gave these specific reasons:

  • "Questions about what language, technology, or project one should take up next are off topic on Programmers, as they can only attract subjective opinions for answers. There are too many individual factors behind the question to create answers that will have lasting value. You may be able to get help in The Whiteboard, our chat room." – Bart van Ingen Schenau, Dan Pichelman
  • "Questions asking us to recommend a tool, library or favorite off-site resource are off-topic for Programmers as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it." – gnat, Kilian Foth, GlenH7
If this question can be reworded to fit the rules in the help center, please edit the question.

    
Have you looked at existing software that will meet your needs? –  Bernard Apr 26 '12 at 17:42
    
there is no free form with the performance I want it to have in Iran –  Negin Apr 26 '12 at 18:38

3 Answers 3

up vote 17 down vote accepted

Read about these languages and decide which one suits your need:

SuperCollider

SuperCollider is an environment and programming language for real time audio synthesis and algorithmic composition. It provides an interpreted object-oriented language which functions as a network client to a state of the art, realtime sound synthesis serve

Pure Data

Pd (aka Pure Data) is a real-time graphical programming environment for audio, video, and graphical processing. It is the third major branch of the family of patcher programming languages known as Max (Max/FTS, ISPW Max, Max/MSP, jMax, etc.)

ChucK

is a new (and developing) audio programming language for real-time synthesis, composition, performance, and now, analysis - fully supported on MacOS X, Windows, and Linux. ChucK presents a new time-based, concurrent programming model that's highly precise and expressive (we call this strongly-timed), as well as dynamic control rates, and the ability to add and modify code on-the-fly. In addition, ChucK supports MIDI, OSC, HID device, and multi-channel audio. It's fun and easy to learn, and offers composers, researchers, and performers a powerful programming tool for building and experimenting with complex audio synthesis/analysis programs, and real-time interactive control.

share|improve this answer

You should probably check out Overtone:

Overtone is an open source audio environment being created to explore musical ideas from synthesis and sampling to instrument building, live-coding and collaborative jamming. We use the SuperCollider synth server as the audio engine, with Clojure being used to develop the APIs and the application. Synthesizers, effects, analyzers and musical generators can be programmed in Clojure.

There's a nice video demonstration of Overtone being used for live-coding music and instrument synthesis.

Overtone uses SuperCollider under the hood.

One of the nice things about Overtone is that while it provides an environment for music programming, the language used (Clojure) is a general purpose language. So you aren't forced to learn a new language which is only useful for the music parts.

share|improve this answer

If you want to combine sound with a user interface of your own design (possibly even your own hardware), take a look at Processing. It's a media-rich language that's meant to be easy to pick up, and the culture that's grown up around the language seems to encourage beautiful projects. Take a look at some of the things people have created, many of which involve sound.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.