Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Direkte Soundausgabe aus eigenem Buffer..zur Laufzeit!

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Paul
aka ICC, HV-Freak


Anmeldungsdatum: 11.09.2004
Beiträge: 588
Wohnort: Uelzen

BeitragVerfasst am: 23.10.2007, 14:01    Titel: Direkte Soundausgabe aus eigenem Buffer..zur Laufzeit! Antworten mit Zitat

Mahlzeit,

ich hab da mal ne Frage! Wie ich mit FB normale WAVs abspielen kann, weiß ich ja.
Wave-File laden, dann ner anderen Funktion das Handle dieses geladenen Samples geben und dann wird abgespielt.

Aber wie kann ich meine Sounddaten direkt abspielen?
Quasi so direkt wie SOUND x, y oder wie damals in QB, als ich die Bytes direkt an den entsprechenden Port geOUTet hab. (*nostalgie*)

Ich möchte also meinen Sound-Buffer zur Laufzeit erzeugen und dann abspielen, ohne den Umweg über die externe Wave-Datei zu gehen.

Achja, das ganze sollte in Stereo funktionieren!
Playback-Abspielen braucht es nicht zu können (sollte es egtl. sogar garnicht!).


Wie geht das?
Bestimmt gibt es da eine ganz kleine Funktion in irgendeiner Lib für, aber die hab ich noch nicht gefunden. zwinkern


Ich hoffe ihr habt mein Problem durchschaut und könnt mir helfen! happy

Gruß,
Paul
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
PMedia



Anmeldungsdatum: 14.08.2006
Beiträge: 2847

BeitragVerfasst am: 23.10.2007, 16:43    Titel: Antworten mit Zitat

Das ist ganz einfach, aber wenn man selbst kaum Ahnung hat schwer zu erklären, aber ich möchte dir mit einem meiner Programme helfen:
http://www.freebasic-portal.de/index.php?s=fbporticula&mode=show&id=211

Oder (ausschl unter Windows - aber auch WINE-Funktional) dieses hier:
http://www.freebasic-portal.de/index.php?s=fbporticula&mode=show&id=230

Hierbei wird die FMOD 3-Bibliothek verwandt.

Die beiden Programme sind als Testobjekte zu verstehen, als ich die FMOD gelernt habe, und noch nicht wusst, dass es auf fmod.org ein Handbuch dazu gibt - ich dacht immer, FMOD 3 und FMODEX sind 2 andere Systeme, bis ich mir den Dateinamen mal genauer angeguckt habe.... drum stammen die Calls aus Jojo's "vChip", welches man sich unter [url]http;//saga-games.ath.cx[/url] herunterladen kann mit Quelltext.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Paul
aka ICC, HV-Freak


Anmeldungsdatum: 11.09.2004
Beiträge: 588
Wohnort: Uelzen

BeitragVerfasst am: 23.10.2007, 17:26    Titel: Antworten mit Zitat

Jau, danke, damit sollte ich es hinbekommen. zwinkern

Äh PMedia, dein Keyboard ist leicht verstimmt^^
Deine Tonleiter ist nicht C D E F G A H sondern C D Eb F G Ab A..
Also eher Cm mit ner großen Sexte und ohne Septime (argh), und kein C dur.

Und das G ist besonders verstimmt, es ist etwas zu tief (hört man, wenn man zuerst ne Quarte (C + F und dann die Quinte C + G spielt)).

Sry fürs Klugscheissen grinsen

€dit: Das war jetzt nur auf die tiefste Oktave bezogen ..die anderen 2 sind noch verstimmter o_O

Gruß,
Paul
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4704
Wohnort: ~/

BeitragVerfasst am: 23.10.2007, 17:36    Titel: Antworten mit Zitat

Die Frequenzen sollten sich ja leicht ausrechen lassen: Doppelte Frequenz ist eine Oktav, dann ist wegen der 12 Halbtöne innerhalb einer Oktav ein Halbtonschritt gleich vorigerTon*LOG12(2), ein Ganztonschritt gleich vorigerTon*LOG12(2)^2 usw. (ohne Gewähr)

LOG12 ist der 12-Logarithmus: LOG12(2) = LN(2)/LN(12)

edit: gaanzgaanz falsch verlegen richtig ist vorigerTon*2^(1/12) für einen Halbtonschritt
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.


Zuletzt bearbeitet von nemored am 23.10.2007, 17:53, insgesamt 2-mal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Paul
aka ICC, HV-Freak


Anmeldungsdatum: 11.09.2004
Beiträge: 588
Wohnort: Uelzen

BeitragVerfasst am: 23.10.2007, 17:42    Titel: Antworten mit Zitat

Jau.

Hm, Fmod ist eigentlich schon Overkill für mein Vorhaben.
Gibt es nicht ne einfache Windows-API-Funktion, mit der ich einen puren Wave-Buffer ausgeben kann?!
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
PMedia



Anmeldungsdatum: 14.08.2006
Beiträge: 2847

BeitragVerfasst am: 23.10.2007, 17:57    Titel: Antworten mit Zitat

hab egtl nur das gemacht was inner Wikipedia steht, dafür kann ich nix dasses verstimmt is grinsen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 23.10.2007, 20:12    Titel: Antworten mit Zitat

Paul hat Folgendes geschrieben:
Jau.

Hm, Fmod ist eigentlich schon Overkill für mein Vorhaben.
Gibt es nicht ne einfache Windows-API-Funktion, mit der ich einen puren Wave-Buffer ausgeben kann?!


Du kannst auch BASS verwenden - Ist nur 90 kb groß, steckt aber ziemlich viel nützliches dahinter! Viele praktische Funktionen, die du zu schätzen wissen wirst lächeln
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz