Töne zu erzeugen, ohne eine Bibliothek?
Ich bin auf der Suche nach Dokumentation, tutorials, Beispiele, wie man sounds generieren. Ich meine, ohne eine Bibliothek, die verstecken sich all die interessanten Sachen.
Ich bin interessant Klang und ich möchte anfangen etwas zu tun mit ihm aber ich weiß nicht, von wo aus zu starten.
Korrigiert mich wenn ich mich Irre, aber die niedrigste Stufe, Klänge zu generieren, ist eine dieser (DirectSound
CoreAudio -, ALSA -, OSS) je nach OS. Also ich habe zu Holen ein Betriebssystem und lernen die entsprechenden sound-system?
Ist das wirklich Wert oder sollte ich einfach lernen, eine Bibliothek, wickelt alle der oben genannten und bietet cross-Plattform-Kompatibilität?
Vielleicht diese Frage ist nicht sehr klar, und ich bin es tut uns Leid, aber es stellte sich heraus, dass ich gar nicht weiß, was ich will. Ich versuche nur, etwas zu finden, die interessant für meine these.
- Sie sollten die SDL ein Schuss.
- Diese nicht direkt auf Ihre Frage Antworten, außer dass es eine interessante factoid über einen Musiker, der aus Ton mit einem computer, der noch nicht gebaut war, um Ton: en.wikipedia.org/wiki/Aphex_Twin#ZX81_competition
- Das ist inspirierend.
- Wenn Sie wollen einfach nur "einen" Ton, nur tun
cout << (char)7;
🙂 - Ich denke, das ist eher ein A#, nicht?
- Die BIOS-beep ist Ein a#? Ich dachte, dass war die Umsetzung abhängig?
- Die Abstimmung zu schließen, Werkzeug-rec. Auch Betriebssysteme sind Bibliotheken 😉 Und wenn kein OS verwendet wird, müssten wir wissen, Ihre genaue hardware, und es kommen würde, auf: schreiben Sie einen Gerätetreiber für die... die ist wahrscheinlich zu breit. SDL-version: "stackoverflow.com/questions/10110905/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist ein Beispiel, um Ihnen den Einstieg.
kompilieren und ausführen unter Linux über ALSA Schnittstelle:
kompilieren und ausführen unter Linux über GStreamer Schnittstelle:
GStreamer Ansprüche cross-Plattform. Es ist der main-Funktion von Interesse ist, dass Sie erstellen (oder vorhandene) plugins zum Bau einer pipeline von audio-Filter.
find /run/user/${USER}/gvfs/cdd* -iname "*.wav" -print0 |xargs -0 aplay
Auf einigen Unix - (ish) - Systemen können Sie nur schreiben von audio-Daten
/dev/audio
(oder/dev/dsp
) und es spielen. Auf modernen Linux-Systemen mit dem ALSA-Treiber, müssen Sie möglicherweise Rohr es zuaplay
statt. In jedem Fall, wenn Sie nicht brauchen, um ein bestimmtes sound-Bibliothek — öffnen Sie einfach einen Ausgabestrom und schreiben. Dies ist, wie alle jene bytebeat Einzeiler tun.Müssen Sie komunizieren mit der audio-hardware, aber die Zeiten, in denen können Sie es direkt tun, sind lange vorbei...
Darf ich vorschlagen,OpenAL?
Alle anderen Antworten nur empfehlen, einige Abstraktion oder der Bibliothek. Es gibt immer die Möglichkeit zurück zu fallen, die direkt auf der hardware. (Ob das eine gute Idee ist eine ganz andere Frage und völlig bis zu Ihnen zu entscheiden)
Darf ich vorschlagen, suchen Sie unter audio-Treiber-code? Die Emu10k1 - Treiber ist nur ein Beispiel in den linux-Quellen.
Ebenfalls einen Blick Wert ist: "Erstellen eines Kernel-Treiber für den PC-Speaker"
Ich erinnere mich auch an die Tage auf dem Amiga, wo einige komische dude ein Programm erstellt, dass (ab-)genutzt, die Floppy-Laufwerk Schrittmotor wie einen audio-Ausgang.