Forum: PC-Programmierung Soundfile-Konverterung mit SoX-Shell


von K. F. (Gast)


Lesenswert?

Hallo Microcontroler-Forum,

ich versuche schon seit Tagen den MOH
(Ansagtext ...Ihre Verbindung wird gehalten)
in meiner FritzBox zu ändern.
Das Einspielen des Files via Telnet und TFTP ist gelösst.
Nur muss der MOH Soundfile ins A-LAW PCM-Format mit einem speziellen 
Header konvertiert werden.
Dazu soll der Komandozeilen Sound Exchanger SoX verwendet werden, den 
ich auch schon Installiert habe.
Im SoX soll dann (...laut Anleitung) der Header automatisch angepasst 
werden und die entgültige konvertierung ins Fritzbox A-Law Format 
erfolgen.
Dazu habe ich folgendes ShellScript gegoogelt...

#! /bin/sh

convert .wav file to fbox music-on-hold

if [ "$1" = "-p" ] # 1 second pause
then
shift
head='\252\253\252\252\c'
else
head='\253\253\252\252\c'
fi

( /bin/echo -e $head ; sox $1 -c 1 -t la -r 8000 - ) > $2

Aufruf z.B. mit ./wav2fbox.sh input.wav fx_moh .


Ich habe nun den WAV-File ansage.wav (8000/8bit) im SoX 
Programm-Verzeichnis liegen.
Den Script File:


if [ "$1" = "-p" ] # 1 second pause
then
shift
head='\252\253\252\252\c'
else
head='\253\253\252\252\c'
fi

( /bin/echo -e $head ; sox $1 -c 1 -t la -r 8000 - ) > $2

..habe ich als wave2fbox.sh ebenfalls im SoX Programm-Verzeichnis 
abgelegt.

Den Aufruf habe ich nun so im Prompt eingegeben:
sox wav2fbox.sh ansage.wav fx_moh

Aber die Konvertierung mit SoX funktioniert SO nicht???!!!


Den kpl. Beitrag zum Ändern der FritzBox MOH auf den ich mich beziehe, 
findet Ihr hier...

http://www.administrator.de/index.php?content=45408



Was mache beim Konvertieren mit SoX (WIN-Version 14.3.1) falsch?






Gruss aus dem Allgaäu :-)

von Tom (Gast)


Lesenswert?

>Ich habe nun den WAV-File ansage.wav (8000/8bit) im SoX
>Programm-Verzeichnis liegen.

"Programmm-Verzeichnis" klingt nach Windows?

>Aber die Konvertierung mit SoX funktioniert SO nicht???!!!
>Was mache beim Konvertieren mit SoX falsch?

Wenn Du verraten würdest, wie sich das nicht-funktionieren äußert, hätte 
man eine Chance zu helfen.

Grüße

von K. F. (Gast)


Lesenswert?

Tom schrieb:
>>Ich habe nun den WAV-File ansage.wav (8000/8bit) im SoX
>>Programm-Verzeichnis liegen.
>
> "Programmm-Verzeichnis" klingt nach Windows?
>
...liegt im SoX-Verzeichnis wo auch die sox.exe liegt.
...das OS ist WIN-XP Prof. S3
...und der SoX WIN-Version 14.3.1


>>Aber die Konvertierung mit SoX funktioniert SO nicht???!!!
>>Was mache beim Konvertieren mit SoX falsch?
>
> Wenn Du verraten würdest, wie sich das nicht-funktionieren äußert, hätte
> man eine Chance zu helfen.
>
> Grüße

Nach dem Aufruf von:   sox wav2fbox.sh ansage.wav fx_moh



...kommt sox FAIL formats: no handler for file extension `sh'

Gruss packet

von Murkser (Gast)


Lesenswert?

Hallo,

Das hier sieht SHER verdächtig aus:

> Den Aufruf habe ich nun so im Prompt eingegeben:
> sox wav2fbox.sh ansage.wav fx_moh

Na was denn nun? Entweder Shell-Script oder Kommandozeile? Du kannst das 
Shell-Script so erweitern, daß es sox direkt mit den passenden 
Parametern aufruft. Oder Du übergibst von Hand die Parameter an sox in 
der Kommandozeile. sox weiß mit dem wav2fbox.sh Script nichts 
anzufangen.

Murkser

von K. F. (Gast)


Angehängte Dateien:

Lesenswert?

..hier noch der Ansage-File der in das FritzBox MOH Format soll...

Vielleicht habt ja Ihr mehr Erfolg, ich komm nicht weiter.

von whitespace (Gast)


Lesenswert?

Das Problem ist einfach, dass das Skript ein Shell-Skript ist. Es wird 
von einer Linux/Unix Shell ausgeführt. So eine brauchst du dafür auch, 
damit es funktioniert.
Auch wenn es SoX Skript genannt wurde -- SoX führt das Skript nicht aus, 
sondern eine Shell.

von Lukas K. (carrotindustries)


Angehängte Dateien:

Lesenswert?

Keine Anhung ob's geht, versuch's mal damit

von K. F. (Gast)


Lesenswert?

Luk4s K. schrieb:
> Keine Anhung ob's geht, versuch's mal damit


PERFEKT !!! Vielleicht noch verraten wie es geklappt hat... ???


Gruss aus dem Allgäu :-)

von Lukas K. (carrotindustries)


Lesenswert?

K. F. schrieb:
> PERFEKT !!! Vielleicht noch verraten wie es geklappt hat... ???

Linux nehmen ;)
Das shellskript zurechtgepfriemelt
1
#! /bin/sh
2
3
#convert .wav file to fbox music-on-hold
4
5
if [ "$1" = "-p" ] # 1 second pause
6
then
7
shift
8
head='\252\253\252\252\c'
9
else
10
head='\253\253\252\252\c'
11
fi
12
13
( /bin/echo -e $head ; sox $1 -c 1 -t la -r 8000 - )
mit
1
sh sox.sh ansage.wav > fx_moh
aufrufen
ansage.wav ist die Eingabedatei, fx_moh die Ausgabe.
Könnte unter windows auch mit Cygwin oder so funktionieren ;)

von K. F. (Gast)


Lesenswert?

An alle Helfer,

VIELEN DANK FÜR DIE TOP-UNTERSTÜTZUNG !!!

Microcontroller-Forum ist und bleibt das Top-Forum im Netz...
Dort sind Leute zuhause die wissen was sie tun...



Grüsse und nochmals vielen Dank!

Packet-Allgäu

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.