Best programming language to learn for electronic musicians?

Discussion in 'Software' started by Sonar Sounds, Nov 7, 2015.

  1. Mundano

    Mundano Audiosexual

    Joined:
    Dec 1, 2015
    Messages:
    891
    Likes Received:
    763
    SuperCollider
    http://supercollider.github.io

    [​IMG]

    SuperCollider is a platform for audio synthesis and algorithmic composition, used by musicians, artists, and researchers working with sound. It is free and open source software available for Windows, macOS, and Linux.

    SuperCollider features three major components:
    • scsynth, a real-time audio server, forms the core of the platform. It features 400+ unit generators ("UGens") for analysis, synthesis, and processing. Its granularity allows the fluid combination of many known and unknown audio techniques, moving between additive and subtractive synthesis, FM, granular synthesis, FFT, and physical modelling. You can write your own UGens in C++, and users have already contributed several hundred more to the sc3-plugins repository.
    • sclang, an interpreted programming language. It is focused on sound, but not limited to any specific domain. sclang controls scsynth via Open Sound Control. You can use it for algorithmic composition and sequencing, finding new sound synthesis methods, connecting your app to external hardware including MIDI controllers, network music, writing GUIs and visual displays, or for your daily programming experiments. It has a stock of user-contributed extensions called Quarks.
    • scide is an editor for sclang with an integrated help system.
    SuperCollider was developed by James McCartney and originally released in 1996. In 2002, he generously released it as free software under the GNU General Public License. It is now maintained and developed by an active and enthusiastic community.

     
  2. ArticStorm

    ArticStorm Moderator Staff Member

    Joined:
    Jun 7, 2011
    Messages:
    7,686
    Likes Received:
    3,915
    Location:
    AudioSexPro
    C and C++ for plugin design, but for reaper i would learn python, it is very felxible to use and i think the ideas are good to get.
     
  3. taskforce

    taskforce Audiosexual

    Joined:
    Jan 27, 2016
    Messages:
    2,227
    Likes Received:
    2,334
    Location:
    Studio 54
    Totally wrong assumption. Some developers are easily much better musicians than three quarters of this forum and they have the accolades to prove it. Oh and with all the respect, in your case all devs are better musicians than you.
     
  4. Mundano

    Mundano Audiosexual

    Joined:
    Dec 1, 2015
    Messages:
    891
    Likes Received:
    763
    http://cabbageaudio.com/#features
    [​IMG]
    cabbage



    Cabbage is a framework for audio software development.
    Using simple markup text and the Csound audio synthesis language users can target Windows, OSX, Linux and Android with a single piece of source code.

    Cabbage Studio (Beta)
    Cabbage Studio is a Csound based DAW with a fully functional patching interface and development environment. Develop, prototype and test Csound based audio instruments on the fly using an integrated development solution that includes an embedded source code editor and rapid GUI designer. Cabbage Studio isn't just for users familiar with Csound, it can load a number of different plugin formats including VST, AU, and LADSPA and comes with over 100 high end audio plugins ready to use out of the box.
     
  5. Mundano

    Mundano Audiosexual

    Joined:
    Dec 1, 2015
    Messages:
    891
    Likes Received:
    763
    http://faust.grame.fr/about/

    Faust Programming Language
    About Compiler Documentation Download Examples GitHub Projects

    About

    FAUST (Functional Audio Stream) is a functional programming language specifically designed for real-time signal processing and synthesis. FAUST targets high-performance signal processing applications and audio plug-ins for a variety of platforms and standards.

    A Faust program can be as simple as:

    process = +(12345) ~ *(1103515245) : /(2147483647.0);

    The above code fully describes a simple white noise generator. Here is a more sophisticated example with a slider to control the amount of noise:

    noise = +(12345) ~ *(1103515245) : /(2147483647.0);
    process = noise * hslider("noise volume", 0, 0, 1, 0.01);

    The Faust compiler translates Faust code into C++. For example the command:

    faust noise.dsp

    will produce the following code:

    virtual void compute(int count, FAUSTFLOAT** inputs, FAUSTFLOAT** outputs) {
    FAUSTFLOAT* output0 = outputs[0];
    float fSlow0 = (4.65661e-10f * float(fHslider0));
    for (int i = 0; (i < count); i = (i + 1)) {
    iRec0[0] = (12345 + (1103515245 * iRec0[1]));
    output0 = FAUSTFLOAT((fSlow0 * float(iRec0[0])));
    iRec0[1] = iRec0[0];
    }
    }

    In order to produce a running application or a plug-in, one can use one of the many faust2xxx scripts. For example:

    faust2jaqt noise.dsp

    will produce a ready-to-run standalone application based on Jack and QT. Here below you can try a web version of the noise generator:

    [​IMG]
     
  6. Mundano

    Mundano Audiosexual

    Joined:
    Dec 1, 2015
    Messages:
    891
    Likes Received:
    763
    https://www.juce.com
    https://juce.com/tutorials
    • JUCE for Desktop
      With support for PC, Mac and Linux, JUCE is the perfect tool for building powerful and complex applications. JUCE also supports the development of plug-ins: VST, AU and AAX.

    • JUCE for Mobile
      Run your desktop applications on mobile!

      One-click deployment to Android and iOS (requires Android Studio and XCode)

      Adjust the user interface of your application with the Projucer live coding engine

      Use the best audio performance available on iOS and Android. See what's new for mobile in JUCE 5.1

    • User Interface & Graphics
      JUCE makes it easy to build a versatile UI that can run on any platform and integrate OpenGL. JUCE handles 2D rendering engines, image format handling and font functionality.

      With a variety of Look and Feel to choose from, you can create great looking applications that will scale to all screen size and work on mobile too.

    • The Projucer
      The Projucer is JUCE's project management tool, featuring the Instant Compilation Environment engine (the ICE engine), allowing to visualise instantly changes in the code. More about the Projucer.

    • Audio & plug-ins
      Popular audio workstations like Logic, Live, Pro Tools or Cubase are hosts to hundreds of plug-ins, many of them are built with JUCE. Build VST, VST3, AU, RTAS and AAX format plugins with ease, and host VST and AU plugins inside your own applications. JUCE provides classes to manage audio I/O, audio processing, and media reading and writing. Get started with the plug-in tutorial

    • MIDI, MPE & OSC
      Build applications that connect with other applications or hardware using MIDI, MPE and OSC. JUCE provides full MIDI support, including MPE (MIDI Polyphonic Expression), and Open Sound Control (OSC). Browse the examples to get started.
     
  7. ia

    ia Producer

    Joined:
    Apr 6, 2016
    Messages:
    431
    Likes Received:
    85
    steve duda=)
     
  8. Tabby

    Tabby Kapellmeister

    Joined:
    Aug 27, 2017
    Messages:
    88
    Likes Received:
    42
    Location:
    Deneb<*>Delta Cygni
    'Cm++ ' or 'C#m' are best languages for edm producer. I prefer 'Am++' cause it's easy. :hillbilly:
     
Loading...
Similar Threads - Best programming language Forum Date
Best Falcon expansions Software Yesterday at 11:07 PM
Best GM Soundfont for orchestral music Genre Specific Production Sunday at 5:55 PM
Best Eq app for Android Mobile Wednesday at 6:19 PM
Best Tools for Extracting Audio from Video? Working with Video Oct 27, 2024
Best 808 preset (Serum, Spire, Diva etc.)? Presets, Patches Oct 22, 2024
Loading...