What is scripting and how does it apply to audio?

Daniel Petras

Active Member
Is anyone able to give an explanation on this topic or point to some relevant information as to what this means in audio? It seems like an important concept to dive into which I know nothing about. What is this black magic you people do?
 

Tod

Senior Member
Heh heh, there's nothing magical about it.

Scripting gives you the ability to access and control almost every parameter, FX, routing, and things I can't even think of off the top of my head, just like you can manually. Only with scripting you can control all these things in real time with automation.

I didn't explain this as well at others here might, but what it means to me, is that there's almost nothing I can't do with my samples, it all depends on my imagination, which is a little old a frail these days. :grin:
 
OP
Daniel Petras

Daniel Petras

Active Member
So Kontakt is a sampler that allows you to script. When a sound designer job posting is asking for scripting experience are they referring to the type of scripting one would do in kontakt or is this something different?
 

Tod

Senior Member
Well, I imagine if Kontakt scripting is what's needed then that would be the case. However, there are a lot of things that can be scripted, and lots of various scripting languages, so it's kind of software/programs related specifics.
 

willbedford

Composer - Sample Library Developer
When a sound designer job posting is asking for scripting experience are they referring to the type of scripting one would do in kontakt or is this something different?
This is most likely to do with scripting the audio implementation in a game engine. In smaller game studios, the sound designer is often in charge of implementation.
 

AlexRuger

rewgs
So Kontakt is a sampler that allows you to script. When a sound designer job posting is asking for scripting experience are they referring to the type of scripting one would do in kontakt or is this something different?
Yes, definitely sounds game-related. More specifically, odds are they're asking if you have the ability to write C# in Unity. In that case, scripting will allow you to "move beyond" the GUI functions of the program, which is sort of analogous to working in a computer's terminal. To give you an example:

If you're on OS X, you can write simple commands like "cd Documents," which would Change Directory to Documents, so now you're working in that folder instead of the computer's root. Obviously you can do that with the OS X GUI as well through an app called Finder. But you can also do all sorts of commands that aren't available through Finder, such as changing the way your Dock looks, making the User Library folder permanently visible, etc. Many, many apps that you download for those sort of functions are actually just a GUI that runs those terminal commands for you.

In an app like, again for example, Unity, you could do all sorts of things with the app's GUI, and potentially download different plugins that wouldn't do much more than run a script. But, if you'd rather have a sort of "Neo's view" of things and not have to rely on the work of others--have more of a deep view of what you can accomplish in the app--you could write your own scripts that allow you to deviate or expand on the functionality given to you to through the GUI. It's a very powerful thing.

It isn't just things like Kontakt or Unity or whatever, though. For example, I was moving a composer I work for to an entirely new rig setup, so that meant all his old projects would have incorrect MIDI inputs/outputs. We hired someone to write a simple script (it was in a programming language called Python--a bit beyond my simple abilities at this point) that would reassign all the MIDI I/O from the old to the new. The composer's template was about a thousand tracks, so obviously this saved absurd amounts of time.

All in all, scripting is just another word for programming, but usually means that you're working within an app or with regard to a specific app.
 
OP
Daniel Petras

Daniel Petras

Active Member
Really appreciate the explanation man! I think I was thrown off partly due to this video:


Correct me if I'm wrong, but this appears to be a guy just messing around with an already created script that exists in the Kontakt sampler and not actually creating custom scripts like it says in the title of his video.
 

Zookes

Active Member
A script, pertaining to most software, is a short code document containing a series of commands that is run (often expected arbitrarily) during application runtime to automate functionality.

The commands must be interpreted by the host application in some way, so scripting languages mostly follow the same conventions as the programming paradigms and languages used for development of the host.

Two reasons (afaik) scripting languages are used:
  1. most host applications use statically compiled languages (compiles once and runs a machine code executable), and to allow developers to extend this functionality without touching the source code requires a scripting language
  2. scripting languages are higher-level and can be designed with restricted access to lower-level functions with a scripting interface (developer-defined commands / hooks, etc.), making runtime execution of scripts safer for developers and users
As for audio applications, specifically Kontakt, scripts automate a bunch of parameters, usually based on some event like pressing a keyboard key or changing a MIDI CC.
 
Last edited: