-
Notifications
You must be signed in to change notification settings - Fork 0
/
DIY-Synthesizer.mw
82 lines (62 loc) · 4.46 KB
/
DIY-Synthesizer.mw
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
{{ProjektInfoBox
|name = DIY-Synthesizer
|status = experimental
|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 =
{| class="wikitable"
|-
! 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 ==
* [[DIY-Synthesizer/Einkaufsliste]]