Autor |
Beitrag |
FinnO
      
Beiträge: 1331
Erhaltene Danke: 123
Mac OSX, Arch
TypeScript (Webstorm), Kotlin, Clojure (IDEA), Golang (VSCode)
|
Verfasst: Mo 23.08.10 16:07
Moin,
ich habe schonmal erwähnt, dass ich mit dem Gedanken Spiele, eine Art Software-Synthesizer zu bauen, wobei das Hauptaugenmerk eher auf Ton-/ Soundsynthese und nicht so sehr auf Melodien oder ähnlichem beruhen soll. Dazu gibt es ja jede Menge Methoden, Frequenzmodulation zum Beispiel.
Wie das ganze funktioniert und so weiter ist ja eher ein mathematisch-physikalisches Problem, das soll hier auch gar nicht besprochen werden. Was mich mehr interessiert ist, wie ich denn eine beliebige Sinusfunktion (oder was auch immer) sinnvoll über die lautsprecher ausgeben kann.
Ich vermute, dass das mit der Bass.dll gehen könnte, weiß da aber jetzt auch nicht so wirklich bescheid.
Meine einzige, zugegebenermaßen etwas klägliche Idee wäre, die Daten in digitaler Form temporär in ein möglichst einfaches Soundformat zu schreiben und dieses dann abzuspielen. Optimal ist das allerdings in keinster weise.
Es muss doch irgendwie möglich sein, direkt solche Daten durch die SOundkarte zu schieben, oder? Hat dbzgl. jemand Ideen, oder gar Erfahrung und kann mir eine Funktionssammlung/DLL etc. nennen?
LG
|
|
glotzer
      
Beiträge: 393
Erhaltene Danke: 49
Win 7
Lazarus
|
Verfasst: Mo 23.08.10 16:15
www.delphi-fundgrube.../faq13.htm#topic1307
das hat man mir dazu vor einiger zeit empfohlen, aber gefallen tut mösung auch nicht...
wenn du was gutes findest sag bescheid
|
|
FinnO 
      
Beiträge: 1331
Erhaltene Danke: 123
Mac OSX, Arch
TypeScript (Webstorm), Kotlin, Clojure (IDEA), Golang (VSCode)
|
Verfasst: Mo 23.08.10 16:19
na ja, das ist ja exakt meine idee - Das ganze in ein Dateiformat pressen (hier halt .wav) und dann per stream o.ä. abspielen. Sauber ist das nicht gerade, finde ich. Aber wahrscheinlich ist das die Möglichkeit, die normal und etabliert ist. Bin aber gerne für hübschere Vorschläge offen.
|
|
BenBE
      
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: Mo 23.08.10 17:14
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
|
|
FinnO 
      
Beiträge: 1331
Erhaltene Danke: 123
Mac OSX, Arch
TypeScript (Webstorm), Kotlin, Clojure (IDEA), Golang (VSCode)
|
Verfasst: Mo 23.08.10 17:35
Hey,
Danke Benny, besonders die letzte Seite des Tutorials ist, was ich brauche. Man sollte diesen Link mal sinnvoll archivieren, gute Sache, openAL.
Echt unglaublich, wie schnell mal wieder geholfen wurde!
LG
|
|
FrEaKY
      
Beiträge: 235
D7
|
Verfasst: Mi 11.05.11 22:56
FinnO hat folgendes geschrieben : | na ja, das ist ja exakt meine idee - Das ganze in ein Dateiformat pressen (hier halt .wav) und dann per stream o.ä. abspielen. Sauber ist das nicht gerade, finde ich. Aber wahrscheinlich ist das die Möglichkeit, die normal und etabliert ist. Bin aber gerne für hübschere Vorschläge offen. |
Was ist daran bitte "unsauber"? Das ist genau die Methode um es richtig zu machen. Aber wenn du lieber DLLs mitschleppen willst, nur zu.
|
|
BenBE
      
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: Mi 11.05.11 23:55
FrEaKY hat folgendes geschrieben : | FinnO hat folgendes geschrieben : | na ja, das ist ja exakt meine idee - Das ganze in ein Dateiformat pressen (hier halt .wav) und dann per stream o.ä. abspielen. Sauber ist das nicht gerade, finde ich. Aber wahrscheinlich ist das die Möglichkeit, die normal und etabliert ist. Bin aber gerne für hübschere Vorschläge offen. |
Was ist daran bitte "unsauber"? |
Du hast das OpenAL-utorial gelesen? UND Verstanden? Okay. Was daran unsauber ist, wenn man sowas ERST in eine Datei packt und DANN aus dieser streamt? Wenn man live Daten erzeugen kann, sollte man dies auch live tun. Der Umweg über eine Datei ist da einfach Überflüssig.
FrEaKY hat folgendes geschrieben : | Das ist genau die Methode um es richtig zu machen. |
Das ist genau die Methode, wie es Anfänger machen, die sich freuen, dass es geht und denen der Weg egal ist.
FrEaKY hat folgendes geschrieben : | Aber wenn du lieber DLLs mitschleppen willst, nur zu. |
Welche DLL brauchst Du bitte für OpenAL, die NICHT bei Windows schon bei ist? Außerdem: selbst wenn man da ne DLL bräuchte, gibt es durchaus Möglichkeiten, das entweder direkt in die EXE zu integrieren, oder die DLL einzubinden und das "in Memory" zu klären.
P.S.: Danke für das Ausgraben eines derart alten Threads ...
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
|
|
|