Soundfile-Konverterung mit SoX-Shell

Gast #1996674
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 :-)
Gast #1996685
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
Gast #1996696
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
Gast #1996700
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
Gast #1996727
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.
#1996746
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 ;)
Gast #1996763
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren