Kategorie: Tutorial Seite 1 von 8

Up To Date – News und Kurioses für Audio Enthusiasten KW21

News

Voltage Modular 2.0 von Cherry Audio ist vorgestern veröffentlicht worden. Dieses kostenlose Update für Besitzer der ersten Version bietet einige neue Features und ja, das GUI wurde auch überarbeitet. Interessant ist auch der Designer, mit dem man sich eigene Module bauen kann (ja, ich weiß, den gab es auch schon in der ersten Version…)

FL Studio 20.7 kann jetzt Midi Scripting und hat neue Tools für Video … yipiiehh!

Valhalla Supermassive ist das neue Reverb Plugin von Valhalla DSP und es ist kostenlos!

Nächsten Monat wird JUCE den Sprung zu Version 6 machen und hier kann man schon einmal nachlesen, was es alles Neues gibt.

Max/MSP Tagebuch – Zweite Woche: Mach’s gut, Max…

Ich habe mir in meiner zweiten Woche mit Max erstmal ein paar Grundlagen gelernt. Ein vernünftiges Fundament ist wichtig, das hat mir mein Mathelehrer an der Fachoberschule schon immer gesagt … war’n guter Mann.

Allerdings habe ich nach Langem hin und her festgestellt, dass ich mich mit meinen Programmierkünsten zunächst nur auf C++ und JUCE beschränken will und MAX daher nicht erwerben werde. Die 30 Tage Demo ist nun schon einige Tage abgelaufen und ich werde die Software jetzt erstmal wieder deinstallieren … mach’s erstmal gut, MAX … war trotzdem nett.

Up To Date – News und Kurioses für Audio Enthusiasten KW20

News

Tja, als Erstes natürlich: Das neue Logic Pro X 10.5 ist raus und bringt wieder nette neue Features in die Apple DAW…

Moog’s 2018 angekündigter Semi-modularer, polyrhythmischer, analoger Synthesizer Subharmonicon ist nun endlich erhältlich…

Eine kleine Musik-Challenge

JACK Audio Server – Verkabel‘ Bitwig mit allen Audio Anwendungen … Die einzige Anleitung, die Du brauchst! (MacOS)

JACK kommt eigentlich aus der Linux Welt und ist dort der Audio Server schlechthin. Für viele ist das Wort Linux schon abschreckend und wenn man dann noch erwähnt, dass JACK ursprünglich ein Kommandozeilen-Tool war, braucht man meistens gar nicht weiter zu reden.

Aber JACK muss nicht kompliziert sein. Man muss ja nicht alle Möglichkeiten der Software nutzen. Ich finde den Gedanken spannend, dass man mithilfe von JACK einfach seine verschiedenen Applikationen miteinander verkabeln kann, genauso wie den Plattenspieler zuhause mit dem Stereo-Verstärker, oder das Casio Keyboard mit dem Audio Interface.

Apple’s Core Audio, das im MacOS Betriebssystem zur Anwendung kommt ist an sich schon eine sehr mächtige Audio API mit niedrigen Latenzen für die Echtzeit-Anwendung von virtuellen Instrumenten und Effekten. Da könnte Windows sich mal eine Scheibe von abschneiden. Allerdings fehlt Core Audio die Möglichkeit verschiedene Anwendungen im Betriebssystem miteinander zu verbinden, sodass man das Audio-Signal von einer Anwendung beispielsweise mit einer anderen Applikation aufzeichnen könnte.

Audio Programmierung #07 – C++ Grundlagen: Schleifen…

Bisher haben wir gesehen, dass man den Programmablauf ändern kann und der Benutzer entscheiden kann, ob er beispielsweise eine Multiplikation oder eine Addition durchführen will. Was aber, wenn er nach der ersten Addition eine weitere ausführen möchte, oder dann vielleicht doch mal eine Multiplikation? Was, wenn das Programm nicht einfach nach der ausgeführten Berechnung enden soll?

In diesem Fall müssen wir den Code immer wieder ausführen, bis eine Bedingung nicht mehr erfüllt ist und das Programm dann beendet. D.h. das Programm müsste in einer Schleife laufen. Iterative Anweisungen, auch Schleifen genannt, führen einen Codeblock solange aus, wie eine Bedingung true ist. Es gibt drei verschiedene Varianten von Schleifen. Die while und for Anweisungen prüfen zunächst eine Bedingung, bevor ein Codeblock ausgeführt wird und die do ... while Anweisung führt erst den Codeblock aus und prüft dann die Bedingung.

Die while Anweisung

Eine while Anweisung wiederholt einen Codeblock genau solange, wie eine gegebene Bedingung true ist. Die Syntax sieht so aus:

while (condition) {
    statements ...
}

Abenteuer Sound Design #06 – Rückkopplungen einer Gitarre erzeugen … ohne Gitarre in Bitwig’s Grid (Guitar Feedback Generator)

Heute bauen wir uns mal ein Instrument, eine Gitarre um genau zu sein. Eine elektrische Gitarre, mit der man aber nur Feedback erzeugen kann … sonst nix. Vor ein paar Monaten habe ich so etwas mal auf YouTube entdeckt und heute baue ich das mal in Bitwig’s Grid nach. Das ist recht simpel, versprochen.

Wenn es eine Band gibt, die mich seit Ende der 80er begleitet, dann ist es Sonic Youth. Leider habe die sich um 2010 aufgelöst. Ein wichtiger Bestandteil der Musik von Sonic Youth ist Gitarren Feedback.

Da mich diese Band stark beeinflusst hat, nutze auch ich „Gitarrenkrach“ in eigenen Songs. Beim Recorden zuhause ist es aber nicht immer ganz einfach, eine Gitarre richtig schön zum Kreischen zu bringen … man wohnt hier ja nicht komplett alleine auf dem Land. Also muss eine praktischere Lösung her.

Audio Programmierung #06 – C++ Grundlagen: Die Kontrolle des Programmablaufs (switch-case)

Das Ziel eines switch-case Konstrukts ist es, einen Ausdruck gegen eine größere Auswahl von Konstanten zu vergleichen und dann dementsprechend für jede Möglichkeit etwas anderes auszuführen. Die C++ Schlüsselwörter, die wir in diesem Zusammenhang oft sehen werden, sind switch, case, default und break.

Die allgemeine Syntax sieht so aus:

switch(expression) {

    case LabelA:
        DoSomething;
        break;

    case LabelB:
        DoSomethigElse;
        break;

    // and so on ...
    default:
        DoStuffWhenExpressionIsNotHandledAbove;
        break;
}
    

Musiktheorie #02 – Die verschiedenen Notenschlüssel

Ein Notenschlüssel ist ein Symbol am Anfang von Notenlinien, das dem Leser sagt, welche Note auf welcher Linie liegt. Es gibt verschiedene Schlüssel: C-Schlüssel, Violinschlüssel, Bassschlüssel, Perkussionsschlüssel oder Rhythmusschlüssel. Wir schauen uns die drei Wichtigsten an: Violinschlüssel, Bassschlüssel und Rhythmusschlüssel.

Violinschlüssel
Bassschlüssel
Rhythmusschlüssel

Jeder dieser Schlüssel gibt den Notennamen für eine bestimmte Linie an und anhand dessen kann man die Noten der anderen Linien ermitteln.

VST-Plugin Programmierung #04 – Eine JUCE GUI Anwendung kann mehr als nur Text darstellen…

Im letzten Artikel haben wir unserer GUI Anwendung mithilfe einer Komponente (main component) etwas Inhalt geschenkt. Dieser Inhalt bestand aber nur aus einfachem Text. Das geht natürlich noch besser. Wir machen zunächst ungefähr da weiter, wo wir das letzte mal aufgehört haben. Dazu öffnen wir das letzte Projekt MainComponentTutorial nochmal und ändern die paint() Methode wieder so ab, dass uns das beliebte „Hello World!“ wieder angezeigt wird. Außerdem können wir dann auch die Member-Variable currentSizeAsString wieder entfernen (auch deren Nutzung in der resize() Methode).

Damit sieht unsere paint() Methode wieder so aus:

void MainComponent::paint (Graphics& g)
{
    g.fillAll(Colours::darkgrey);
    g.setColour (Colours::orange);
    g.setFont (28.0f);
    g.drawText ("Hello World!", getLocalBounds(),
                Justification::centred, true);  
}

Wenn wir das Projekt nun kompilieren und ausführen, haben wir wieder unser dunkelgraues Fenster mit dem orangen „Hello World!“ Text in der Mitte.

Mithilfe der Graphics Klasse können wir nun noch andere Dinge in unsere MainComponent „zeichnen“.

Audio Programmierung #05 – C++ Grundlagen: Die Kontrolle des Programmablaufs (if … else)

Die meiste Software verhält sich den Eingaben des Nutzers entsprechend. D.h. der Nutzer kontrolliert den Ablauf des Programms. Damit eine Applikation sich dementsprechend verhält, muss man Bedingungen erfüllen oder nicht erfüllen, um verschiedene Verzweigungen im Code zu betreten.

Bedingte Ausführung mit if ... else

Bisher haben wir nur Programme geschrieben, die seriell abliefen, d.h. es wurde eine Anweisung nach der anderen abgearbeitet – von oben nach unten. Jede Zeile wurde ausgeführt und keine Zeile wurde ignoriert. Aber die meisten Anwendungen funktionieren so nicht. Angenommen ein Programm soll zwei Zahlen multiplizieren, wenn der Nutzer ein m eingibt, oder sie addieren, wenn der Nutzer irgendwas anderes eingibt.

Dieses Szenario ist im folgenden Flußdiagramm dargestellt:

Seite 1 von 8

Präsentiert von WordPress & Theme erstellt von Anders Norén