Programmierbaren MIDI Synth mit Intel Edison und Csound

6 Schritt:Schritt 1: Was wir brauchen Schritt 2: Einrichten des Intel Edison Board und der Installation der erforderlichen zusätzlichen Pakete Schritt 3: Einrichten des Sound-Adapter Schritt 4: Download, kompilieren und installieren CSound Schritt 5: Konfigurieren Csound Schritt 6: Genießen Sie Ihren Synth!

Programmierbaren MIDI Synth mit Intel Edison und Csound

Ein MIDI-Controller ist wie Tastatur eines Computers, aber anstatt das Senden Zeichen an den Computer an, es Notizen (und eine Menge weitere Informationen über die Note gespielt wird) zu senden. Sie können mehr über MIDI Controller erfahren Sie hier .
In der Regel ist ein MIDI-Controller sehr preiswert, wenn zu einer kompletten Synthesizer-Vergleich, aber die MIDI-Controller erfordert einen PC (oder Mac) und eine Menge zusätzlicher Software zu arbeiten. Nur um einen Vergleich, den MIDI Synthesizer, die bauen mit diesem Tutorial erzeugt eine Klangfarbe sehr ähnlich zu einer der durch den erzeugten Klangfarben ist zu geben Roland Jupiter 8 Analog Synth , dass ist für einen Preis um US verkauft € 12 ( hier ).
Wenn Sie nicht haben, US € 12k sich jetzt investieren, um die Axel Foley's spielen Thema , haben aber einen MIDI-Controller, ein USB-Audio-Karte und einen Intel Edison, sollten Sie diese Anleitung versuchen (und ja, auch spielen können, einige Krafwerk, Van Halen und viele andere coole Sachen mit ihm).
Wir verwenden Csound auf diesem Lernprogramm und auf den Punkt gebracht, können Sie, was Sie wollen mit ihm zu generieren. Von Hammond Orgeln zu Moog, Ihre Kreativität und Csound Fähigkeiten sind alles was Sie brauchen, um diese wunderbare Audio-Programmiersprache zu erkunden.
Am Ende dieses Instructable, gibt es ein Video mit der Demo-Synth.

Schritt 1: Was wir brauchen

  1. Programmierbaren MIDI Synth mit Intel Edison und Csound

    Wir werden ein verwenden Intel Edison mit dem Arduino Breakout Board .
    Ihr MIDI-Controller ist ein Behringer UMA25S , und es einen eingebetteten Audio-Karte hat. Sie können zwei verschiedene Geräte zu verwenden, um das gleiche zu tun.
    Wir brauchen auch eine Intel Edison Stromversorgung und in meinem Fall musste ich einen aktiven USB-Hub (einen USB-Hub) an die Macht der MIDI Controller. Die Spezifikationen für die Intel Edison Breakout Board Stromversorgung gefunden werden kann hier .
    Ich habe auch einen externen Lautsprecher (Ich liebe es laut) und Kopfhörern während des Prozesses.

Schritt 2: Einrichten des Intel Edison Board und der Installation der erforderlichen zusätzlichen Pakete


  1. Wenn dies Ihr erster Kontakt mit einem Intel Edison Pension, lesen Sie bitte das Handbuch zum Einstieg .
    Schließen Sie Ihre Edison Bord auf Ihren Rechner, auf den Spuren gefunden hier .
    Aktualisieren Sie Ihre Intel Edison Bord Firmware, den Download der erforderlichen Software auf dieser Seite .
    Um fortzufahren, stellen Sie sicher, dass Ihre Edison Board ist mit dem Internet verbunden. Um mehr über den Anschluss des Board mit dem Internet erfahren, folgen Sie bitte dem "Schritt 3: Holen Sie sich Ihre Bord online" hier . Um das Board zu einem bestehenden WLAN-Verbindung zu verbinden, folgen Sie bitte den Anweisungen auf dieser Seite .
    Sie müssen auch Ihre Edison Platte auf eine externe Stromversorgung angeschlossen ist, und an den Computer angeschlossen, dachte der Debug-Port (der unteren USB-Anschluss) oder über SSH.
    Auf der Platine Linux-Konsole, müssen wir eine zusätzliche Pakete Repository konfigurieren. Dieses Repository wird nicht von Intel (benutze sie also auf eigenes Risiko) unterstützt.
    Zum Repository hinzufügen, bearbeiten Sie die Datei Basis-feeds.conf an / etc / opkg / (z #vi /etc/opkg/base-feeds.conf.) Und fügen Sie in den folgenden Zeilen:
      src / gz all http://repo.opkg.net/edison/repo/all
     src / gz edison http://repo.opkg.net/edison/repo/edison 
      src / gz core2-32 http://repo.opkg.net/edison/repo/core2-32 

    Danach aktualisieren Sie Ihre Pakete Liste mit dem Befehl
      #opkg Update 

    Jetzt werden wir alle erforderlichen Pakete zu installieren, um alles zum Laufen zu bringen, mit dem Befehl:
      #opkg installieren alsa-Server alsa-lib-dev alsa-dev alsa-utils-aconnect alsa-utils-speakertest alsa-utils-midi libsndfile-bin libsndfile-dev flex bison git 

Schritt 3: Einrichten des Sound-Adapter

  1. Programmierbaren MIDI Synth mit Intel Edison und Csound

    Um die MIDI-Controller an den USB-Host-Anschluss an Bord Edison (Steckertyp A) zu verbinden, habe ich einen USB-Hub, um genug Kraft, um die Steuerung zu schaffen. Um diesen USB-Anschluss auf der Platine verwenden, müssen Sie den Schalter unterhalb (SW1) zu ändern, um wieder (auf den Steckertyp A-Seite), als Erscheinen auf das obere Bild. In der Regel ist dieser Schalter auf die entgegengesetzte Richtung, so dass die Bordnetz und Arduino Sketches zu laden.
    Überprüfen Sie, ob Ihre Soundkarte und MIDI-Controller erkannt wurden:

    #cat / proc / asound / Karten
    0 [Loopback]: Loopback - Loopback Loopback 1 1 [UMA25S]: USB-Audio - UMA25S BEHRINGER UMA25S an usb-dwc3-host.2-1.4.1, volle Geschwindigkeit 2 [CODEC]: USB-Audio - USB Audio CODEC Burr-Brown von TI USB Audio CODEC auf usb-dwc3-host.2-1.4.2, volle Geschwindigkeit

    Die Amidi Tool weitere Informationen über MIDI-Controller angezeigt werden soll.

    #amidi -l
    Dir Gerätename IO hw: 1,0,0 UMA25S MIDI 1

    Um alle Ihre Audiogeräte von alsa, Typ erkannt zu überprüfen:

    #aplay -L
    nichtig Entsorgen Sie alle Proben (Wiedergabe) oder erzeugen Null-Proben (Capture) Standard: CARD = Loopback Loopback, Loopback PCM Standard-Audiogerät sysdefault: CARD = Loopback Loopback, Loopback PCM Standard-Audiogerät Standard: CARD = CODEC USB Audio CODEC, USB-Audio- Standard-Audiogerät sysdefault: CARD = CODEC USB Audio CODEC, USB-Audio- Standard-Audiogerät

    Um den Standard-alsa-Gerät an Ihre Soundkarte eingestellt, überprüfen Sie zuerst die HW-Nummer der Karte:

    # Cat / proc / asound / Karten
    0 [Loopback]: Loopback - Loopback Loopback 1 1 [UMA25S]: USB-Audio - UMA25S BEHRINGER UMA25S an usb-dwc3-host.2-1.4.1, volle Geschwindigkeit 2 [CODEC]: USB-Audio - USB Audio CODEC Burr-Brown von TI USB Audio CODEC auf usb-dwc3-host.2-1.4.2, volle Geschwindigkeit

    In meinem Fall ist der Standardwert 2.
    Erstellen Sie eine Datei .asoundrc auf Ihrem Home-Verzeichnis (/ home / root) mit folgendem Inhalt (ersetzen Sie X mit unseren Hardware-ID) mit dem Namen:

    pcm.! default {
    Typ hw Karte X }
    ctl.! default { Typ hw Karte X }

    An dieser Stelle müssen Sie die ALSA-Konfigurations um die Standard-Audioadapter ändern neu zu laden. Um dies zu tun, dass man einfach abmelden und melden Sie sich an oder führen Sie den Befehl:

    #alsactl töten Rescan

    Um die Lautstärke einzustellen, verwenden Sie alsamixer.
      #alsamixer 

    Wenn alles in Ordnung ist, wird alsamixer zu öffnen, die die Lautstärkeleiste für Ihre Soundkarte.
    Um die Soundausgabe zu testen, verwenden Sie die Lautsprecher-Test-Tool (Sie sollten eine Sinuswelle Sound und Stereo-Ausgang zu hören):

    # Lautsprechertest -tsine -c2

    Um den Test, drücken Sie STRG + C beenden.

Schritt 4: Download, kompilieren und installieren CSound


  1. Die Anweisungen zum Herunterladen, kompilieren und installieren csound gefunden werden kann hier .
    Folgen Sie der die zweite Liste von Schritten, (1-10) aus dem "Building Csound 6" Abschnitt. Eine wichtige Sache ist, dass auf Stufe 7, fügen Sie die -DALSA_HEADER = / usr / include-Parameter oder es wird nicht die ALSA-Modul zu kompilieren. So sollte Ihr cmake Befehlszeile wie:
      <P> cmake -DALSA_HEADER = / usr / include ../ csound </ p> 

    Am Schritte 9 und 10, wird der Befehl sudo nicht benötigt (Sie bereits als root angemeldet, oder?)
    Standardmäßig wird libs nach / usr / local / lib kopiert werden. Sie können, dass auf den Pfad hinzuzufügen, oder einfach in den Ordner / usr / lib mit dem Befehl kopieren Sie die Bibliotheken:
      <P> cp -r / usr / local / lib / * / usr / lib </ p> 

Schritt 5: Konfigurieren Csound


  1. Führen Sie das Beispiel GetDeviceList.csd verfügbar hier , um die HW-ID Ihres Audion Soundkarte bekommen (BTW, sollte die gleiche id wir vorher benutzt, aber jetzt wird es von Csound informiert werden):

    # Csound GetDeviceList.csd

    Sie werden ein paar Zeilen zu sehen und schließlich so etwas wie dieses:

    *** ALSA: müssen einen Gerätenamen, keine Nummer angeben (zB -odac: hw: 0,0)
    "Hw: 0,0" - Loopback PCM: PCM Loopback: Wiedergabe 8: 8-Capture- "Hw: 0,1" - Loopback PCM: PCM Loopback: Wiedergabe 8: 8-Capture- "Hw: 2,0" - USB Audio USB-Audio: Wiedergabe 1: 1-Capture-

    In meinem Board, das hw ID ist 2.
    Laden Sie die csound midi synth Codes Sie hier , um das Board:

    #wget http://raw.githubusercontent.com/homembit/MIDI_Edison/master/midisynthesizer.csd

    Bearbeiten Sie das (Abschnitt <CsOptions> am Anfang der Datei) Konfiguration, so etwas wie:

    <CsOptions>
    -odac: hw: X -b256 -B1024 -Ma - + = RTAudio alsa - + = rtmidi alsa </ CsOptions>

    Der wichtige Teil ist hier die -odac: hw: X, X waren Ihre Soundkarte hw ID (in meinem Fall, -odac: hw: 2).
    Dieser Synthesizer wurde geschrieben von Victor Lazzarini und am veröffentlicht Csound Mail-Liste . Victor ermächtigt mich, um den Code zu verteilen, und ich möchte ihm für den Code und auch für die anderen Menschen zu helfen in Foren zu danken. Seine Antworten und Erklärungen über einige Dinge waren von grundlegender Bedeutung für das Helfen ich, alle diese Stücke zusammen. Muito obrigado, Victor! (Ja, wir sind beide Brasilianer :)).
    TIPP: Speichern Sie diese Konfigurations Linie bis zu einem gewissen Datei auf Ihrem Bord, denn du wirst es brauchen, um mehrere andere Csound Programme, die im Internet verfügbar sind, ausgeführt werden.

Schritt 6: Genießen Sie Ihren Synth!


  1. Schließlich, um unsere Csound Programm auszuführen, geben Sie einfach:
      <P> #csound midisynthesizer.csd </ p> 

    Genießen Sie Ihren Synth!


    Referenzen:
    Intel Developer Zone - IoT
    Alsa-Projekt
    Csound Projekt
    Csound Gemeinschaft
    Csound Repository
    Csound Dokumentation