27 lines
788 B
Bash
27 lines
788 B
Bash
|
#!/bin/sh
|
||
|
txt_to_wav() {
|
||
|
xxd -r -p $args > out.raw
|
||
|
ffmpeg -f sbc -ac 1 -i ./out.raw output.wav
|
||
|
rm ./out.raw
|
||
|
}
|
||
|
|
||
|
wav_to_txt() {
|
||
|
ffmpeg -i $args -f sbc -ac 16000 -ac 1 -map_metadata -1 out.raw
|
||
|
xxd -i ./out.raw | head -n -2 \
|
||
|
| tail -n +2 | sed 's/ //g' \
|
||
|
| tr --delete '\n' \
|
||
|
| sed 's/,/\,\n/16; P; D' > SOUND.txt
|
||
|
rm ./out.raw
|
||
|
}
|
||
|
|
||
|
[ ${1} = "-T" ] || [ ${1} = "--txt-to-wav" ] && shift 1 && args=$@ && txt_to_wav && exit
|
||
|
[ ${1} = "-W" ] || [ ${1} = "--wav-to-txt" ] && shift 1 && args=$@ && wav_to_txt && exit
|
||
|
echo "
|
||
|
Sound format converter:
|
||
|
Usage:
|
||
|
./convert.sh [option] [input-file]
|
||
|
Options:
|
||
|
-T or --txt-to-wav Converts the text file to a wav audio file (output.wav)
|
||
|
-W or --wav-to-txt Converts a wav file to a file readable by the pinebuds firmware (SOUND.txt)
|
||
|
"
|