Audioaufzeichnung in Telegram Kanal senden

Hilfe & Support rund im BosMon. Posting ist ohne Anmeldung erlaubt
BOSFunker

Re: Audioaufzeichnung in Telegram Kanal senden

Beitrag von BOSFunker »

Ich nutze curl um mit der Telegram API zu kommunizieren. Wenn curl nicht vorhanden, kann man es z.B. hier herunterladen: https://curl.se/windows/

Ich nehme auf in eine Datei:
C:\Users\xxxxx\Documents\%telegramm.zeit2%.wav

Nach der Aufnahme soll der Befehl ausgeführt werden:
C:\Users\xxxxx\Documents\send.bat %telegramm.zeit2%.wav

In der send.bat steht drin:
@echo off
c:
cd C:\Users\xxxxx\Documents\
curl -X POST "https://api.telegram.org/(Botkennung):( ... /sendAudio" -F chat_id=-(CHAT-ID) -F audio="@%1" -F performer="Leitstelle"
del %1

Man muss bei Telegram einen Bot über den BotFather erstellen, dieser erhält eine Bot-Kennung und einen API-Key. https://core.telegram.org/bots#6-botfather

Den Bot ladet ihr dann in eine Gruppe ein. Anschließend auf der Eingabeaufforderung
curl -X POST "https://api.telegram.org/(Botkennung):( ... getUpdates"
ausführen. Im Update steht, das der Bot in eine Gruppe hinzugefügt wurde und erhält von der Gruppe die chat_id, die man für den Befehlt oben benötigt.
keksi27
Beiträge: 36
Registriert: 14. Apr 2016, 19:54

Re: Audioaufzeichnung in Telegram Kanal senden

Beitrag von keksi27 »

Ich push mal , weil nun auch ich mich der Materie Anschließe

Ich bekomme es mit den parametern die hier bisher gezeigt wurden nicht hin .
Das einzigste was funktioniert ist die weiterleitung an Telegram.

Ich habs Step bei Step getestet , manuel gestartet über den Explorer , Auslösung via Bosmon
(Daten wurden geändert)

timeout 1 --- OK
cd c:\Users\User\Desktop\record\ --- OK
pause --- OK
sox.exe record.wav recordcut.wav silence 1 0.1 3%% -1 3.0 3%% --- Fehler Dateien erzeugt , keine Aufnahme
pause --- Fehler fmt chunk fehler
curl.exe -s -k POST "https://api.telegram.org/bot1323131313: ... /sendaudio" -F chat_id=-111111111111 -F audio="@c:\Users\User\Desktop\record\record.mp3" --- OK
pause --- OK
del c:\Users\User\Desktop\record\record.wav --- OK
del c:\Users\User\Desktop\record\recordcut.wav --- OK

Wenn ich dem Sox befehl aber sage : Sox -t waveaudio 0 record.wave dann nimmt er auf bis das die Platte glüht :). Da iss es aber so das Störgeräusche zu hören sind also das Signal von anfang an volle Pulle AGC ausgibt
bfranz
Beiträge: 8
Registriert: 5. Aug 2020, 11:22

Re: Audioaufzeichnung in Telegram Kanal senden

Beitrag von bfranz »

Hallo keski27,

bei mir sieht die SOX-Zeile so aus:
"C:\Program Files (x86)\BosMon\sox-14-4-2\sox.exe" record.wav record.mp3 silence -l 1 00:00:01.0 -90d -1 00:00:00.1 -90d

Die beiden Werte -90d musst du schrittweise nach unten setzen (10er-Schritte), bis er die Aufnahme entsprechend kürzt. Wenn du zu weit runter gehst mit den Werten, schneidet er dir die komplette Aufnahme auf 0.

Damit läuft es bei mir.
keksi27
Beiträge: 36
Registriert: 14. Apr 2016, 19:54

Re: Audioaufzeichnung in Telegram Kanal senden

Beitrag von keksi27 »

Gibt es nicht eine Möglichkeit das er nur solange aufnimmt bis nach ZeIt X sagen wir mal 10Sekudenn Stille automatisch gestoppt wird?

der schritt -90d ind das 90 Sekunden oder was ist damit genau gemeint?

Am liebsten wäre mir eine Konfig

ich möchte das er so lang aufnimmt bis nach Zeit X nichts mehr kommt. dazu ein effekt das er kein unnötiges AGC anwendet um nicht unnötige nebengeräusche hoch zu ziehen :)

"C:\Program Files (x86)\BosMon\sox-14-4-2\sox.exe" record.wav record.mp3 silence -l 1 00:00:01.0 -90d -1 00:00:00.1 -90d damit schreibt er bei mir keine record wav und keine record.mp3 ..... sehr zu verzweifeln :D
bfranz
Beiträge: 8
Registriert: 5. Aug 2020, 11:22

Re: Audioaufzeichnung in Telegram Kanal senden

Beitrag von bfranz »

Die Aufnahme musst du über das Ereignis aktivieren. Da trägst du auch die Dauer ein, wie lange er aufnehmen soll. Nach Beendigung der Aufnahme wird die Batch-Datei gestartet, welche die aufgenommene wav-Datei in MP3 umwandelt und die leisen Stellen, wo keine Durchsage mehr kommt, wegschneidet.

Angenommen in deinem Ereignis ist eine Aufnahmedauer von 40 Sekunden eingestellt und die Alarmierung dauert aber nur 10 Sekunden, dann schneidet Sox das was zu viel ist raus. Was rausgeschnitten wird, wird dann über die -90d eingestellt. Je weiter runter du mit der Zahl gehst, umso leisere Nebengeräusche werden ausgeschnitten.
keksi27
Beiträge: 36
Registriert: 14. Apr 2016, 19:54

Re: Audioaufzeichnung in Telegram Kanal senden

Beitrag von keksi27 »

Ah ich verstehe die -90b wenn das Signal leiser als dieser wert so werden die Aufnahmen entsprechend gekürzt sagst du?

ich werde es gleich mal ausprobieren
Antworten