| |
|
|
- Seite 1 - |
|
KHR | Hallo miteinander,
. hab schon wieder ein neues Projekt, das mir so duch die Hirnwindungen geistert.
Dazu sollte ich eine Tonfrequenz, die z.B. an der Soundkarte ankommt, erkennen können.
bis jetzt mach ich das mit einem kleinen Atmel und schick mir den gemessenen Wert über seriell ins Programm. Beim Suchen (und nicht finden) im Forum ist mir dann auch gleich noch das nächste Problem aufgefallen:
Wie krieg ich ne Soundkarte dazu mir z.B. einen Ton mit 1750Hz für 0,3 Sek auszugeben.
Soweit ich die Hilfe gelesen und verstanden habe, geht das mit Xprofan nicht ..........
oder hat da jemand nen Tip für mich???
. |
|
|
| Gruß Karl-Heinz WIN XP home/Pro / XPROFAN 11 / P2CPP ATMEL + BASCOM Fan | 10.04.2008 ▲ |
|
|
|
|
| |
|
- Seite 1 - |
|
Matthias Arlt | KHR
Sound 1750,120 - der Ton kommt aber aus dem PC-Lautsprecher und nicht über die Soundkarte. Normalerweise eigentlich nicht, bzw. je nach Einstellung. Das Wiedergabegerät einzustellen, ist zudem Sache des Betriebssystems und hat hier erstmal mit Profan nix zu tun...
Gruß Matthias |
|
|
| WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia | 12.04.2008 ▲ |
|
|
|
|
KHR | Hallo Matthias,
. also - entweder steh ich total auf dem Schlauch oder irgend etwas anderes paßt nicht.
Ich habs probiert:
sound 1750,760 und es piepst.
aber: Egal wie ich die Lautstärke der Ausgabe stelle es ändert sich nix, Also scheint der Ton nur aus der kleinen Tröte im PC zu kommen.
Dann hab ich die Tröte abgesteckt und nun war nix mehr zu hören, egal wie laut ich die Lautstärke gestellt habe.
Meine erweiterte Einstellung (Lautstärkeregelung) zeigt zwar nen Eintrag PC-Lautsprecher an, aber egal was ich da einstelle hat keine Auswirkung auf die Tröte
Hätte mich auch gewundert, da das eine mit dem anderen auch überhaupt nichts zu tun hat.
. |
|
|
| Gruß Karl-Heinz WIN XP home/Pro / XPROFAN 11 / P2CPP ATMEL + BASCOM Fan | 12.04.2008 ▲ |
|
|
|
|
Rolf Koch | Wird auch nicht funktionieren, siehe Ausschnitt Hilfe:
Hinweis: Die Befehle PlaySound, Play und Music setzen eine Soundkarte oder einen Soundchip auf dem Motherboard vorraus. Beep und Sound hingegen verwenden den internen PC-Speaker. |
|
|
| |
|
|
|
RGH | Hallo,
prinzipiell ist es natürlich so, wie in der Hilfe beschrieben, aber trotzdem gibt es etliche PCs, die BEEP und SOUND auch über die Soundkarte ausgeben können. Meiner zählt zum Beispiel dazu: Hier tönt BEEP und SOUND gleichzeitig über den eingebauten Lautsprecher und die an der Soundkarte angeschlossenen Lautsprecher.
Gruß Roland
Nachtrag: Regeln läßt sich die Wiedergabe von SOUND und BEEP über die Soundkarte über den Regler PC-Lautsprecher in der erweiterten Lautstärkeregelung. Wenn der ganz runter geregelt oder ausgestellt ist, kommt der Sound nur über den eingebauten PC-Lautsprecher. Ich muß ihn ganz hoch regeln, damit der Sound klar auch über die Soundkarte kommt. |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 12.04.2008 ▲ |
|
|
|
|
Matthias Arlt | RGH
...die BEEP und SOUND auch über die Soundkarte ausgeben können. Meiner zählt zum Beispiel dazu... Das kannte ich bisher auch garnicht anders. Was Gegenteiliges ist bei mir noch nicht vorgekommen, obwohl ich die PCs, die durch meine Finger gegangen sind, schon lange nicht mehr zählen kann. Prinzipiell ist es ja davon abhängig, wie der jeweilige Soundtreiber das handelt. Bei mir z.B. wird in den Einstellungen der PC-Speaker nicht mal mehr angezeigt.
Mit folgender Registry-Einstellung läßt sich übrigens der PC-Lautsprecher gezielt abschalten:
Unter dem Schlüssel HKCUControl PanelSound die Zeichenfolge ExtendedSounds erstellen und deren Wert auf 0 setzen. Vielleicht hilft das in diesem Falle.
Gruß Matthias |
|
|
| WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia | 12.04.2008 ▲ |
|
|
|
|
Andreas Miethe
| Hallo Karl-Heinz,
es gibt auch die Möglichkeit eine Wave im Speicher zu erzeugten und dann abzuspielen.
DEF PlaySoundData(2) ! winmm.dll , sndPlaySoundA
Declare Wave#
Proc MakeWave
Parameters Freq&,secs&
Declare avBytesPerSec&,channels&,bitrate&,samplerate&
Declare acctime&,actchannel&,actsamplevalue&
Declare X&,Loudness&
channels& = 2
bitrate& = 16
samplerate& = 11025
avBytesPerSec& = channels&*bitrate&/8*samplerate&
Dim Wave#,44+(avBytesPerSec&*secs&)
Long Wave#,0 = 1179011410 RIFF
Long Wave#,4 = 36+avBytesPersec&*secs&
Long Wave#,8 = 1163280727 WAVE
Long Wave#,12 = 544501094 fmt
Long Wave#,16 = 16
Word Wave#,20 = 1
Word Wave#,22 = channels&
Long Wave#,24 = samplerate&
Long Wave#,28 = avBytesPersec&
Word wave#,32 = bitrate&/8*channels&
Word Wave#,34 = bitrate&
Long Wave#,36 = 1635017060 DATA
Long wave#,40 = avBytesPerSec&*secs&
X& = 0
acctime& = 1
actchannel& = 1
Loudness& = 32767/2 halbe Lautstärke
Whileloop acctime&,samplerate&*Channels&*secs&,4
actsamplevalue& = Loudness& * Sin(2 * PI() * freq& * (&Loop/4) / samplerate&)
word wave#,45+&Loop = actsamplevalue&,actsamplevalue&
Endwhile
EndProc
Cls
Print Mache Wave...
Makewave(440,1)
Print Spiele Wave...
PlaySoundData(Wave#,4)
Print
Print Taste...
Dispose wave#
waitinput
end
|
|
|
| Gruss Andreas ________ ________ ________ ________ _ Profan 3.3 - XProfanX2 Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher Homepage : [...] | 14.04.2008 ▲ |
|
|
|
|
August Grimm | Guten Abend Andreas.
Dein Programm funktioniert leider nicht in jedem Fall. Wenn ich es probiere, höre ich nur etwar jedes zweite Mal einen Ton. |
|
|
| |
|
|
|
Andreas Miethe
| Hallo August,
das liegt wohl am Abspielmodus, den habe ich auf asynchron gesetzt. Word der Ton synchron abgespielt sollte es immer funktionieren.
Der 2. Parameter ist der Abspielmodus, 4 bedeutet Memory, 1 bedeutet asynchron. Diese Flags und noch ein paar andere können kombiniert werden.
Was mir nicht gefallen hat war die Geschwindigkeit beim erzeugen der Wave-Datei, die habe ich ein wenig optimiert. Siehe Code oben.
Gruss Andreas |
|
|
| Gruss Andreas ________ ________ ________ ________ _ Profan 3.3 - XProfanX2 Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher Homepage : [...] | 15.04.2008 ▲ |
|
|
|
| |
|
- Seite 2 - |
|
|
August Grimm | Hallo Andreas.
Jetzt funktioniert es bei mir auch immer
Was genau ist denn asynchron? Dein Programm ist nun schneller gerworden, aber eigentlich immer noch langsam, ich würde es gerne noch schneller bekommen? |
|
|
| |
|
|
|
Andreas Miethe
| Hallo August,
asynchron bedeutet das die Datei im Hintergrund abgespielt wird und das Programm nach dem Befehl PlaySoundData() sofort weiterläuft Synchron bedeutet, das solange gewartet wird, bis die Wave-Datei komplett abgespielt wurde.
Ich hätte das Programm auch gerne noch schneller, aber die Daten müssen nun mal erzeugt werden.
Gruss Andreas |
|
|
| Gruss Andreas ________ ________ ________ ________ _ Profan 3.3 - XProfanX2 Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher Homepage : [...] | 15.04.2008 ▲ |
|
|
|
|
August Grimm | Hallo Andreas.
Ich bedanke mich für deine Auskunft und Mühe! |
|
|
| |
|
|
|
KHR | Hallo Andreas.
. Sorry, wenn ich mich erst heute melde. War fast die ganze Woche ohne Internet unterwegs und bin erst heute morgen wieder zurückgekommen.
Deine Lösung bringt mich meinem Ziel ein ganzes Stück näher- immerhin kann ich jetzt 3 oder 4 verschiedene Töne auf Vorrat erzeugen und bei Bedarf abspielen. Ein echter Vorteil ist die Lauststärkebeeinflussung.
Super - vielen Dank..
. |
|
|
| Gruß Karl-Heinz WIN XP home/Pro / XPROFAN 11 / P2CPP ATMEL + BASCOM Fan | 19.04.2008 ▲ |
|
|
|