Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Beep? (https://www.delphipraxis.net/209551-beep.html)

himitsu 20. Dez 2021 14:31

Beep?
 
Moin,

eigentlich kein großes Ding, aber dennoch bissl nervig.

Wie bringt man einen Piep aus dem PC raus?


Mein Problem sind wohl die Energiesparmodi der Geräte, oder irgendwie sowas.

* Bei kurzen Audiofiles (weniger als 2 Sekunden, geht der Anfang verloren.
* Je nachdem, wie lange vorher kein Ton war, fehlen eine halbe bis mehrere Sekunden, am Anfang.
* und oft gibt es ein hässliches Knacksen zu Beginn
* und öfters stockt es auch, innerhalb der ersten sekunden (kurze Aussätzer/Hänger) ... auch z.B. wenn über VLC die WAV abgespielt

* Letzteres merkt man nur bei längeren Audioausgaben ... Kurze Pieps fehlen halb oder gar komplett

Delphi-Quellcode:
// geht meistens (wenn Ton lang genug), aber ist hässlich
Windows.Beep(8000, 300);

// naja
Beep

// das Selbe
MessageBeep(MB_OK); // oder MB_ICONINFORMATION

// wenn noch nicht offen, dann geht ohne Sleep dei erste Ausgabe immer ganz verloren
if not geladen then MediaPlayer1.Open;
Sleep(750);
MediaPlayer1.Play;

// ..
PlaySound('C:\irgendwo\beep-07a.wav', 0, SND_FILENAME or SND_ASYNC {or SND_NODEFAULT} or SND_NOWAIT);

for var i := 0 to 10 do begin Winapi.Windows.Beep(8000, 3); Sleep(30); end;
PlaySound('beep_07a', 0, SND_RESOURCE or SND_ASYNC or SND_NODEFAULT or SND_NOWAIT);
Mein Problem ist ... wir haben einen RFID-Reader, der macht Piep beim Scan, bzw. man kann ihn auch softwareseitig Piepsen und Blinken lassen.
Ich hab aber auch Scanner, die geben nur über eine winzige blaue LED eine Rückmeldung ... die aber unpraktisch öfters durch die Hand verdeckt wird ... nun hätte ich gern den PC piepsen lassen, aber bringt nicht viel, wenn der Ton nicht aus dem Monitor raus kommt. (HDMI)

Rollo62 20. Dez 2021 17:31

AW: Beep?
 
Get es damit besser ?
Ist aber wahrscheinlich intern das Gleiche.

johndoe049 20. Dez 2021 17:45

AW: Beep?
 
sysutils.beep

Ist asynchron und sollte eigentlich Bios/UEFI für einen beep verwenden. Geht über den internen PC Lautsprecher. Ggf. nachrüsten, wenn nichts zu hören ist. Ist nicht schön der irgendwie so 80er Jahre mässig.

Kurze Töne über HDMI ist regelmässig schlecht zu implementieren. Da hängt zuviel Zeitverzögerung über die einzelnen Verbindungsstellen und der Signalextraktion von HDMI mit drinnen.

Der interne Lautsprecher knackt bei eingen PCs auch nur noch sehr kurz.

Kannst aber auch eine blind audio stream erzeugen und dann zur gewünschten Zeit das Audiosignal anpassen. Ist aber etwas aufwändiger.

Rollo62 20. Dez 2021 17:50

AW: Beep?
 
Eine Möglichkeit wäre vielleicht noch, mit Grijjy TextToSpeech
https://blog.grijjy.com/2017/01/09/c...ext-to-speech/
Delphi-Quellcode:
procedure TFormMain.FormCreate(Sender: TObject);
begin
  FTextToSpeech := TgoTextToSpeech.Create;
  FTextToSpeech.OnAvailable := TextToSpeechAvailable;
  FTextToSpeech.OnSpeechStarted := TextToSpeechStarted;
  FTextToSpeech.OnSpeechFinished := TextToSpeechFinished;
end;

...

procedure NeedABeep;
begin
  FTextToSpeech.Speak( 'Piep' ); // :-D
end;

himitsu 20. Dez 2021 19:13

AW: Beep?
 
Wenn ich schnell genug mehrmals Piepse, dann kommen die letzten Piepse schon halbwegs ordentlich raus, aber der/die ersten und zwischendurch fehlt oft einfach Alles/Vieles.

Und wieviel vom ersten hörbaren Pieps fehlt das ist auch unterschiedlich.


Eine Verzögerung wäre nicht schlimm, wenn man wenigstens etwas hören könnte,
weil wenn man eh nur bei weniger als die Hälfte der Beeps etwas hört, dann kann man es auch ganz weglassen.



Der interne PC-Piepser ist ja oftmals garnicht mehr vorhanden.
Wir hatten mal einen Treiber für einen Lexware-Drucker, der hatte über den PC-Lautsprecher noch eine Sprachausgabe im Win 3.1 ... gut, während der Ausgabe war dafür der komplette PC lahmgelegt, weil mit höchter Priorität.

johndoe049 20. Dez 2021 22:09

AW: Beep?
 
Zitat:

Zitat von himitsu (Beitrag 1499419)
Wenn ich schnell genug mehrmals Piepse, dann kommen die letzten Piepse schon halbwegs ordentlich raus, aber der/die ersten und zwischendurch fehlt oft einfach Alles/Vieles.

Und wieviel vom ersten hörbaren Pieps fehlt das ist auch unterschiedlich.


Eine Verzögerung wäre nicht schlimm, wenn man wenigstens etwas hören könnte,
weil wenn man eh nur bei weniger als die Hälfte der Beeps etwas hört, dann kann man es auch ganz weglassen.



Der interne PC-Piepser ist ja oftmals garnicht mehr vorhanden.
Wir hatten mal einen Treiber für einen Lexware-Drucker, der hatte über den PC-Lautsprecher noch eine Sprachausgabe im Win 3.1 ... gut, während der Ausgabe war dafür der komplette PC lahmgelegt, weil mit höchter Priorität.

Dann würde ich die Audioausgabe in einen eigenen Thread packen, der permanent ein Audiosignal als Steam mit Lautstärke 0 oder 1 und < 15 hz. ausgibt. Per Signal wird dann die Lautstärke und die hz. erhöht. Sollte eigentlich dann keine grossen Verzögerungen mehr ergeben, da du dann ja nur einen aktiven Audiostream veränderst und nicht erst neu startest.

Ich würde nur nicht unbedingt dann Hunde oder Katzen in der Nähe haben wollen. :)

Sinspin 21. Dez 2021 06:11

AW: Beep?
 
Selbst wenn mein PC (CPU) voll ausgelastet ist hat das keinen Einfluss auf die Audioausgabe. Wie schaut es bei anderen PC aus? Kommt der Beep da normal?
Was passiert in den Audioeinstellungen am PC? Da gibt es einen Audiotest, ist der auch komisch?

TiGü 21. Dez 2021 07:29

AW: Beep?
 
Zitat:

Zitat von johndoe049 (Beitrag 1499425)
Ich würde nur nicht unbedingt dann Hunde oder Katzen in der Nähe haben wollen. :)

Ist sicher, da die erst ab 65 bzw. 100 Hz anfangen mit dem Hörbereich.
Davon ab kann der Monitor, worüber das Biep erfolgen soll, eh keine 15 Hz wiedergeben.

https://www.planet-schule.de/wissens...iere-land.html

himitsu 21. Dez 2021 09:46

AW: Beep?
 
Ja, aber wenn auch nur der kleinste Muggs anfängt, dann klackt es quasi erstmal in der Leitung ... also dennoch manchmal zu hören, selbst wenn nur geringe Frequenz,
und dauerhaft Audio auszugeben, auch wenn nur insgesammt maximal 1 bis wenige 2-3 Minuten am Tag es piepst ... ich weiß nicht?

Wenn es läuft, dann läuft es, aber Zubeginn eines Tons klackt es manchmal, so als wenn man den Klinkenstecker erst reinsteckt, bzw. die Lautsprecher in die Steckdose steckt,
dann fehlt halt anfangs bis zu mehreren Sekunden lang der Ton, bzw. bei längeren Stückchen (gefühlt ab 3 sekunden) stockt es hörbar für weniger als 5 sekunden lang.

Also Alles in Allem für einen 1-Sekunden-Bestätigungspiep ergibt das meistens "nix zu hören, außer vielleicht manchmal noch die letzten paar Millisekunden davon.


Test aktuell auf einem größeren Dell-Schlepptop, mit Dockinstation an einem zu großen Monitor mit Displayport.
Eigentlich sollte der neue Touchscreen für die ErsatzBDE geliefert schon werden, aber keine Stunde nach bestellung hieß es von Cyberport (letzte Woche) kommt alles erst nächstes Jahr (Webshop sagte vorher alles im Lager oder direkt vor Ort im Shop).



Bis vor Kurzem lief noch ein uraltes Testgerät hier, der ersten Generation, so ein staubdicheter Industrietouchscreen für tausende Euro, mit Windows 7 Embedded, Singletouch (Windows 7 konnte nicht mehr) und im Metallgehäuse mit zu schwachem WLAN, inzwischen zu kleiner CPU, eigentlich zu wenig RAM und zu langsamen Flashspeicher,
aber mit integriertem RFID-Scanner mit seinem eigenen Hardwarepiepser. (die Neuen nun auch schon Windows 10, Multitouch, Fingerabdruck, Coronafiebermesser usw., aber für ein Gerät-lag-sinnlos-in-der-Ecke-also-für-uns-selber-als-Test+Stempelstation-genutzt-Getät nochmal tausende Euro ... neee, weil selbst die meißten Kunden es nicht nutzen ... hab eh einen alten MiniPC über, der ausgetauscht werden wird, also bloß noch ein Touchscreen dran und Pieps in die Software ... war eh schonmal als halber Wunsch so nebenbei mal geäußert worden, der Pieps)

johndoe049 21. Dez 2021 12:11

AW: Beep?
 
Displayport auf HDMI oder direkt angeschlossen?

Dell ist in der Hinsicht eine Krücke. Habe meinen Vostro 3000 nach nichtmal 3 Monaten verkauft.

Teste mal einen anderen PC oder versuche ein Video abzuspielen. Am besten eines ohne Sprachsynchronisierung oder eine Nachrichtensendung. Wenn da die Lippen nicht mit der Sprache übereinstimmen liegt es an der Hardware.

Sinspin 21. Dez 2021 12:23

AW: Beep?
 
Das liegt nicht an Windows. Da ist was in der Hardware was "aus" ist. Bevor das dann an und offen ist, ist so ein kurzer Ton schon vorbei.
So ein Knacken kommt wenn der Signalpegel einmalig umspringt oder wenn eine Endstufe Saft bekommt.

himitsu 21. Dez 2021 13:09

AW: Beep?
 
Jupp, sowas im Prinzip hab ich schon vermutet, aber irgendwie muß man doch dennoch "zuverlässig" mal einen Ton rausbekommen können?


Fast direkt DP ... vom Inspiron 17 durch USB-C ins WD17 und dann zum S3422DW ... alles vom selben Hause ... da dürfte man doch erwarten können, dass es passt :stupid:

Vorher zwei Samsung dran, mit DP und HDMI, aber wie gesagt, DP kaputt, auch am Monitor und die beiden gleichen Monitore waren nahezu unmöglich im Farbprofil gleich einzustellen. (so einen mir etwas zu teuren Kalibrierer wollte ich mir noch nicht kaufen)
Aber hatte da auch nur selten Ton aus dem Monitor, weil zuerst wollte der standardmäßig immer aus Schlepptop raus kommen und sonst hab ich doch meine knuffigen Aftershoks,
und dann auch meistens keine kurzen Piepse, denn nervigen die Systempiepse, außer Error, hab ich alle deaktiviert.

sonst läuft's gut,
nur die Dockingstation war vor Kurzem teilweise abgeraucht (Displayport ging nicht mehr) und die neue Version ist sinnlos größer und hat den selben Netzteil-Bug ... sagt dem Schlepptop sie hätte nur 60W, obwohl original mitgeliefertees 140W Netzteil dran hängt und Schlepptop beschwert sich dann, dass ihm 5W fehlen würde und er eventuell nicht mit voller Leistung arbeiten könnte.
und die Dockingstationmonitorhalterung ... nja, das Runde passt nicht ins Eckige ... hab's nun einfach mit Klettband am Ständer dran, mit bissl M3 als Antirutsch dazwischen

Rollo62 21. Dez 2021 15:03

AW: Beep?
 
Wenn bei Dir immer nur der ERSTE Piep verschluckt wird (so habe ich Dich verstanden),
dann versuch doch den 1. Piep einfach etwas länger zu machen.
Wenn dann die Folgenden wieder kürzer, und exakt werden.

himitsu 21. Dez 2021 15:23

AW: Beep?
 
nicht immer ... manchmal auch die ersten 2, 3 oder alle

und mehrmals piepen, damit wenigstens Einer durchkommt ... blöd, wenn dann mal alle kommen :roll:



Du kennst das doch bestimmt aus den Kalterkriegubootfilmen ... ich möchte nur einen Ping :angle:
= einen kurzen Bestätigungspiep

johndoe049 21. Dez 2021 15:25

AW: Beep?
 
Zitat:

Zitat von himitsu (Beitrag 1499462)
Jupp, sowas im Prinzip hab ich schon vermutet, aber irgendwie muß man doch dennoch "zuverlässig" mal einen Ton rausbekommen können?


Fast direkt DP ... vom Inspiron 17 durch USB-C ins WD17 und dann zum S3422DW ... alles vom selben Hause ... da dürfte man doch erwarten können, dass es passt :stupid:

Vorher zwei Samsung dran, mit DP und HDMI, aber wie gesagt, DP kaputt, auch am Monitor und die beiden gleichen Monitore waren nahezu unmöglich im Farbprofil gleich einzustellen. (so einen mir etwas zu teuren Kalibrierer wollte ich mir noch nicht kaufen)
Aber hatte da auch nur selten Ton aus dem Monitor, weil zuerst wollte der standardmäßig immer aus Schlepptop raus kommen und sonst hab ich doch meine knuffigen Aftershoks,
und dann auch meistens keine kurzen Piepse, denn nervigen die Systempiepse, außer Error, hab ich alle deaktiviert.

sonst läuft's gut,
nur die Dockingstation war vor Kurzem teilweise abgeraucht (Displayport ging nicht mehr) und die neue Version ist sinnlos größer und hat den selben Netzteil-Bug ... sagt dem Schlepptop sie hätte nur 60W, obwohl original mitgeliefertees 140W Netzteil dran hängt und Schlepptop beschwert sich dann, dass ihm 5W fehlen würde und er eventuell nicht mit voller Leistung arbeiten könnte.
und die Dockingstationmonitorhalterung ... nja, das Runde passt nicht ins Eckige ... hab's nun einfach mit Klettband am Ständer dran, mit bissl M3 als Antirutsch dazwischen


Vergess es. Bei DP hat man einen Kopierschutz, bei USB gibt es Verzögerungen vom Desgin her. Ist nicht für kurze Tonsignale geeignet.

himitsu 21. Dez 2021 16:49

AW: Beep?
 
Wenn es verzöget einschaltet, verzögert piept und verzögert abschaltet, dann ist es mir doch vollkommen egal,
Hauptsache es piept zuverlässig.



Gut, Sekretärin vor paar Tagen Onlinefortbildung und der Ton war nicht da.
Lautsprecherkabel von PC zu Monitor (Klinke) und Ton war da ... nur lief er garnicht durch das Kabel, sondern über HDMI,
kabel raus und Ton weg ... nur ein Kabelende in AudioOut und es ging wieder.

Problem war hier wohl die Software im Browser, welche den AudioKanal des HDMI (Standardausgabe) nicht fand, wenn in der Klinke nichts drin steckt (egal ob anderes Ende irgendwo angechlossen).
Alle anderen Töne im Windows gingen aber ... nur dieses Onlinewebinardingens nicht.

HintByError 26. Dez 2021 18:26

AW: Beep?
 
Geht vielleicht eine .wav-Datei, die etwa 2 Sekunden keinen Ton produziert und dann für eine halbe Sekunde einen Ton produziert? Die Ausgabe müsste von Betriebssystemseite asynchron erfolgen, so dass sich kein Effekt auf das Laufzeitverhalten ergibt.

mcmichael 29. Dez 2021 12:19

AW: Beep?
 
gegen dieses Problem habe ich eine ganze Weile gegenan gearbeitet.
Gute Nachricht: Problem gelöst.
Schlechte Nachrichten: Die Ursache habe ich trotz allen debuggens nicht gefunden.
Und: die Lösung ist teuer.

Was hilft ist: Bass.dll
Keine Ahnung was hier anders läuft, aber hier habe ich in jeder Situation an allen getesteten Geräten
sofort meine Töne, egal wir kurz sie sind. Ohne das etwas verschluckt wird.

Wer eine Lösung kennt, die ohne Bass.dll auskommt (das ist definitiv ein massiver Overkill dieses Paket zu verwenden nur um Audio auszugeben, aber wenn einem sonst nichts mehr einfällt...) der möge sich bitte melden.

Vielen Dank,
Michael


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:44 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz