Возможно кому-нибудь еще понадобится скрипт, который я написал для облегчения 'надиктовки' переводов Voiceprompt'ов к Asterisk'у. Жду ваших комментариев
| Код: |
| #!/bin/bash ## Romik 2005© :) # This is under the terms of GNU GENERAL PUBLIC LICENSE # See http://www.gnu.org/licenses/gpl.txt for details # # defining constants astsound=/var/lib/asterisk/sounds inbox=/var/spool/asterisk/voicemail/default/111/INBOX old=/var/spool/asterisk/voicemail/default/111/Old msg=msg0000.gsm envelope=msg0000.txt recfilescount=0 recordedlog=~/recordedlog voicemailboxnumber=******* # defining function 'prepare_for_recording' prepare_for_recording () { # Cleaning voicemailbox from unsuccessfully # recorded voiceprompts if [ -r $inbox/$msg ] then echo Removing unsuccessfully recorded echo $inbox/$msg rm -rf $inbox/$msg fi } ## main programm #clean echo # for each .gsm voiceprompt which name starts with 'vm-' we do for voiceprompt in $astsound/vm-*.gsm do # Do backup first echo Backuping $voiceprompt echo to $voiceprompt.back echo cp $voiceprompt $voiceprompt.back # Move original voiceprompt to voicemailbox echo Moveing $voiceprompt echo to $inbox/$msg echo mv $voiceprompt $inbox/$msg # We do not need to regenerate envelope text, 'cause Asterisk # does not check if it is valid to message or not, so # jusr moveing it back to INBOX from Old echo Moveing $old/$envelope echo back to $inbox/$envelope echo mv $old/$envelope $inbox/$envelope # Now ... echo Call $voicemailboxnumber to listen to the voiceprompt you will translate echo " (press 1(mailbox num), then again 1(password) and again 1(new messages) after dialing)" echo # Start recording read -s -n1 -p " Translate it and then press AnyKey to start recording new message" keypressed echo # Calling function that prepares voicemailbox # for recording new message prepare_for_recording # Ask if we recorded good or not read -s -n1 -p " Press 'y' or 'Y' if you succesfully recorded new message," keypressed echo " otherwise press AnyKey" echo # And if good.. if [[ "$keypressed" = "y" || "$keypressed" = "Y" ]] # ..then.. then echo " You've just recorded new voiceprompt:" echo " $voiceprompt" echo # ..save it; echo Moveing new $inbox/$msg echo to: $voiceprompt echo mv $inbox/$msg $voiceprompt # increment recorded files counter ((recfilescount++)) # log what we just have translated echo $voiceprompt >> $recordedlog # otherwise record it again else prepare_for_recording fi done # When we are done, show some stats # about how cool we are :) echo You have recorded $recfilescount files. echo Their names are stored in $recordedlog echo # Exiting exit $? |
____________________________________________________
Вот так...
Комменты и подсказки все на английском, но кто уж его не знает?.. А так, может и большему количеству народа он поможет.
Последний раз редактировалось: Romik (Вт Июл 19, 2005 11:50)
Решил изобрести велосипед?
на voip-info давно валяется готовый, да и ничего сложного нет сделать пару екстеншинов и сунуть в конфиг... imho долбить клаву в консоли чтобы наговорить месаги это конечно нестандартное решение а это уже как минимум уважения заслуживает - но вопрос - а чем не нравится использовать для этих же целей кнопки обычного телефона?
простейший вариант:
| Код: |
| Example ; used to record prompts exten => 205,1,Wait(2) exten => 205,2,Record(/tmp/asterisk-recording:gsm) exten => 205,3,Wait(2) exten => 205,4,Playback(/tmp/asterisk-recording) exten => 205,5,Wait(2) exten => 205,6,System,/bin/mv /tmp/asterisk-recording.gsm /var/lib/asterisk/sounds/local/`date +%s`.gsm exten => 205,7,Goto(205,1) |
http://www.voip-info.org/tiki-index.php? ... ing%20menu
Последний раз редактировалось: anest (Ср Июл 27, 2005 15:24)
просто вдруг ты не знал
Я действительно не знал
Спасибо тебе! Щас чуть-чуть пожалуй поковыряюсь и 'скручу' твой и мой скипты вместе
Перевод VoicePrompt'ов к Asterisk VoiceMail System.
-----------------------!!!-----------------------
Для приведения VoicePrompt'ов к "нормальному" виду я использую следующий скрипт
| Код: |
| #!/bin/sh tmpfile=/tmp/rescale$$.wav for i in *.wav; do scale=$(sox $i /tmp/foo.wav stat -v 2>&1) if [ $scale != "1.000" ]; then echo -n "Rescale $i..." cp $i $tmpfile sox $tmpfile -v $scale $i echo fi done ## ## http://www.voip-info.org/tiki-index.php?page=Asterisk+sound+files ## # This is how you convert wav? files to gsm files used by Asterisk # Сиё есть способ конвертирования полученных нормализованных по громкости/уровню # wav файлов в родной Asterisk'y gsm формат: # $ sox inputfile.wav -r 8000 -c 1 outputfile.gsm resample -ql # # Converting all files in a directory: # Конвертирование из wav в gsm всех файлов в директории: # for i in *.wav; do sox $i -r 8000 -c 1 $(basename $i .wav).gsm resample -ql; done ## |
Есть у меня в переводе баг, по поводу vm-extension.gsm -"Расширение" - "extension"
Не судите строго,я еще сам не понял, как это по-русски нормально сказать
_____________________________________________
Как всегда, жду ваших комментариев, замечаний, предложений заработать
Последний раз редактировалось: Romik (Вс Июл 24, 2005 16:42)
Перевод VoicePrompt'ов к Asterisk VoiceMail System | Asterisk VoiceMail System VoicePrompt English to russian translation
Есть у меня в переводе баг, по поводу vm-extension.gsm -"Расширение" - "extension"
Не судите строго,я еще сам не понял, как это по-русски нормально сказать
_____________________________________________
Как всегда, жду ваших комментариев, замечаний, и особенно предложений заработать