2009-07-02 3 views
4

Ich bin neugierig. Wie würde man die einfachste Audio-Engine aller Zeiten implementieren? Ich habe etwas wie einen Stream für Audiodaten im Hinterkopf mit Ihrem Standard-Audiogerät. Wenn ich viel mit RtAudio spiele, denke ich, wenn man einige der Features löschen könnte, wäre das möglich. Jemand eine Idee, wo ich anfangen soll?WIE: Die einfachste Audio Engine?

+2

Welche Plattform? Was würde diese Audio Engine tun, das heißt, was sind ihre Ein- und Ausgänge? –

Antwort

0

Nun gibt es keinen Grund, warum Sie keine Audio-Engine erstellen können, die eine triviale einfache Schnittstelle hat:

audioEngine.PlayStream(myStream) 

Die Audio-Engine würde dann regelmäßig Daten aus diesem Stream lesen und an die Soundkarte senden. Der Grund dafür, dass Audio-Engines komplizierter sind, besteht darin, dass Sie alle Arten von Parametern steuern können, einschließlich der Latenz der Wiedergabe, der Sample-Rate, der Bit-Tiefe sowie der Notwendigkeit, Audio zwischen Formaten zu konvertieren. Fügen Sie die Probleme beim Neupositionieren von Streams und beim Synchronisieren mehrerer Streams, beim Unterstützen mehrerer Audiotreiber-APIs usw. hinzu, und bald haben Sie eine Audio-Engine, die so kompliziert ist wie jede andere.

0

Vielen Dank für Ihre Antworten.

zu .mark Heath:

ja ich weiß natürlich, dass es vielleicht eine Menge Parameter sein, es zu zwicken sein die Filter-Cutoff, Resonanz, Verzögerung Timing etc etc ..

war ich nur neugierig Wie baue ich eine Audio Engine so einfach wie möglich und so modular wie möglich? Die Hauptabsicht, die ich mir vorgenommen hatte, war, den Gameboy Soundchip wieder aufzubauen (auch hier, dort viele Implementierungen, zB JavaBoy).

to.smcameron

Es scheint, dass CCAN/wwviaaudio eine Abhängigkeit libvorbis/Portaudio hat (Version> = 19), das ergäbe die gleiche Wirkung wie mit RTAudio (das ist im Vergleich zu anderen Echtzeit-Audio-Schnittstelle Asio Unterstützung eingebaut haben, eher klein). Ich werde es jedoch versuchen.

Grüßen,

audax

+0

Anstatt eine andere Antwort zu erstellen, sollten Sie in jeder Antwort einen Kommentar hinzufügen, um andere Lösungen zu kommentieren. – FurtiveFelon

+1

Es klingt für mich, als wäre es besser, wenn Sie das ganze "create a audio engine" -Problem ignorieren und sich darauf konzentrieren, den Chip tatsächlich zu simulieren. Eine VST- oder AU-Implementierung wäre viel allgemeiner nützlich. –

Verwandte Themen