3

I'm so curious about music, and I also tried to learn to play some instruments, but due to some personal reasons I can't continue with it. Now I'm a software developer, which is my passion, but my love of music didn't end. Could you share any examples of music programming languages that professional musicians use?

12
  • 2
    No idea, what you are asking for. Professional musician of course have mainly instruments, but the typical recording software they use in addition provides no benefit for you. Can you elaborate that?
    – guidot
    Nov 28, 2018 at 12:57
  • 2
  • 1
    @enharmonic, doesn't seem a dup of that SuperCollieder question about programming languages. I think this one is simply about DAWs. Nov 28, 2018 at 22:14
  • 1
    @MichaelCurtis: At least now programming languages is explicitly stated in the question, but the question is still rather blurry.
    – guidot
    Nov 29, 2018 at 8:34
  • 3
    OP, you might be interested in the CSound music development system.
    – John Wu
    Dec 1, 2018 at 3:06

6 Answers 6

2

It will be very challenging to write software for a problem domain you don't understand. For example, if you write accounting software, you must be familiar with accounting as a problem domain: the what, where, who, how of it - what kind of actors there are, their interactions, roles, dependencies, purpose, limitations, etc. Music is one such problem domain. In order to write music software, you have to familiarize yourself with the elements of music and their interactions. I think that learning to play an instrument is a kind of a prerequisite for creating music software - but your instrument doesn't have to be any traditional physical instrument at all, it can be a piece of software. You must learn the musical phenomena and interactions that happen with that piece of software, and learn how it feels to you yourself, not by reading textual descriptions of how someone else felt it. You do something with your instrument, e.g. produce notes, and you listen to it and observe how each "operation" affects your feelings. You make changes, do something different, and observe again.

If you want to start the journey and make your own music-generating software, it might not be a bad idea to study conventional physical musical instruments and look at them as models for the program. For example the piano is a very important instrument to know, because in a sense, it is a physical embodiment of many essential concepts of Western music theory, like the 12-tone division of the octave, the white and black keys, the dynamics, etc. Similarly, look at other instruments. Many physical features and characteristics of instruments have a direct mapping to musically relevant concepts that you might model in your software.

However, before trying to create a completely new software instrument from scratch, I recommend you to take an existing software instrument and learn to play it. The most important thing, just like with any musical instrument, is to listen to the sounds you're creating. Listen to existing pieces of music and try to reproduce it in some way with your instrument, i.e. "by ear". Pick an existing melody line and recreate it with your instrument by ear. Jingle Bells, Yesterday, Twinkle Twinkle Little Star, things like that. Then learn to create harmony, i.e. chords, to accompany the melody line. Do not look at ready-made answers. Try to do it by ear. Listen. Make changes. Listen. Music is all about listening, no matter what your instrument is.

Edit: I need to add that you have to understand the word "instrument" very broadly. An entire DAW suite can be your instrument, in the way that some music producers have been described to use the whole studio as their instrument. A composer or arranger might look at an orchestra as the instrument. But whatever it is, the musician has command of it and knows how his actions result in musical phenomena, and what they feel like. If you set out to make a music-generating program, then you'll have to "teach " your program things about music, and to do that, you'll have to know the things yourself.

5

Yes; it seems like you might be interested in trying some audio programming languages, such as Chuck, CSound or PD. These implement programming-based approaches to composing and performing music that are not dependent on using traditional instruments.

Another option would be Sonic Pi, a live-coding language for improvised music performance.

See Are there any music programming languages from after the SuperCollider era? for an overview.

3

I think you can.

Maybe you want to use a DAW (Digital Audio Workstation).

There are free and paid DAWs out there, a good example of the free ones is LMMS. I personally use LMMS and I think it's quite decent but I didn't use any other, so this is only an advice. I can't afford instruments or a MIDI keyboard so I eather pick notes with mouse or use my pc keyboard.

For instruments you can use VST-s or samples (a good free, high quality orchestral sample library and VST: http://vis.versilstudios.net/vsco-community.html

The "most" professional I think is FL Studio but here's a list: https://www.musicradar.com/tuition/tech/the-20-best-daw-software-apps-in-the-world-today-238905

And this is only an advice but you might want to learn some music theory too. You don't have to read musical sheets in LMMS but I recommend to learn because there are things you can use for example chord progressions, scales.

You can for example make music like "Some japanase like, or egyptian like music...I should use a pentatonic scale." Then you choose the proper scale.

3
  • There are many choices available, but this answer gets to the main point a DAW for editing the music and VST or other sound files for the instruments. Nov 28, 2018 at 22:04
  • Wow, thanks for that Versilian link! How long has the Community Edition been available? I didn't know about it. Nov 28, 2018 at 22:08
  • 1
    You're welcome. :) I found it around 2 weeks ago when I was looking for some good sample library or VST for orchestral instruments. It was a great surprise for me. I think the article about it wasn't older than a year so we can say it's fairly new.
    – atanii
    Nov 29, 2018 at 4:45
2

In addition to all the answers, I would also point out the two systems (there are more) for writing music notation:

With these, you write plain-text files containing the syntax, which gets transcribed into score sheets. Other than that, they also generate MIDI files. MIDI files can be combined with a decent Sound Font to play the music you wrote.

0

Programming language: More ancient than you thnk ... Music score !

Software: Just find any bit of software where you can point-and click to make a music score (ie sheet music), and the software will play it. I can't recommend one as I don't know so much about this area, but I daresay there are lots to choose from.

0
-1

Yes, it is entirely possible. I have done it. The following examples are of music entirely done with online tools. A Famicom synth, online tools to separate vocals from songs and KDENLive.

The following piano music is also adaptations of the guitar music I made. The actual piano sounds are nothing else than a midi engine from the program MuseScore. MIDI sure has come a long way over the years.

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