DIY-Synthesizer

Aus RaumZeitLabor Wiki
Wechseln zu: Navigation, Suche
DIY-Synthesizer

Release status: experimental [box doku]

Description macht Musik

Platzhalter für DIY-Synthesizer-Projekt

Ausstattung

Als Mainboard evtl ein Geode-Board, z.b. aus einem Futro S-400 (1GHz, schluckt direkt 12V und braucht sonst nix).

Software evtl. SuperCollider. Erste Aufgabe wird sein, SuperCollider so zu programmieren, daß er die Oszillatoren durch ein rudimentäres Filter jagt, angesteuert per OpenSoundControl und/oder MIDI.

Eventuell sollte man die Oszillatorsektion generisch halten, weil SuperCollider sehr viele Osc-Modelle besitzt. Diese alle auf der Frontplatte abzubilden wäre etwas zu krass.

Grundfunktionen Benutzerführung

  • Jeder Regler / Taster kann eine Zweitfunktion haben. Diese wird mittels des "Shift"-Buttons ausgewählt.

Oszillatoren

  • 4 Oszillatoren, jeder Oszillator kann einen von <anzahl der SuperCollider-Oszillatortypen) beinhalten
  • Grundparameter für jeden Oszillator:
    • Octave (Einstellbar mittels ENC_OSC1). Zwischen Octave und Semitone wird durch drücken von ENC_OSC1 gewechselt.
    • Semitone (12 Halbtonschritte), Einstellbar mittels Encoder ENC_OSC1. Werden die +-12 überschritten, so wird automatisch die Oktave verändert.
    • Tune (einen Halbton nach oben/unten), Schrittunterteilung muß noch definiert werden. Einstellbar mittels Encoder ENC_OSC2.
    • Keyboard Tracking (Tonhöhe folgt den Tasten). Einstellbar durch Druck auf den Encoder ENC_OSC2.
  • Die 4 Oszillatoren können durch die Taster SW_OSC1-SW_OSC4 gewählt werden
  • Der Oszillatortyp kann durch den Encoder ENC_OSC3 gewählt werden. Durch Druck auf den Encoder kann der Oszillator aktiv oder inaktiv geschalten werden.
  • Die Wellenform für den Wavetable-Oszillator bzw. die Oszillatorparameter lassen sich mittels ENC_OSC4 ändern. Durch Drücken von ENC_OSC4 lässt sich zwischen den verschiedenen Oszillator-Parametern bzw. der Wellenformkategorie durchschalten.
  • Die Intensität der Frequenzmodulation lässt sich mittels ENC_OSC5 ändern. Durch Drücken von ENC_OSC5 passiert im Moment noch nichts.
  • Später: Die Lautstärke zwischen den Oszillatoren mittels Joystick ändern

Oszillatortypen

Analog-Oszillator

  • Wellenformen: Sinus, Rechteck, Sägezahn, Dreieck
  • Die Wellenform Rechteck lässt sich durch PWM beeinflussen

Wavetable-Oszillator

  • Die zur Verfügung stehenden Wellenformen können im LCD-Display editiert werden
  • Position in der Wellenform ist editierbar
  • Interpolationsmöglichkeit beim Spring zwischen den Positionen

Phasenmodulations-Oszillator

  • 2 Wellenformen werden seriell (nacheinander) kombiniert
  • Über den Regler "PM" kann die Phase moduliert werden

FM-Oszillator

Noch überlegen

Multioszillator

Noch überlegen

Rauschen

Noch überlegen

Ideen

  • Quick-Save-Funktion hinzufügen. Damit kann man den aktuellen Patch sofort in einer separaten Speicherlokation speichern. Quasi: "Oh, das klingt geil, mal schnell speichern". Wichtig ist, daß die aktuelle Speicherlokation nicht geändert wird.

Historie

Datum Was ist passiert?
24.10.2010 Erste lauffähige Implementation auf SuperCollider-Basis. 4 Oszillatoren, Osc-Volume, Fine Tune (+-50 Cent), Wellenform (Sin, Square, Pulse, Triangle) einstellbar. Klingt schon ohne weitere Modulationsquellen, Filter, Envelopes und Effekte schon recht brauchbar.
12.10.2010 - 16.10.2010 Leider funktioniert die M-Audio Delta 410 auf dem Board nicht richtig, weil sie IRQ-Sharing mit einer anderen Hardware nutzt. Bisher hab ich es nicht hinbekommen, das IRQ-Sharing zu deaktivieren. Notfalls muß ein neues Board her, eventuell werde ich auch erstmal eine Billig-USB-Soundkarte testen.
11.10.2010 Neuer Kernel ist kompiliert, Latenz mit einer Buffer Size von 64 liegt bei 0.7ms!
10.10.2010 Umstieg auf Mainboard/CPU Fujitsu Futro S400 mit 1GHz AMD Geode Prozessor (Athlon XP-Klasse), PCI-Soundkarte M-Audio Delta 410 mit 8 Outs / 2 Ins
09.10.2010 Ansteuerung von SuperCollider über MIDI, Latenz bei gerade mal 2.5ms (bei 48kHz) auf einem P3 1GHz - unter 1ms wenn ein Audiointerface mit mehr "Power" verwendet wird! :) Natürlich kann es passieren, daß SuperCollider soviel CPU braucht, daß man die Puffer hochsetzen muß, aber hoffen wir mal das beste!
08.10.2010 Erste Tests mit SuperCollider, Suche nach passender Hardware

Siehe Auch