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:

Töne/Musik mit FreeBasic möglich?

 
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
Grafixfan



Anmeldungsdatum: 24.03.2007
Beiträge: 17
Wohnort: Bayreuth

BeitragVerfasst am: 20.05.2007, 14:20    Titel: Töne/Musik mit FreeBasic möglich? Antworten mit Zitat

Liebe Forumisten,
nachdem Ihr mir so super bei hochauflösenden Grafiken geholfen habt, hier die nächste neugierige Frage:

kann man mit FreeBasic irgendwie die Soundkarte ansprechen und auf diese Art mit einem FreeBasic-Programm Musik berechnen/erzeugen?

Mit Turbobasic ging's über den Befehl "sound" auf die einfache Tour über den internen Pieps-Lautsprecher des PC ... klang aber sehr dünn und war nur einstimmig. Und meine Tuba wird mir langsam zu schwer!

Wenn's nicht mit FreeBasic geht, dann vielleicht mit C+ ö.ä.?
Kann da jemand was dazu sagen?

Danke und viele Grüße
Grafixfan
(auch Musixfan: immer nur Bilder anschauen verödet das Gehör)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

BeitragVerfasst am: 20.05.2007, 14:43    Titel: Antworten mit Zitat

Es gibt viele möglichkeiten mit FreeBASIC die Soundkarte anzusprechen, ich erinnere mich unter anderem an alte QBasic beispiele dafür.

Einfach und schnell wäre zB die möglichkeit über die Winmm,
ein beispiel dazu gibts auf www.freebasic.de oder im examples verzeichniss
examples\Windows\winmm

Eine weitere recht einfache möglichkeit wäre die verwendung von FMod
www.fmod.de
ein beispiel dazu gibt es glaube auch bei den examples
examples\sound

das sind allerdings nur zwei beispiele von vielen möglichkeiten die Soundkarte anzusprechen, Volta hat hier im Forum zum Thema DirectSound bereits sehr gute vorarbeit geleistet Winmm und DirectSound
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
nemored



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

BeitragVerfasst am: 20.05.2007, 14:52    Titel: Antworten mit Zitat

Ich verwende die Bibliothek fbsound, das funktioniert auch ganz gut. Bisher binde ich damit aber einfach nur MP3s ein.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
csde_rats



Anmeldungsdatum: 07.01.2007
Beiträge: 2292
Wohnort: Zwischen Sessel und Tastatur

BeitragVerfasst am: 20.05.2007, 14:58    Titel: Antworten mit Zitat

man müsste um "richtig" mit noten zu spielen MIDI verwenden... oder für jede Note ein mp3 oder wav machen, und dann sone art scriptinterpreter^^
_________________
If hilfreicher_Beitrag then klick(location.here)

Klick
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: 20.05.2007, 15:03    Titel: Antworten mit Zitat

"richtig" MIDI geht auch... über die API-Funktionen von winmm...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


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

BeitragVerfasst am: 20.05.2007, 18:29    Titel: Antworten mit Zitat

csderats hat Folgendes geschrieben:
man müsste um "richtig" mit noten zu spielen MIDI verwenden... oder für jede Note ein mp3 oder wav machen, und dann sone art scriptinterpreter^^

was dann aber MOD-Dateien entspricht, die man mit FMOD und BASS (www.un4seen.com) abspielen kann.
_________________
» 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
PMedia



Anmeldungsdatum: 14.08.2006
Beiträge: 2847

BeitragVerfasst am: 20.05.2007, 18:35    Titel: Antworten mit Zitat

solltest ihm dann aber auch sagen wie man die macht xD

google mal nach OpenMPT oder ModPlug Tracker... (OpenMPT dabei bevorzugt von Jojo, auch wenn ich keinen Unterschied sehe... xD)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


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

BeitragVerfasst am: 20.05.2007, 18:48    Titel: Antworten mit Zitat

keinen unterschied durchgeknallt musst dir mal die neuesten releases ziehen lachen außerdem: modarchive.com grinsen
_________________
» 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
Grafixfan



Anmeldungsdatum: 24.03.2007
Beiträge: 17
Wohnort: Bayreuth

BeitragVerfasst am: 20.05.2007, 19:15    Titel: Antworten mit Zitat

Da ist ja schon einiges zusammen gekommen ... ich werde mich drauf stürzen. Als blutiger Programmierlaie tue ich mir im Moment aber noch verdammt schwer und hoffe auf weitere und detaillierte Hilfe.

Die Idee mit den mp3 ist nicht schlecht, obwohl man dann nicht nur für jeden Ton, sondern auch für verschieden lange Töne mehrere Files braucht? Oder geht's so schnell, daß man mehrere gleiche mp3 hintereinander als einen durchgehenden, längeren Ton wahrnimmt?

Was mir vorschwebt, ist, z.B. die Ergebnisse der Chaosmathematik (siehe auch die Projekte "gerechnete Grafik") über einen Rechenalgorithmus in Noten oder Frequenzen umzuwandeln, für ggf. mehrstimmige Lieder durch einen ebenfalls zu programmierenden Harmonielehrefilter zu jagen und von der Soundkarte automatisch abspielen zu lassen ... dann bräuchte man nur noch hinhören und genießen oder sich von Grauen geschüttelt abwenden (schlimmer als bei Florian Silbereisen kann's aber wohl nicht werden).

Wenn ich mir die chaotischen Grafiken so anschaue, könnte mit einer gewissen Wahrscheinlichkeit vielleicht doch was Interessantes rauskommen???
Getrieben von unstillbarer Neugier (und der Ehefrau) grüßt Euch
Euer Grafixfan (blöder Name, jetzt paßt er nimmer)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
vspickelen



Anmeldungsdatum: 12.06.2005
Beiträge: 13
Wohnort: Holland

BeitragVerfasst am: 22.05.2007, 13:52    Titel: Antworten mit Zitat

Weiteres zum Thema Chaos, Klang oder Musik:
http://ca-pieces.sourceforge.net/index.html (auf english).
Tschau!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Grafixfan



Anmeldungsdatum: 24.03.2007
Beiträge: 17
Wohnort: Bayreuth

BeitragVerfasst am: 22.05.2007, 18:42    Titel: Antworten mit Zitat

Habe den FreeBasic-Quellcode auf der Seite http://ca-pieces.sourceforge.net/index.html runterkopiert und gestartet: das Programm leistet auf den ersten Blick, was ich wollte - diesen Code hätte ich selber nie hinbekommen.
Werde in der nächsten Zeit versuchen, in den Code mein Chaos und vielleicht etwas Harmonie einzufügen und auch die anderen Vorschläge probieren.
Sobald was Gscheit's rauskommt - das kann aber dauern - werdet Ihr es als Projekt hören, ob Ihr wollt oder nicht!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
DL1YOV



Anmeldungsdatum: 28.02.2007
Beiträge: 7

BeitragVerfasst am: 22.05.2007, 19:09    Titel: Antworten mit Zitat

Genau so etwas frage ich mich auch schon seit Jahren. Ganz früher hatte ich mal einen C64, da konnte man den Synthesizer noch direkt programmieren, d.h. man teilte dem Chip mit, welche Tonhöhe, Länge und Hüllkurvencharacteristik der Ton haben sollte und dann wurde der Ton direkt ausgegeben (also ohne irgendwelche Umwege wie MOD, Midi etc.). Genau so eine Möglichkeit suche ich auch auf dem PC unter Linux. Gibt's da irgendeine Möglichkeit?

Gruß,

Oliver
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


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

BeitragVerfasst am: 22.05.2007, 20:47    Titel: Antworten mit Zitat

Leider, leider gibt's auf dem PC keinen SID, aber ich glaube das hast du schon in deiner Verzweiflung gemerkt grinsen Da hilft nur ein Emulator... (Farbrausch hat übrigens einen Emulator für diese nette 64k-Kiste in 64 KB nachgeproggt! geschockt ) - naja, das, was dem SID wohl noch am ähnlichsten ist, ist die MIDI-Schnittstelle...
_________________
» 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
croco97



Anmeldungsdatum: 04.11.2005
Beiträge: 260

BeitragVerfasst am: 23.05.2007, 09:41    Titel: Antworten mit Zitat

Weiss nicht, ob das hierher passt, aber es gibt auch die Möglichkeit, über fmod Hüllkurven-Synthese zu machen. Wird kurz im letzten Kapitel des Oma-Tutorials, Teil 3 erklärt.

Viele Grüsse!

Croco
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.05.2007, 16:31    Titel: Antworten mit Zitat

Kommt darauf, was für eine Hüllkurve du möchtest. Wenn's nur um die Lautstärke geht, kannst du deine Signal einfach mal einen Wert zwischen 0 und 1 nehmen (sofern das sample signed ist) nehmen, und die lautstärke zu modifzieren. dazu habe ich auch ein beispiel:

Code:


sub CreateSample()
Dim B as short,Lang as UShort,A&,Amp1#,Amp2#,Amp#,AmpStep#,K,C&
Lang = 30000
OPEN "~xTemp.raw" FOR BINARY AS #1
Amp1# = 0.4
Amp2# = 0
AmpStep# = (Amp1# - Amp2#) / Lang
Amp# = Amp1#
FOR K = 1 TO Lang
  A& = SIn(K * .1) * 32767 + 32767
  C& = Sin(K * .5) * 32767 + 32767
  A&=A&+C&
  A&\=2
  A& = A& - 32767
  Amp# = Amp# - AmpStep#
  A& = A& * Amp#
  IF A& < -32766 THEN A& = -32766
  IF A& > 32767 THEN A& = 32767
  B = A&
  PUT #1, , B
NEXT
CLOSE #1

end sub

achtung, mit fb 0.16 zuletzt kompiliert - muss optimiert werden.
_________________
» 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