|
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
micdah
Anmeldungsdatum: 02.12.2011 Beiträge: 71
|
Verfasst am: 30.12.2011, 13:36 Titel: 2 töne |
|
|
hallo ,
wie kann ich 2 töne gleichteitig erzeugen ? (sound ...,....)
ich versuche und versuche und versuche und versuche ,aber ich schaffe es nicht |
|
Nach oben |
|
|
Flo aka kleiner_hacker
Anmeldungsdatum: 23.06.2006 Beiträge: 1210
|
Verfasst am: 30.12.2011, 16:21 Titel: |
|
|
Hi
kann es sein, dass du ne vorliebe für wiederholungen, und wiederholungen, und wiederholungen hast ?
kurze antwort: es geht nicht.
lange antwort: wenn du den pc-speaker schnell genug ansteuerst, kannst du auf den monophonen ton des speakers etwas anderes (polyphones) draufmodulieren... so kannst du sogar mp3s aufm pc-speaker abspielen.. hört sich aber nicht schön an, und eigentlich will man das nicht.
alternativ könntest du versuchen, direkt die soundkarte anzusteuern, dann geht das ohne viel frickelkram... da müssten fertige libraries rumliegen, aber ich bezweifle ob die mit qb unter windows noch funzen. unter reinem DOS oder der dosbox (also nicht dem command.com oder cmd.exe, sondern dem emulator) sollten sie aber... _________________ MFG
Flo
Satoru Iwata: Wer Spaß am Spielen hat, fragt nicht nach Grafik.
zum korrekten Verstaendnis meiner Beitraege ist die regelmaessige Wartung des Ironiedetektors unerlaesslich. |
|
Nach oben |
|
|
Dusky_Joe
Anmeldungsdatum: 07.01.2005 Beiträge: 1007 Wohnort: Regensburg/Oberpfalz
|
Verfasst am: 30.12.2011, 16:23 Titel: |
|
|
Nativ kann QB das nicht. Es gibt einen Umweg, der halbwegs brauchbare Akkorde erzeugt, aber immer noch keine Sounds gleichzeitig wiedergibt: Jeweils zwei Töne im schnellen Wechsel spielen.
Anstelle des PLAY-Befehls benutzt du SOUND. Du musst zunächst natürlich erst einmal für alle in Frage kommenden Noten die Frequenzen ermitteln. AFAIK gibt's auf qbasic.de ein Beispiel-Programm, das PLAY mittels SOUND umgeht. Ist nur auf einstimmige Wiedergabe ausgelegt, kann aber als Datenbasis dienen. Anstatt nun aber mit SOUND die volle Notenlänge zu spielen, setzt du als Parameter für duration% 1 ein. Direkt hinterher kommt nochmal ein SOUND-Befehl mit dem zweiten Ton, ebenfalls duration% = 1. Das wiederholst du - z. B. mittels FOR-NEXT-Schleife so oft, dass die gewünschte Tonlänge herauskommt.
(Lt. QB-Online-Hilfe: duration% gibt die Zahl der Takteinheiten an, für die der Ton wiedergegeben werden soll; In einer Sekunde vergehen genau 18.2 Takteinheiten, unabhängig von der Prozessorarchitektur. Oder umgekehrt: Eine Takteinheit ist etwas kürzer als 55ms).
Das könnte also z. B. so aussehen:
Code: | ' Ueberlagerung zweier Toene fuer 1 Sekunde:
Dim i As Integer
For i = 1 To 9
Sound 440, 1
Sound 660, 1
Next |
Hört sich eher an wie ein klingelndes Telefon, ich weiß. Ist aber - AFAIK - nativ unter QB die beste Annäherung, die du an gleichzeitige Ausgabe zweier Tonkanäle hinbekommen kannst.
Ansonsten natürlich kannst du dich mit MIDIs beschäftigen. Sieh dir auf Antonis Seite die DMA-Player oder die FX-Modulatoren an.
Viele Grüße, und alles Gute im Jahr 2012!
ey der Daus: Das war Post #1000
[edit]
@Flo
Oh, hab gar nicht mitbekommen, dass die Frage anderswo schon gestellt wurde... wenn man halt ein Jahr lang nicht mehr da war... Ich erinnere mich übrigens dran, dass wir im Physik-Praktikum unserer Laboranten-Ausbildung mal einen Verstärker zusammen gelötet haben. Den am einen Ende mit dem MP3er und am anderen Ende mit nem Quäker verbunden konnte man doch tatsächlich vorzeigen. Natürlich kein Vergleich zu nem Ordentlichen Lautsprecher mit Frequenzschranken etc, aber nicht so, dass es sich jetzt grausam angehört hätte; wer Bad Religion über Headphones hören mag, ist mit dem Speaker auch nicht schlecht bedient gewesen _________________ fully biological degradable
Once, the big wave arrives, you've got two ways, you can go:
Either, you ride it, or you don't do.
But, if you don't ride, you'll never know wether you'd have gone wet. |
|
Nach oben |
|
|
Jojo alter Rang
Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 30.12.2011, 16:31 Titel: |
|
|
Dusky_Joe hat Folgendes geschrieben: | Ist aber - AFAIK - nativ unter QB die beste Annäherung, die du an gleichzeitige Ausgabe zweier Tonkanäle hinbekommen kannst. |
Naja, wenn du die direkte Kommunikation über INP/OUT noch als "nativ" bezeichnest, kannst du auch PCM-Daten in einer sagenhaften Qualität von bis zu 6-Bit abspielen, wie z.B. hier (klingt direkt aus dem PC-Speaker sogar besser als in dem Video). Aber wenn man nicht wirklich einen guten Grund hat, mit dem PC-Speaker zu arbeiten, sollte man auf solche Hacks im Jahre 2011 verzichten... _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
|
|
Nach oben |
|
|
Dusky_Joe
Anmeldungsdatum: 07.01.2005 Beiträge: 1007 Wohnort: Regensburg/Oberpfalz
|
Verfasst am: 30.12.2011, 16:38 Titel: |
|
|
hey, das hier ist das QB-Subforum, oder? Wer die volle Breitseite 2011 haben will, wird sich nen anderen Dialekt suchen, oder nicht?
Mein Gott, ich werd ja gleich melancholisch, wenn ich mit die yT-Links so durchschaue! Wing Commander, Ski or die, Dune II, ...
Hm, gibt's eigentlich nen Konsens, ab wann man etwas nativ nennt? Ich hab die beiden eigentlich immer ausgeklammert, aber natürlich gehören die genauso zum Sprachumfang... _________________ fully biological degradable
Once, the big wave arrives, you've got two ways, you can go:
Either, you ride it, or you don't do.
But, if you don't ride, you'll never know wether you'd have gone wet. |
|
Nach oben |
|
|
dreael Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 2507 Wohnort: Hofen SH (Schweiz)
|
Verfasst am: 01.01.2012, 20:41 Titel: |
|
|
*smeil* Ohne viel Kommentar:
http://www.dreael.ch/Deutsch/Download/Musiksammlung.html
d.h. früher der Commodore Amiga (und auch schon sein Vorgänger C 64) konnten Deinen Wunsch ohne Wenn und Aber erfüllen. Das beim Amiga mitgelieferte BASIC war übrigens auch ein Abkömmling von Microsoft, deshalb wurden dort aufgrund des dortigen 4-stimmigen Soundchip dem SOUND-Befehl einfach noch die beiden Parameter Lautstärke und Kanalnummer (=Zahl von 0 bis 3 für den Tongenerator im Soundchip) beigefügt.
Bei FreeBasic wurden PLAY und SOUND komplett weggelassen, siehe
http://www.freebasic.net/wiki/wikka.php?wakka=LangQB
(wäre aber aus meiner Sicht ein sinnvoller Vorschlag für die Feature Request List ans FB-Entwicklungsteam, Soundbefehle, welche auf der Grundsyntax vom PC und Amiga basieren + Erweiterungen für moderne Soundkarten aufzunehmen [z.B. Grundsemantik könnte sein, dass SOUND MIDI-Töne erzeugt -> Instrumentwahlbefehl oder alternativ Samples abspielt]. Gerade das neue Sprachelement Thread in FB würde es wunderbar ermöglichen, die Hintergrundmusik-Abspielroutine einfach in einen Thread hineinzunehmen!) _________________ Teste die PC-Sicherheit mit www.sec-check.net |
|
Nach oben |
|
|
|
|
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.
|
|