Was muss man wissen, um einen Software-Synthesizer zu bauen?


19

Für jemanden, der Erfahrung in der Softwareentwicklung hat, seine Synthesizer liebt und die [sehr] Grundlagen der digitalen Audiodarstellung kennt, sind die ersten Schritte, denen er folgen sollte, um einen Musiksynthesizer DSP-weise zu programmieren?

Antworten:


17

Holen Sie sich Real Sound Synthesis für interaktive Anwendungen und laden Sie das Synthesis Toolkit herunter . Dadurch erhalten Sie praktische Einführungen und hochwertigen Quellcode für die meisten verwendeten digitalen Synthesemethoden. Wählen Sie dann die für Sie interessanteste Methode aus und ändern Sie den entsprechenden STK-Code, um das zu tun, was Sie möchten. Dann versuchen etwas ähnliches Gebäude von Grund auf neu.

Darüber hinaus ist alles von JOS , wie von hotpaw2 vorgeschlagen , auch ein großartiges Einführungsmaterial. Insbesondere gehen Einführung in digitale Filter mit Audioanwendungen und Mathematik der diskreten Fouriertransformation von den Grundlagen aus und gehen nicht von viel Hintergrund aus.

Aus der Perspektive der digitalen Filter / Effekte ist Faust ein weiterer guter Ausgangspunkt . Sie müssen nicht einmal die Signalverarbeitungssprache des Blockdiagramms lernen, sondern können die Beispiele verwenden, um den VST-, LADSPA- usw. Vorlagencode auszugeben und so schnell etwas zum Laufen zu bringen [was Sie dann ändern können].

Abgesehen davon ist es noch einfacher, mit der Tonwiedergabe zu beginnen, was im Grunde das Gleiche ist, ohne sich um Echtzeitbetrieb oder Interaktivität zu kümmern. Sie speichern nur WAV-Dateien auf der Festplatte. Es ist eine großartige Möglichkeit, mit neuen Techniken zu experimentieren, bevor Sie sich die Mühe machen, sie schnell zum Laufen zu bringen.


Perfekte Antwort - es umfasst eine sehr ausgewogene Menge von Angelegenheiten. Vielen Dank!
14.

6

Ich würde ein Einführungsbuch über DSP und einige Bücher zum Thema Computermusik lesen (Amazon und andere Buchhandlungen listen mehrere auf). Es gibt auch eine Fülle von Kursmaterialien von Stanford über DSP und Klangsynthese. Bücher über das menschliche Gehör und die Psychoakustik könnten ebenfalls hilfreich sein.


5

Zuerst müssen Sie entscheiden, welche Art von Synthesizer Sie bauen möchten - additiv, FM, sample-basiert usw. Sie müssen auch entscheiden, ob Sie eine Art vorhandenen analogen Synthesizer emulieren oder nur Ihren eigenen entwerfen möchten.

Der Rest ist ziemlich einfach - Sie müssen lediglich die verschiedenen Synthesizer-Bausteine ​​(z. B. Oszillatoren, Filter, Rauschgeneratoren, Hüllkurvenformer usw.) in Software implementieren und diese dann miteinander "verdrahten" und ihre Parameter steuern.

Siehe Hal Chamberlins Buch " Musikalische Anwendungen von Mikroprozessoren" , das eine gute Einführung in viele der Grundlagen bietet.


4

I'm quite surprised nobody mentioned SynthMaker yet. It's ridiculously easy to use, and though it makes it difficult to go low-level (be sure to use developer mode), you can learn a lot about Synthesizer architecture with it, and also about general DSP. And you can actually make use of the things built with it, in fact, I use it to construct almost all of my plugins.


As a software developer I've been always reluctant to wizards but I bet DSP is a deep world so SynthMaker could be handy. In addition a couple of mates have had a good experience with it :)
vemv

I was going to mention SynthMaker myself. It's a great program.
Matt M.

4

As some of the other contributors have mentioned, a good primer on DSP is a must. This is a great book> http://www.dspguide.com/ and the author has kindly provided a full and free PDF download. Another common music tech course book which gives good high level views of various synthesis techniques is> http://www.amazon.com/Computer-Music-Tutorial-Curtis-Roads/dp/0262680823. I would also reiterate what the previous contributor suggested, Synthmaker, which is a very convenient visual development environment for developing VST plugins. Finally, if you just want to experiment without going to deeply into it you could try using Csound which is a programming language specifically designed for sound synthesis.


2

I just want to chime in since most of the answers focus on DSP issues. If you don't use a block design system like SynthMaker, you are going to spend a lot of development time in dealing with voice management. If you were writing a VSTi instrument plugin from scratch, the learning curve is much longer than for effect plugins. You will have to manage each note object, decide what happens when there are 20 notes on if your DSP is only fast enough for 16 voices, respond to pitch bend, portamento, modulation, etc. This is no easy task and that's why I highly recommend starting with Buzz or SynthMaker, and rolling your own when you finally come up against a wall.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.