Frage

ich gesucht habe das Netz aber nichts interessant gefunden. Vielleicht etwas mache ich falsch.

Ich suche nach API Klangsynthese geschrieben auf C, C ++ oder auch Objective-C, die verschiedenen Arten von Wellen synthetisieren kann, sind Effekte optional.

War es hilfreich?

Lösung

Hier ist eine komplette Bibliothek / Toolkit für FM (Frequency Modulation) Synthese:

link1 link2

Wenn Sie Zeit haben zu ersparen ... Erstellung von einfacher Klangsynthese von Grunde ist eigentlich ein Spaß Fangen. Wenn Sie einen kleinen Puffer von 256 16-Bit-Samples erstellen, die entweder eine Sinus darstellen. ein Sägezahn, Block oder Impuls, können Sie diese zu einem Live-Audiobuffer (zum Beispiel einer kleinen Puffer (etwa 16 kb)), die ständig Schleifen kopieren. Durch die vor dem playposition bleiben, und füllt ständig den Puffer mit neuen Werten, können Sie die soundoutput erstellen. Sie können die kleinen Puffer verwenden diese auf interessante Weise zu kombinieren (einfachste nur um sie zusammen zu fügen ist (additive Synthese)).

Die Frequenz des Tons kann durch Verwendung eines größer oder kleinen Abtastschritt durch die kleinen Puffer manipuliert werden. Amplitude kann durch Skalieren der Proben manipuliert werden, bevor sie in den Ausgabepuffer setzen.

Viel Spaß mit diesem experimentieren!

Wenn Sie diesen Schritt genagelt haben, können Sie komplexere Effekte wie Filter (Tiefpass, Hochpass, usw.) und Effekte (Reverb, Echos, etc.) hinzufügen

R

Andere Tipps

Haben Sie sich die Synthese Toolkit ( STK )? Es ist in C ++ (Ich glaube nicht, ObjC die richtige Sprache für Audio-Synthese ist in der Tat Audio-Geräten, Apples eigene Art von Audio-Material zu tun, einschließlich Generatoren / Filter / Effekte ... ist in C ++).

STK wird unter Mac OS X laufen und iOS kein Problem (Core Audio unterstützt wird), sondern auch auf Linux und Windows (direktes Audio und ASIO) läuft, mit RTAudio. Es ist wirklich schön gemacht und leicht, diese Jungs haben viel Zeit, darüber nachzudenken ausgegeben und es wird auf jeden Fall einen großen Vorsprung geben. Es kann viele verschiedene Audio-Formate + midi behandeln (und hoffentlich OSC bald ...).

Es wird auch und MUSCHEL rel="nofollow"> erstellen, die sehr groß ist, dazu gehören GUI-Komponenten und viele andere Dinge, die könnten Sie oder auch nicht wollen. Wenn Sie nur daran interessiert zu tun Klangsynthese sind empfehle ich STK wirklich.

Portaudio ist auch ein großer C-API, die wir im letzten Semester in einem Audio-Programmierkurs verwendet. Es bietet einen Audio-Rückruf ... was will man mehr brauchen !?

ich nicht versucht haben, es mit etwas in Objective-C noch enthalten, wird aber berichten, wenn ich es tue.

Schreiben von Audio-Synthese-Algorithmen in C / obj-C ist ziemlich schwierig, meiner Meinung nach. Ich würde empfehlen, Ihre Signalverarbeitungsalgorithmen Schreiben mit Puredata und dann a href verwenden <= "https://github.com/ mhroth / zengarden“rel = "nofollow"> zengarden oder libpd einzubetten und zu interpretieren das pd-Patches in Ihrer Anwendung.

Ein weiterer C ++ Bibliothek ist Nsound:

http://nsound.sourceforge.net

kann man jede Art von moduliertes Signal erzeugen, um den Generator oder Klasse unter Verwendung der bereitgestellten Sine-Klasse. Jeder Zeitschritt kann seine eigene momentane Frequenz hat und Phasenversatz.

Sie können auch mit dem Python-Modul experimentieren Ihren Algorithmus schnell zum Prototyp, dann implementieren in C ++. Es kann ziemlich matplotlib Plots aus Python produziert und sogar von C ++!

Haben Sie sich unter CSound ? Es ist eine unglaublich flexible Audio-Generation-Plattform und kann alles von einfacher Wellenform Generation FM-Synthese und alle Arten von Filtern bearbeiten. Es bietet auch MIDI-Unterstützung, und Sie können es erweitern, indem benutzerdefinierten Opcodes zu schreiben. Es gibt einen voll C-API und mehrere C ++ APIs als auch.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top