Music programming language

DSP, Plugin and Host development discussion.
RELATED
PRODUCTS

Post

BertKoor wrote:
Captain Picard wrote:Computer, play a slow blues in G please, with a Hammond and Les Paul through a Marshall.
Would that be your target?
https://intermorphic.com
http://www.generativemusic.com
F E E D
Y O U R
F L O W

Post

nerd wrote:Although, my intent was not to make it maybe a little absurd, but close the gap between the existing languages and the possibilities of a commonly used DAWs on PC.
which existing music programming languages have you tried?
An idiot on Set Theory:
"In some cases there is an object called red that contains everything that is red. In much the same way a pot is a plate."

Post

Csound and musix, which was mine and was based on stackless with the attempt to have all functionality in the language only, failing the attempt by using VST.

Post

BertKoor wrote:Got any ideas what the syntax & language constructs are?
It would probably look like this. I thought, basing everything on samples and later multi-samples would free me a bit of the plugin-approach, which probably would never come into existance or might be killed by the plugins that come with an editor (which is the "official no-go" in the whole idea).

So, a stretching (librubberband?), a pitching (haven't ever found a library or code I understood), and a convolver (my idea how to omit plugins for a few effect types).

I'm the wrong person to create something, although I have ideas what it probably should look like. That is why I (desperately) asked for everyone to consider creating a new language which might have by occasion be what I'm looking for.

Code: Select all

pattern some_part_of_a_wav
    begin_at_beat = 0
    end_at_beat = 4
        something.wav

pattern hello
    thread
        bar 0
            note_wav = some_guitar_c5.wav
            notes_per_beat = 1
                c4 e4 G4
                // these play serially, G is g#
        bar 4
            note_wav = some_synth_c4.wav
            notes_per_beat = 2
                c5'C5'd5'
                // ' is a pause with the same length as the other notes
        bar 8
            note_wav = some_synth_c4.wav
            notes_per_bar = 1
                c4
                e4
                g4
                // these play parallelly

    // and play some_part_of_a_wav at bar 0,4,8,12
    thread
        for var i = 0; i < 16; i+=4
            bar i
                some_part_of_a_wav

$mytempo = 120

pattern hello_with_delay
    tempo = $mytempo
    convolve_wav = some_delay_120.wav
    convolve_wet = 50%
        hello

pattern hello_song
    for var i = 0; i < 4; ++i
        thread
            bar i*8
                hello_with_delay
        thread
            bar i*8
                some_hihats.wav

begin_at_bar = 12
tempo = $mytempo
    effect = compressor
    gain = 2db
    attack = 5ms
        hello_song

Post

That example is sort of reminiscent of some of the live coding setups I've seen. Tidal (https://tidalcycles.org/) is one, built in Haskell. There was another one that is quite popular (for values of popular that relate to live coding for music) that I can't recall. Perhaps some google-fu will turn something up for you.

Post

Dozius wrote:That example is sort of reminiscent of some of the live coding setups I've seen. Tidal (https://tidalcycles.org/) is one, built in Haskell. There was another one that is quite popular (for values of popular that relate to live coding for music) that I can't recall. Perhaps some google-fu will turn something up for you.
Thanks a lot!

Post

Ok, to whomever whose nerves I might have stretched, I'd like to add this. I did install generator (reaktor), max/dsp and quite a few. I know it's up to me to learn quite a lot (though I'be never liked the mixture of editing+scripting). But if there was an appealing option that seemingly supports live _and_ linear and production, also with freezing and optimization like this, and last but not least would support accoustic genres (not too many synthesis-only options), sampling and mastering, that would be a super cool tool, if it was working all out-of-the-box. A Bitwig replacement for me. I guess, some wouldn't compare Bitwig and the "live coding setup" I speak of. But for the sake of explaning what I have in mind, I did it now. :)

Post

deleted. reason: the forum keeps added-quote posting for some reason.

Post

nerd wrote:if there was an appealing option that seemingly supports live _and_ linear and production
Perhaps this one:
http://sonic-pi.net

Here's a nice performance with sonic-pi live coding and live guitar:
https://vimeo.com/132813228
F E E D
Y O U R
F L O W

Post

Michael L wrote:
nerd wrote:if there was an appealing option that seemingly supports live _and_ linear and production
Perhaps this one:
http://sonic-pi.net

Here's a nice performance with sonic-pi live coding and live guitar:
https://vimeo.com/132813228
Thanks for this, too! I was just using it and it's fun.

Post

nerd wrote:But if there was an appealing option that seemingly supports live _and_ linear and production, also with freezing and optimization like this, and last but not least would support accoustic genres (not too many synthesis-only options), sampling and mastering, that would be a super cool tool, if it was working all out-of-the-box. A Bitwig replacement for me.

Isn't the simplest approach to just use the Midi Scripter in Logic (or a plugin like Cthulhu) into a hybrid synth, and change the Scripter/Cthulhu parameters in real-time, while recording live instruments on another track? What is gained musically by a 'language' that is more ITB than Bitwig (which you want to get away from)?
F E E D
Y O U R
F L O W

Post


Post

nerd wrote:Ok, to whomever whose nerves I might have stretched, I'd like to add this. I did install generator (reaktor), max/dsp and quite a few. I know it's up to me to learn quite a lot (though I'be never liked the mixture of editing+scripting). But if there was an appealing option that seemingly supports live _and_ linear and production, also with freezing and optimization like this, and last but not least would support accoustic genres (not too many synthesis-only options), sampling and mastering, that would be a super cool tool, if it was working all out-of-the-box. A Bitwig replacement for me. I guess, some wouldn't compare Bitwig and the "live coding setup" I speak of. But for the sake of explaning what I have in mind, I did it now. :)
What about this then? Live coding in MAX/MSP and/or Ableton Live, so gives you the linear production thing too.

https://cycling74.com/articles/content- ... ibberwocky
An idiot on Set Theory:
"In some cases there is an object called red that contains everything that is red. In much the same way a pot is a plate."

Post

What you describe seems rather simplistic (and not very useful, to be honest) from a compositional POV. If your aim is asking the computer to come up wth some standardized form of music, I remember someone having created a a program that was able to emulate Mozart writing (and we are talking Mozart, not pop music), Yet, very litlle interest was showed, apart from the remarkable achievement.

For what you are asking, I remember that Cubase once had a featured called Interactive Phrase Synthesizer, which picked the existing material and created variations according to programmed variables. I still found a copy of the manual here: ftp://ftp.steinberg.net/Archives/Cubase ... ng/IPS.pdf

And there's Cycling'74 M, which is a algorithmic compositional aiding tool.

You also have this: https://cycling74.com/tools/bach-automa ... ers-helper

AND this: http://www.essl.at/works/rtc.html

both for Max (also from Cycling'74)

Neither of these will bring you a 12 bar blues with organ and guitar by the snap of a finger, though :roll:
Fernando (FMR)

Post

fmr wrote:What you describe seems rather simplistic (and not very useful, to be honest) from a compositional POV. If your aim is asking the computer to come up wth some standardized form of music, I remember someone having created a a program that was able to emulate Mozart writing (and we are talking Mozart, not pop music), Yet, very litlle interest was showed, apart from the remarkable achievement.

For what you are asking, I remember that Cubase once had a featured called Interactive Phrase Synthesizer, which picked the existing material and created variations according to programmed variables. I still found a copy of the manual here: ftp://ftp.steinberg.net/Archives/Cubase ... ng/IPS.pdf

And there's Cycling'74 M, which is a algorithmic compositional aiding tool.

You also have this: https://cycling74.com/tools/bach-automa ... ers-helper

AND this: http://www.essl.at/works/rtc.html

both for Max (also from Cycling'74)

Neither of these will bring you a 12 bar blues with organ and guitar by the snap of a finger, though :roll:
Hi, no I want the computer to come up with exactly the music I have in my mind. My goal is not any pseudorandom music. In this regard it is - among others - omitting a GUI. For example, when you create a pattern in FL Studio or energyXT, you make sure it is created, maybe at some index (FL Studio). In the language you would instead type "pattern xyz" and it is then existing and can be referenced by this name.

It seems indeed possible to add pseudorandom notes via a function, or a lot of templates and choosing from them without enganging in the music or so, but it's not my goal. E.g. I find it only easier to write a loop than dragging the bottom-right corner to the right in Bitwig or Reaper, because I have physical problems using the mouse like this for more than an hour.

Post Reply

Return to “DSP and Plugin Development”