Sound-Synthese-Framework in C/C++/Objective-C?
Habe ich im Netz gesucht, aber nicht gefunden, was interessant ist. Vielleicht mache ich etwas falsch.
Ich bin auf der Suche nach sound synthesis-API, geschrieben in C, C++ oder auch Objective-C, die synthetisieren kann, die verschiedenen Arten von Wellen, Effekte sind optional.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist eine komplette library/toolkit für FM - (Frequenzmodulation) - Synthese:
link1
link2
Wenn Sie Zeit haben... einfachen erstellen von sound-Synthese von Grund auf neu ist eigentlich ein lustiges Unterfangen. Wenn Sie einen kleinen Puffer von 256 16-bit-samples repräsentieren entweder einen Sinus. ein Sägezahn -, block-oder Impulswahl Sie können kopieren Sie diese zu einem live-audiobuffer (z.B. ein kleiner Puffer (sagen 16kb)), die ständig Schleifen. Durch den Aufenthalt vor der Maus die Abspielposition, und ständig füllen, bis der Puffer mit neuen Werten, die Sie erstellen können, der soundoutput.
Sie können die kleinen Puffer zu kombinieren, diese in interessanter Weise (einfachste ist einfach zu fügen Sie diese zusammen (additive Synthese)).
Die Frequenz des Tons manipuliert werden kann durch die Verwendung einer größeren oder kleineren sampling Schritt für Schritt durch den kleinen Puffer. Amplitude manipuliert werden kann durch die Skalierung der Proben, bevor Sie in den Ausgabe-Puffer.
Großen Spaß beim Experimentieren mit diesem!
Wenn Sie diesen Schritt genagelt, können Sie weitere anspruchsvolle Effekte wie Filter (low pass, high pass, usw.) und Effekte (Nachhall, Echos, etc.)
R
Haben Sie schaute auf die Synthese toolkit (STK)? Es ist in C++ (ich glaube nicht, dass ObjC ist die richtige Sprache für die audio-Synthese, in der Tat, audio-Einheiten, die Apple-eigenen audio-Slideshows, einschließlich Generatoren/Filter/Effekte... in C++).
STK läuft auf Mac OS X und iOS kein problem (CoreAudio unterstützt wird), aber die laufen auch auf Linux und Windows (Direct sound und ASIO), mit RtAudio. Es ist wirklich schön gemacht und leicht, diese Jungs haben eine Menge Zeit damit verbracht, darüber nachzudenken und es wird definitiv geben Ihnen einen großen Vorsprung. Es kann viele verschiedene audio-Dateiformate + midi (und hoffentlich OSC bald...).
Gibt es auch Erstellen und CLAM, die ist riesig, dazu zählen GUI-Komponenten und viele andere Dinge, die Sie möglicherweise oder möglicherweise nicht wollen. Wenn Sie nur daran interessiert, Klangsynthese ich wirklich empfehlen STK.
PortAudio ist auch eine große C-API, dass wir im letzten semester in einem audio-Programmierung natürlich. Es bietet eine audio-callback...was wollt Ihr mehr!?
Ich habe nicht versucht, in der Aufnahme mit etwas in Objective-C noch nicht, aber werde berichten, wenn ich es Tue.
Schreiben von audio-Synthese-algorithmen in C/obj-C ist ziemlich schwierig, meiner Meinung nach. Ich würde empfehlen, das schreiben der signal-Verarbeitungs-algorithmen mit PureData und verwenden Sie dann ZenGarden oder libpd einbetten und interpretieren die pd-patches in Ihrem app.
Anderen C++ - Bibliothek ist nsound:
http://nsound.sourceforge.net
Kann man erzeugen, jede Art von modulierten Signals mit Hilfe der Generator-Klasse oder mit der mitgelieferten Sinus-Klasse. Jedem Zeit-Schritt seine eigene momentane Frequenz-und Phasen-offset.
Können Sie auch Experimentieren mit dem Python-Modul Prototyp Ihrer Algorithmus schnell, dann implementieren Sie in C++. Es kann ziemlich matplotlib Grundstücke aus Python und sogar aus C++!
Haben Sie sich CSound? Es ist eine unglaublich flexible audio-generation-Plattform, und kann mit alles von einfachen waveform generation zur FM-Synthese, und alle Arten von Filter. Es bietet auch die MIDI-Unterstützung, und Sie können Sie erweitern, indem Sie benutzerdefinierte Befehle. Es gibt eine volle C-API und mehrere C++ - APIs als auch.