Это можно сделать с помощью интерфейса управления виртуальной машиной VirtualBox. Просто запустите следующий скрипт при запуске.
#!/bin/bash
VMUSER="vmuser"
VMNAME="RedHatVM" #also you can put UUID in this variable (VMNAME="4ec6acc1-a232-566d-a040-6bc4aadc19a6")
case "$1" in
start)
echo "===Starting VirtualBox VM==="
sudo -H -u $VMUSER VBoxManage startvm "$VMNAME" --type headless
;;
stop)
echo "===Saving state of Virtualbox VM==="
sudo -H -u $VMUSER VBoxManage controlvm "$VMNAME" savestate
sleep 20
;;
shutdown)
echo "===Shutting down Virtualbox VM==="
sudo -H -u $VMUSER VBoxManage controlvm "$VMNAME" acpipowerbutton
sleep 20
;;
reset)
echo "===Resetting VirtualBox VM==="
sudo -H -u $VMUSER VBoxManage controlvm "$VMNAME" reset
;;
status)
echo -n "VMNAME->";sudo -H -u $VMUSER VBoxManage showvminfo "$VMNAME" --machinereadable |grep "VMState="| cut -d "=" -f2
;;
echo "Usage: /etc/init.d/VMscript {start|stop|shutdown|reset|status}"
exit 1
;;
esac
exit 0
Для получения дополнительной информации есть хороший учебник.
Пример обработки всех mp3-файлов в текущей папке для speex с использованием широкополосного диапазона (скорость ввода, конвертированная в 16 кГц с лучшим доступным SRC - SoX):
for f in *.mp3 ; do sox "$f" -r 16k -t wav - | speexenc -w - "${f%.*}.speex" ; done
В зависимости от настроек изменения параметра speex и / или Конвертер скорости SoX для соответствующей настройки. Для разговорной аудиопрограммы широкий диапазон должен быть точным
Пример обработки всех mp3-файлов в текущей папке для speex с использованием широкополосного диапазона (скорость ввода, конвертированная в 16 кГц с лучшим доступным SRC - SoX):
for f in *.mp3 ; do sox "$f" -r 16k -t wav - | speexenc -w - "${f%.*}.speex" ; done
В зависимости от настроек изменения параметра speex и / или Конвертер скорости SoX для соответствующей настройки. Например, для разговорных аудиосигналов широкая полоса должна быть тонкой
Вы можете использовать ffmpeg:
lame filename.mp3 filename.wav
ffmpeg -i filename.wav filename.spx
Источник: http://paramitech.com/convert-speex-file-into-mp3/
Хотя Opus - лучший вариант, в наши дни вы можете использовать FFmpeg (если настроено с помощью --enable-speex):
for f in *.mp3
do
ffmpeg -i "$f" -ar 32000 -q:a 10 "${f%.mp3}.spx"
done
Это привело к довольно разумному звуку в моей настройке ....
Вы можете использовать ffmpeg:
lame filename.mp3 filename.wav
ffmpeg -i filename.wav filename.spx
Источник: http://paramitech.com/convert-speex-file-into-mp3/