/l3/users/sbond/nt-voip-2011-06/linux8.unix.nt/root :1 :2 :3 :4 :5 :6 :7 :8 :9 :10 :11 :12 :13 :14 :15 :16 :17 :18 :19 :20 :21 :22 :23 :24 :25 :26 :27 :28 :29 :30 :31 :32 :33 :34 :35 :36 :37 :38 :39 |
|
#~
;-----------general Voicemail exten => 8100,1,VoicemailMain() ;-----------personal Voicemail exten => _81XX,n,VoicemailMain(24${EXTEN:2}@default) ;-----------IVR RECORD exten => _82XX,1,Wait(1)s.conf" 87L, 2023C exten => _82XX,n,Playback(please-enter-you&vm-message) exten => _82XX,n,Record(/var/tmp/asterisk/record${EXTEN:2}:gsm,2) exten => _82XX,n,Wait(1) exten => _82XX,n,Playback(/var/tmp/asterisk/record${EXTEN:2}) ... ;exten => 8556,1,Festival('Hello from Sergio') exten => 8556,1,AGI(/usr/local/bin/festival-script.pl,Hello from Sergio) [local] [--------]--LOCAL DIALPLAN [ ] exten => _24XX,1,Answer ( ) ;exten => 8556,1,AGI(/usr/local/bin/festival-script.pl,Hello from Sergio) exten => 8556,1,AGI(/usr/local/bin/check-stream.pl,Hello from Sergio) "/etc/asterisk/extensions.conf" 88L, 2094C written |
#~
[--------]--IVR RECORD [ ] exten => _82XX,1,Wait(1)s.conf" 87L, 2023C exten => _82XX,n,Playback(please-enter-you&vm-message) exten => _82XX,n,Record(/var/tmp/asterisk/record${EXTEN:2}:gsm,2) exten => _82XX,n,Wait(1) exten => _82XX,n,Playback(/var/tmp/asterisk/record${EXTEN:2}) exten => _83XX,1,Playback(/var/tmp/asterisk/record${EXTEN:2}) exten => 8555,1,Playback(/home/user/Music/bg_melody) ;exten => 8556,1,Festival('Hello from Sergio') exten => 8556,1,AGI(/usr/local/bin/festival-script.pl,Hello from Sergio) ( ) ;exten => 8556,1,AGI(/usr/local/bin/festival-script.pl,Hello from Sergio) exten => 8556,1,AGI(/usr/local/bin/check-stream.pl,Hello from Sergio) [local] ;-----------LOCAL DIALPLAN "/etc/asterisk/extensions.conf" 88L, 2094C written |
#~
[--------]--IVR RECORD [ ] exten => _82XX,1,Wait(1)s.conf" 87L, 2023C exten => _82XX,n,Playback(please-enter-you&vm-message) exten => _82XX,n,Record(/var/tmp/asterisk/record${EXTEN:2}:gsm,2) exten => _82XX,n,Wait(1) exten => _82XX,n,Playback(/var/tmp/asterisk/record${EXTEN:2}) exten => _83XX,1,Playback(/var/tmp/asterisk/record${EXTEN:2}) exten => 8555,1,Playback(/home/user/Music/bg_melody) ;exten => 8556,1,Festival('Hello from Sergio') exten => 8556,1,AGI(/usr/local/bin/festival-script.pl,Hello from Sergio) ( ) ;exten => 8556,1,AGI(/usr/local/bin/festival-script.pl,Hello from Sergio) exten => 8556,1,AGI(/usr/local/bin/check-stream.pl,Hello from Sergio) [local] ;-----------LOCAL DIALPLAN "/etc/asterisk/extensions.conf" 88L, 2094C written |
#~
[default] [internal] ;-----------Test Asterisk exten => 8000,1,Wait(1) exten => 8000,n,Playback(demo-congrats) exten => _81.,1,Wait(1) exten => _81.,n,Say(${EXTEN}) "/etc/asterisk/extensions.conf" 87L, 2023C ;-----------general Voicemail [xten => ]100,1,VoicemailMain() ... exten => _83XX,1,Playback(/var/tmp/asterisk/record${EXTEN:2}) ( ) ;exten => 8556,1,AGI(/usr/local/bin/festival-script.pl,Hello from Sergio) exten => 8556,1,AGI(/usr/local/bin/check-stream.pl,Hello from Sergio) exten => 8555,1,Playback(/home/user/Music/bg_melody) ;exten => 8556,1,Festival('Hello from Sergio') "/etc/asterisk/extensions.conf" 88L, 2094C written [local] ;-----------LOCAL DIALPLAN exten => _24XX,1,Answer |
#~
use Asterisk::AGI; use File::Basename; use Digest::MD5 qw(md5_hex); $AGI = new Asterisk::AGI; my %input = $AGI->ReadParse(); my ($te open(fileOUT, ">$sounddir"."/say-text-$hash.txt"); print fileOUT "$text"; my $has close(fileOUT);t); my $sou my $execf=$t2wp."text2wave $sounddir/say-text-$hash.txt -F 8000 -o $wavefile"; system($execf); my $wa unlink($sounddir."/say-text-$hash.txt"); }my $t2wp= "/root/www.cstr.ed.ac.uk/download/festival/1.95/festival/bin/"; #$AGI->stream_file('tts/'.basename($wavefile,".wav")); $wavefile =~ s/.wav$//; #$AGI->stream_file($wavefile); $AGI->exec('Playback', "$wavefile"); |
#~
use Asterisk::AGI; use File::Basename; use Digest::MD5 qw(md5_hex); $AGI = new Asterisk::AGI; my %input = $AGI->ReadParse(); my ($te open(fileOUT, ">$sounddir"."/say-text-$hash.txt"); print fileOUT "$text"; my $has close(fileOUT);t); my $sou my $execf=$t2wp."text2wave $sounddir/say-text-$hash.txt -F 8000 -o $wavefile"; system($execf); my $wa unlink($sounddir."/say-text-$hash.txt"); }my $t2wp= "/root/www.cstr.ed.ac.uk/download/festival/1.95/festival/bin/"; #$AGI->stream_file('tts/'.basename($wavefile,".wav")); $wavefile =~ s/.wav$//; #$AGI->stream_file($wavefile); $AGI->exec('Playback', "$wavefile"); |
#~
use Asterisk::AGI; use File::Basename; use Digest::MD5 qw(md5_hex); $AGI = new Asterisk::AGI; my %input = $AGI->ReadParse(); my ($te open(fileOUT, ">$sounddir"."/say-text-$hash.txt"); print fileOUT "$text"; my $has close(fileOUT);t); my $sou my $execf=$t2wp."text2wave $sounddir/say-text-$hash.txt -F 8000 -o $wavefile"; system($execf); my $wa unlink($sounddir."/say-text-$hash.txt"); }my $t2wp= "/root/www.cstr.ed.ac.uk/download/festival/1.95/festival/bin/"; #$AGI->stream_file('tts/'.basename($wavefile,".wav")); $wavefile =~ s/.wav$//; #$AGI->stream_file($wavefile); $AGI->exec('Playback', "$wavefile"); |
#~
#make a tts dir inside your sounds dir (as specified below) #adjust the t2wp variable to point to your festival bin directory use Asterisk::AGI; use File::Basename; use Digest::MD5 qw(md5_hex); $AGI = new Asterisk::AGI; my %input = $AGI->ReadParse(); my ($te open(fileOUT, ">$sounddir"."/say-text-$hash.txt"); print fileOUT "$text"; my $has close(fileOUT);t); my $sou my $execf=$t2wp."text2wave $sounddir/say-text-$hash.txt -F 8000 -o $wavefile"; system($execf); my $wa unlink($sounddir."/say-text-$hash.txt"); }my $t2wp= "/root/www.cstr.ed.ac.uk/download/festival/1.95/festival/bin/"; #$AGI->stream_file('tts/'.basename($wavefile,".wav")); $wavefile =~ s/.wav$//; unless (-f $wavefile) { #$AGI->stream_file($wavefile); $AGI->exec('Playback', "$wavefile"); |
#~
use File::Basename; use Digest::MD5 qw(md5_hex); $AGI = new Asterisk::AGI; #my %input = $AGI->ReadParse(); my ($t # open(fileOUT, ">$sounddir"."/say-text-$hash.txt"); # print fileOUT "$text"; my $ha # close(fileOUT);); system("uptime >$sounddir/say-text-$hash.txt"); my $sou my $execf=$t2wp."text2wave $sounddir/say-text-$hash.txt -F 8000 -o $wavefile"; system($execf); my $wa unlink($sounddir."/say-text-$hash.txt"); }my $t2wp= "/root/www.cstr.ed.ac.uk/download/festival/1.95/festival/bin/"; my $t2wp="";bin/festival-script.pl" 33L, 1000C #$AGI->stream_file('tts/'.basename($wavefile,".wav")); $wavefile =~ s/.wav$//; #$AGI->stream_file($wavefile); $AGI->exec('Playback', "$wavefile"); "/usr/local/bin/festival-script.pl" 33L, 1000C written |
#~
use File::Basename; use Digest::MD5 qw(md5_hex); $AGI = new Asterisk::AGI; #my %input = $AGI->ReadParse(); my ($t # open(fileOUT, ">$sounddir"."/say-text-$hash.txt"); # print fileOUT "$text"; my $ha # close(fileOUT);); system("uptime >$sounddir/say-text-$hash.txt"); my $sou my $execf=$t2wp."text2wave $sounddir/say-text-$hash.txt -F 8000 -o $wavefile"; system($execf); my $wa unlink($sounddir."/say-text-$hash.txt"); }my $t2wp= "/root/www.cstr.ed.ac.uk/download/festival/1.95/festival/bin/"; my $t2wp="";bin/festival-script.pl" 33L, 1000C #$AGI->stream_file('tts/'.basename($wavefile,".wav")); $wavefile =~ s/.wav$//; #$AGI->stream_file($wavefile); $AGI->exec('Playback', "$wavefile"); "/usr/local/bin/festival-script.pl" 33L, 1000C written |
#~
use File::Basename; use Digest::MD5 qw(md5_hex); $AGI = new Asterisk::AGI; #my %input = $AGI->ReadParse(); my ($t # open(fileOUT, ">$sounddir"."/say-text-$hash.txt"); # print fileOUT "$text"; my $ha # close(fileOUT);); system("uptime >$sounddir/say-text-$hash.txt"); my $sou my $execf=$t2wp."text2wave $sounddir/say-text-$hash.txt -F 8000 -o $wavefile"; system($execf); my $wa unlink($sounddir."/say-text-$hash.txt"); }my $t2wp= "/root/www.cstr.ed.ac.uk/download/festival/1.95/festival/bin/"; my $t2wp="";bin/festival-script.pl" 33L, 1000C #$AGI->stream_file('tts/'.basename($wavefile,".wav")); $wavefile =~ s/.wav$//; #$AGI->stream_file($wavefile); $AGI->exec('Playback', "$wavefile"); "/usr/local/bin/festival-script.pl" 33L, 1000C written |
#~
#make a tts dir inside your sounds dir (as specified below) #adjust the t2wp variable to point to your festival bin directory use Asterisk::AGI; use File::Basename; use Digest::MD5 qw(md5_hex); $AGI = new Asterisk::AGI; #my %input = $AGI->ReadParse(); my ($text)=@ARGV; my $hash = md5_hex($text); my $sounddir = "/var/lib/asterisk/sounds/tts"; ... system("uptime >$sounddir/say-text-$hash.txt"); my $execf=$t2wp."text2wave $sounddir/say-text-$hash.txt -F 8000 -o $wavefile"; system($execf); unlink($sounddir."/say-text-$hash.txt"); } #$AGI->stream_file('tts/'.basename($wavefile,".wav")); "/usr/local/bin/festival-script.pl" 33L, 1000C written #$AGI->stream_file($wavefile); $AGI->exec('Playback', "$wavefile"); ~ |
#~
[xten =>]_81XX,n,VoicemailMain(24${EXTEN:2}@default) [--------]--IVR RECORD [ ] exten => _82XX,1,Wait(1)s.conf" 88L, 2094C exten => _82XX,n,Playback(please-enter-you&vm-message) exten => _82XX,n,Record(/var/tmp/asterisk/record${EXTEN:2}:gsm,2) exten => _82XX,n,Wait(1) exten => _82XX,n,Playback(/var/tmp/asterisk/record${EXTEN:2}) exten => _83XX,1,Playback(/var/tmp/asterisk/record${EXTEN:2}) exten => 8555,1,Playback(/home/user/Music/bg_melody) ;exten => 8556,1,Festival('Hello from Sergio') exten => 8556,1,AGI(/usr/local/bin/festival-script.pl,Hello from Sergio) ;exten => 8556,1,AGI(/usr/local/bin/check-stream.pl,Hello from Sergio) [local] ;-----------LOCAL DIALPLAN 32,0-1 Top |
#~
[xten =>]_81XX,n,VoicemailMain(24${EXTEN:2}@default) [--------]--IVR RECORD [ ] exten => _82XX,1,Wait(1)s.conf" 88L, 2094C exten => _82XX,n,Playback(please-enter-you&vm-message) exten => _82XX,n,Record(/var/tmp/asterisk/record${EXTEN:2}:gsm,2) exten => _82XX,n,Wait(1) exten => _82XX,n,Playback(/var/tmp/asterisk/record${EXTEN:2}) exten => _83XX,1,Playback(/var/tmp/asterisk/record${EXTEN:2}) exten => 8555,1,Playback(/home/user/Music/bg_melody) ;exten => 8556,1,Festival('Hello from Sergio') exten => 8556,1,AGI(/usr/local/bin/festival-script.pl,Hello from Sergio) ;exten => 8556,1,AGI(/usr/local/bin/check-stream.pl,Hello from Sergio) [local] ;-----------LOCAL DIALPLAN 32,0-1 Top |
#~
[xten =>]_81XX,n,VoicemailMain(24${EXTEN:2}@default) [--------]--IVR RECORD [ ] exten => _82XX,1,Wait(1)s.conf" 88L, 2094C exten => _82XX,n,Playback(please-enter-you&vm-message) exten => _82XX,n,Record(/var/tmp/asterisk/record${EXTEN:2}:gsm,2) exten => _82XX,n,Wait(1) exten => _82XX,n,Playback(/var/tmp/asterisk/record${EXTEN:2}) exten => _83XX,1,Playback(/var/tmp/asterisk/record${EXTEN:2}) exten => 8555,1,Playback(/home/user/Music/bg_melody) ;exten => 8556,1,Festival('Hello from Sergio') exten => 8556,1,AGI(/usr/local/bin/festival-script.pl,Hello from Sergio) ;exten => 8556,1,AGI(/usr/local/bin/check-stream.pl,Hello from Sergio) [local] ;-----------LOCAL DIALPLAN 32,0-1 Top |
#~
[xten =>]_81XX,n,VoicemailMain(24${EXTEN:2}@default) [--------]--IVR RECORD [ ] exten => _82XX,1,Wait(1)s.conf" 88L, 2094C exten => _82XX,n,Playback(please-enter-you&vm-message) exten => _82XX,n,Record(/var/tmp/asterisk/record${EXTEN:2}:gsm,2) exten => _82XX,n,Wait(1) exten => _82XX,n,Playback(/var/tmp/asterisk/record${EXTEN:2}) exten => _83XX,1,Playback(/var/tmp/asterisk/record${EXTEN:2}) exten => 8555,1,Playback(/home/user/Music/bg_melody) ;exten => 8556,1,Festival('Hello from Sergio') exten => 8556,1,AGI(/usr/local/bin/festival-script.pl,Hello from Sergio) ;exten => 8556,1,AGI(/usr/local/bin/check-stream.pl,Hello from Sergio) [local] ;-----------LOCAL DIALPLAN 32,0-1 Top |
#[ ]
exten => _81XX,n,VoicemailMain(24${EXTEN:2}@default) ;-----------IVR RECORD exten => _82XX,1,Wait(1)s.conf" 88L, 2094C exten => _82XX,n,Playback(please-enter-you&vm-message) exten => _82XX,n,Record(/var/tmp/asterisk/record${EXTEN:2}:gsm,2) exten => _82XX,n,Wait(1) exten => _82XX,n,Playback(/var/tmp/asterisk/record${EXTEN:2}) exten => _83XX,1,Playback(/var/tmp/asterisk/record${EXTEN:2}) exten => 8555,1,Playback(/home/user/Music/bg_melody) ;exten => 8556,1,Festival('Hello from Sergio') exten => 8556,1,AGI(/usr/local/bin/festival-script.pl,Hello from Sergio) ;exten => 8556,1,AGI(/usr/local/bin/check-stream.pl,Hello from Sergio) [local] |
#[ ]
exten => 8100,1,VoicemailMain() ;-----------personal Voicemail exten => _81XX,n,VoicemailMain(24${EXTEN:2}@default) ;-----------IVR RECORD exten => _82XX,1,Wait(1)s.conf" 88L, 2094C exten => _82XX,n,Playback(please-enter-you&vm-message) exten => _82XX,n,Record(/var/tmp/asterisk/record${EXTEN:2}:gsm,2) exten => _82XX,n,Wait(1) exten => _82XX,n,Playback(/var/tmp/asterisk/record${EXTEN:2}) exten => _83XX,1,Playback(/var/tmp/asterisk/record${EXTEN:2}) exten => 8555,1,Playback(/home/user/Music/bg_melody) ;exten => 8556,1,Festival('Hello from Sergio') exten => 8556,1,AGI(/usr/local/bin/festival-script.pl,Hello from Sergio) ;exten => 8556,1,AGI(/usr/local/bin/check-stream.pl,Hello from Sergio) [local] |
#[ ]
exten => _81XX,n,VoicemailMain(24${EXTEN:2}@default) ;-----------IVR RECORD exten => _82XX,1,Wait(1)s.conf" 88L, 2094C exten => _82XX,n,Playback(please-enter-you&vm-message) exten => _82XX,n,Record(/var/tmp/asterisk/record${EXTEN:2}:gsm,2) exten => _82XX,n,Wait(1) exten => _82XX,n,Playback(/var/tmp/asterisk/record${EXTEN:2}) exten => _83XX,1,Playback(/var/tmp/asterisk/record${EXTEN:2}) exten => 8555,1,Playback(/home/user/Music/bg_melody) ;exten => 8556,1,Festival('Hello from Sergio') exten => 8556,1,AGI(/usr/local/bin/festival-script.pl,Hello from Sergio) ;exten => 8556,1,AGI(/usr/local/bin/check-stream.pl,Hello from Sergio) [local] |
#[ ]
exten => _81XX,n,VoicemailMain(24${EXTEN:2}@default) ;-----------IVR RECORD exten => _82XX,1,Wait(1)s.conf" 88L, 2094C exten => _82XX,n,Playback(please-enter-you&vm-message) exten => _82XX,n,Record(/var/tmp/asterisk/record${EXTEN:2}:gsm,2) exten => _82XX,n,Wait(1) exten => _82XX,n,Playback(/var/tmp/asterisk/record${EXTEN:2}) exten => _83XX,1,Playback(/var/tmp/asterisk/record${EXTEN:2}) exten => 8555,1,Playback(/home/user/Music/bg_melody) ;exten => 8556,1,Festival('Hello from Sergio') exten => 8556,1,AGI(/usr/local/bin/festival-script.pl,Hello from Sergio) ;exten => 8556,1,AGI(/usr/local/bin/check-stream.pl,Hello from Sergio) [local] |
#~
#!/usr/bin/perl #make a tts dir inside your sounds dir (as specified below) #adjust the t2wp variable to point to your festival bin directory use Asterisk::AGI; "/usr/local/bin/festival-script.pl" 33L, 1000C use File::Basename; use Digest::MD5 qw(md5_hex); $AGI = new Asterisk::AGI; #my %input = $AGI->ReadParse(); my ($text)=@ARGV; ... my $t2 # close(fileOUT); system("uptime >$sounddir/say-text-$hash.txt"); my $execf=$t2wp."text2wave $sounddir/say-text-$hash.txt -F 8000 -o $wavefile"; system($execf); unless unlink($sounddir."/say-text-$hash.txt"); } #$AGI->stream_file('tts/'.basename($wavefile,".wav")); $wavefile =~ s/.wav$//; #$AGI->stream_file($wavefile); $AGI->exec('Playback', "$wavefile"); |
#~
use Asterisk::AGI; use File::Basename; use Digest::MD5 qw(md5_hex); $AGI = new Asterisk::AGI; #my %input = $AGI->ReadParse(); my ($t # open(fileOUT, ">$sounddir"."/say-text-$hash.txt"); # print fileOUT "$text"; my $ha # close(fileOUT);); system("uptime >$sounddir/say-text-$hash.txt"); my $sou my $execf=$t2wp."text2wave $sounddir/say-text-$hash.txt -F 8000 -o $wavefile"; system($execf); my $wa unlink($sounddir."/say-text-$hash.txt"); }my $t2wp= "/root/www.cstr.ed.ac.uk/download/festival/1.95/festival/bin/"; my $t2wp="";bin/festival-script.pl" 33L, 1000C #$AGI->stream_file('tts/'.basename($wavefile,".wav")); $wavefile =~ s/.wav$//; #$AGI->stream_file($wavefile); $AGI->exec('Playback', "$wavefile"); |
#~
use Asterisk::AGI; use File::Basename; use Digest::MD5 qw(md5_hex); $AGI = new Asterisk::AGI; #my %input = $AGI->ReadParse(); my ($t # open(fileOUT, ">$sounddir"."/say-text-$hash.txt"); # print fileOUT "$text"; my $ha # close(fileOUT);); system("uptime >$sounddir/say-text-$hash.txt"); my $sou my $execf=$t2wp."text2wave $sounddir/say-text-$hash.txt -F 8000 -o $wavefile"; system($execf); my $wa unlink($sounddir."/say-text-$hash.txt"); }my $t2wp= "/root/www.cstr.ed.ac.uk/download/festival/1.95/festival/bin/"; my $t2wp="";bin/festival-script.pl" 33L, 1000C #$AGI->stream_file('tts/'.basename($wavefile,".wav")); $wavefile =~ s/.wav$//; #$AGI->stream_file($wavefile); $AGI->exec('Playback', "$wavefile"); |
#~
#make a tts dir inside your sounds dir (as specified below) #adjust the t2wp variable to point to your festival bin directory use Asterisk::AGI; use File::Basename; use Digest::MD5 qw(md5_hex); $AGI = new Asterisk::AGI; #my %input = $AGI->ReadParse(); my ($t # open(fileOUT, ">$sounddir"."/say-text-$hash.txt"); # print fileOUT "$text"; my $ha # close(fileOUT);); ... system($execf); my $wa unlink($sounddir."/say-text-$hash.txt"); #my $t2wp= "/root/www.cstr.ed.ac.uk/download/festival/1.95/festival/bin/"; my $t2wp="";bin/festival-script.pl" 33L, 1000C unless (-f $wavefile) { } #$AGI->stream_file('tts/'.basename($wavefile,".wav")); $wavefile =~ s/.wav$//; #$AGI->stream_file($wavefile); $AGI->exec('Playback', "$wavefile"); |
#!v
#!/usr/bin/perl #make a tts dir inside your sounds dir (as specified below) #adjust the t2wp variable to point to your festival bin directory use Asterisk::AGI; use File::Basename; "/usr/local/bin/festival-script.pl" 33L, 1000C use Digest::MD5 qw(md5_hex); $AGI = new Asterisk::AGI; #my %input = $AGI->ReadParse(); my ($text)=@ARGV; ... unless my $execf=$t2wp."text2wave $sounddir/say-text-$hash.txt -F 8000 -o $wavefile"; system($execf); # unlink($sounddir."/say-text-$hash.txt"); } } #$AGI->stream_file('tts/'.basename($wavefile,".wav")); "/usr/local/bin/festival-script.pl" 33L, 1001C written #$AGI->stream_file($wavefile); $AGI->exec('Playback', "$wavefile"); ~ |
#!v
use File::Basename; use Digest::MD5 qw(md5_hex); $AGI = new Asterisk::AGI; #my %input = $AGI->ReadParse(); my ($t # open(fileOUT, ">$sounddir"."/say-text-$hash.txt"); # print fileOUT "$text"; my $ha # close(fileOUT);); system("uptime >$sounddir/say-text-$hash.txt"); my $sou my $execf=$t2wp."text2wave $sounddir/say-text-$hash.txt -F 8000 -o $wavefile"; system($execf){ my $wa unlink($sounddir."/say-text-$hash.txt"); }my $t2wp= "/root/www.cstr.ed.ac.uk/download/festival/1.95/festival/bin/"; my $t2wp="";bin/festival-script.pl" 33L, 1000C # unlink($sounddir."/say-text-$hash.txt");av")); } $wavefile =~ s/.wav$//; #$AGI->stream_file($wavefile); $AGI->exec('Playback', "$wavefile"); "/usr/local/bin/festival-script.pl" 33L, 1001C written |
#!v
use File::Basename; use Digest::MD5 qw(md5_hex); $AGI = new Asterisk::AGI; #my %input = $AGI->ReadParse(); my ($t # open(fileOUT, ">$sounddir"."/say-text-$hash.txt"); # print fileOUT "$text"; my $ha # close(fileOUT);); system("uptime >$sounddir/say-text-$hash.txt"); my $sou my $execf=$t2wp."text2wave $sounddir/say-text-$hash.txt -F 8000 -o $wavefile"; system($execf){ my $wa unlink($sounddir."/say-text-$hash.txt"); }my $t2wp= "/root/www.cstr.ed.ac.uk/download/festival/1.95/festival/bin/"; my $t2wp="";bin/festival-script.pl" 33L, 1000C # unlink($sounddir."/say-text-$hash.txt");av")); } $wavefile =~ s/.wav$//; #$AGI->stream_file($wavefile); $AGI->exec('Playback', "$wavefile"); "/usr/local/bin/festival-script.pl" 33L, 1001C written |
#!v
use File::Basename; use Digest::MD5 qw(md5_hex); $AGI = new Asterisk::AGI; #my %input = $AGI->ReadParse(); my ($t # open(fileOUT, ">$sounddir"."/say-text-$hash.txt"); # print fileOUT "$text"; my $ha # close(fileOUT);); system("uptime >$sounddir/say-text-$hash.txt"); my $sou my $execf=$t2wp."text2wave $sounddir/say-text-$hash.txt -F 8000 -o $wavefile"; system($execf){ my $wa unlink($sounddir."/say-text-$hash.txt"); }my $t2wp= "/root/www.cstr.ed.ac.uk/download/festival/1.95/festival/bin/"; my $t2wp="";bin/festival-script.pl" 33L, 1000C # unlink($sounddir."/say-text-$hash.txt");av")); } $wavefile =~ s/.wav$//; #$AGI->stream_file($wavefile); $AGI->exec('Playback', "$wavefile"); "/usr/local/bin/festival-script.pl" 33L, 1001C written |
#cat /var/lib/asterisk/
astdb moh/ sounds/ sqlite.db |
#ls /var/lib/asterisk/sounds/tts/
tts-22d51d754ed8a3bcf054775060630172.wav |
#less /usr/local/bin/festival-script.pl
|
#perl /usr/local/bin/festival-script.pl a b c
^C |
#less /var/lib/asterisk/sounds/tts/say-text-0cc175b9c0f1b6a831c399e269772661.txt
|
#vim /usr/local/bin/festival-script.pl
--- /tmp/l3-saved-22920.4970.11819 2011-06-22 14:54:56.000000000 +0300 +++ /usr/local/bin/festival-script.pl 2011-06-22 14:55:06.000000000 +0300 @@ -11,7 +11,7 @@ #my %input = $AGI->ReadParse(); #my ($text)=@ARGV; -my $text = `uptime`; +my $text = `man ls`; my $hash = md5_hex($text); my $sounddir = "/var/lib/asterisk/sounds/tts"; my $wavefile = "$sounddir/"."tts-$hash.wav"; |
#apt-get install lynx
Reading package lists... Done Building dependency tree Reading state information... Done The following packages were automatically installed and are no longer required: libmysqlclient16 mysql-common Use 'apt-get autoremove' to remove them. The following extra packages will be installed: lynx-cur Suggested packages: lynx-cur-wrapper ... Unpacking lynx-cur (from .../lynx-cur_2.8.8dev.5-1_amd64.deb) ... Selecting previously deselected package lynx. Unpacking lynx (from .../lynx_2.8.8dev.5-1_all.deb) ... Processing triggers for menu ... Processing triggers for man-db ... Setting up lynx-cur (2.8.8dev.5-1) ... update-alternatives: using /usr/bin/lynx.cur to provide /usr/bin/www-browser (www-browser) in auto mode. update-alternatives: using /usr/bin/lynx.cur to provide /usr/bin/lynx (lynx) in auto mode. Setting up lynx (2.8.8dev.5-1) ... Processing triggers for menu ... |
#apt-get install lynx
Reading package lists... Done Building dependency tree Reading state information... Done The following packages were automatically installed and are no longer required: libmysqlclient16 mysql-common Use 'apt-get autoremove' to remove them. The following extra packages will be installed: lynx-cur Suggested packages: lynx-cur-wrapper ... Unpacking lynx-cur (from .../lynx-cur_2.8.8dev.5-1_amd64.deb) ... Selecting previously deselected package lynx. Unpacking lynx (from .../lynx_2.8.8dev.5-1_all.deb) ... Processing triggers for menu ... Processing triggers for man-db ... Setting up lynx-cur (2.8.8dev.5-1) ... update-alternatives: using /usr/bin/lynx.cur to provide /usr/bin/www-browser (www-browser) in auto mode. update-alternatives: using /usr/bin/lynx.cur to provide /usr/bin/lynx (lynx) in auto mode. Setting up lynx (2.8.8dev.5-1) ... Processing triggers for menu ... |
#apt-get install lynx
Reading package lists... Done Building dependency tree Reading state information... Done The following packages were automatically installed and are no longer required: libmysqlclient16 mysql-common Use 'apt-get autoremove' to remove them. The following extra packages will be installed: lynx-cur Suggested packages: lynx-cur-wrapper ... Unpacking lynx-cur (from .../lynx-cur_2.8.8dev.5-1_amd64.deb) ... Selecting previously deselected package lynx. Unpacking lynx (from .../lynx_2.8.8dev.5-1_all.deb) ... Processing triggers for menu ... Processing triggers for man-db ... Setting up lynx-cur (2.8.8dev.5-1) ... update-alternatives: using /usr/bin/lynx.cur to provide /usr/bin/www-browser (www-browser) in auto mode. update-alternatives: using /usr/bin/lynx.cur to provide /usr/bin/lynx (lynx) in auto mode. Setting up lynx (2.8.8dev.5-1) ... Processing triggers for menu ... |
#apt-get install lynx
Reading package lists... Done Building dependency tree Reading state information... Done The following packages were automatically installed and are no longer required: libmysqlclient16 mysql-common Use 'apt-get autoremove' to remove them. The following extra packages will be installed: lynx-cur Suggested packages: lynx-cur-wrapper ... Unpacking lynx-cur (from .../lynx-cur_2.8.8dev.5-1_amd64.deb) ... Selecting previously deselected package lynx. Unpacking lynx (from .../lynx_2.8.8dev.5-1_all.deb) ... Processing triggers for menu ... Processing triggers for man-db ... Setting up lynx-cur (2.8.8dev.5-1) ... update-alternatives: using /usr/bin/lynx.cur to provide /usr/bin/www-browser (www-browser) in auto mode. update-alternatives: using /usr/bin/lynx.cur to provide /usr/bin/lynx (lynx) in auto mode. Setting up lynx (2.8.8dev.5-1) ... Processing triggers for menu ... |
#!v
use File::Basename; use Digest::MD5 qw(md5_hex); $AGI = new Asterisk::AGI; #my %input = $AGI->ReadParse(); `lynx -dump http://en.wikipedia.org/wiki/Kiev | sed 1,70d | head `; #my ($text)=@ARGV; my $text = `man ls`; open(fileOUT, ">$sounddir"."/say-text-$hash.txt"); my $has print fileOUT "$text"; close(fileOUT); my $sounddir = "/var/lib/asterisk/sounds/tts"; #system("uptime > $sounddir/say-text-$hash.txt"); my $wav my $execf=$t2wp."text2wave $sounddir/say-text-$hash.txt -F 8000 -o $wavefile"; system($execf); #my $t #unlink($sounddir."/say-text-$hash.txt");tival/1.95/festival/bin/"; }y $t2wp=""; #$AGI->stream_file('tts/'.basename($wavefile,".wav")); $wavefile =~ s/.wav$//; "/usr/local/bin/festival-script.pl" 35L, 1088C written |
#!v
use File::Basename; use Digest::MD5 qw(md5_hex); $AGI = new Asterisk::AGI; #my %input = $AGI->ReadParse(); `lynx -dump http://en.wikipedia.org/wiki/Kiev | sed 1,70d | head `; #my ($text)=@ARGV; my $text = `man ls`; open(fileOUT, ">$sounddir"."/say-text-$hash.txt"); my $has print fileOUT "$text"; close(fileOUT); my $sounddir = "/var/lib/asterisk/sounds/tts"; #system("uptime > $sounddir/say-text-$hash.txt"); my $wav my $execf=$t2wp."text2wave $sounddir/say-text-$hash.txt -F 8000 -o $wavefile"; system($execf); #my $t #unlink($sounddir."/say-text-$hash.txt");tival/1.95/festival/bin/"; }y $t2wp=""; #$AGI->stream_file('tts/'.basename($wavefile,".wav")); $wavefile =~ s/.wav$//; "/usr/local/bin/festival-script.pl" 35L, 1088C written |
#!v
#!/usr/bin/perl #make a tts dir inside your sounds dir (as specified below) #adjust the t2wp variable to point to your festival bin directory "/usr/local/bin/festival-script.pl" 35L, 1030C use Asterisk::AGI; use File::Basename; use Digest::MD5 qw(md5_hex); $AGI = new Asterisk::AGI; `lynx -dump http://en.wikipedia.org/wiki/Kiev | sed 1,70d | head `; #my %input = $AGI->ReadParse(); ... my $wavefile = "$sounddir/"."tts-$hash.wav"; #system("uptime > $sounddir/say-text-$hash.txt"); #my $t2 my $execf=$t2wp."text2wave $sounddir/say-text-$hash.txt -F 8000 -o $wavefile"; system($execf); my $t2 #unlink($sounddir."/say-text-$hash.txt"); } unless (-f $wavefile) { "/usr/local/bin/festival-script.pl" 35L, 1088C written $wavefile =~ s/.wav$//; #$AGI->stream_file($wavefile); |
#!v
use File::Basename; use Digest::MD5 qw(md5_hex); $AGI = new Asterisk::AGI; #my %input = $AGI->ReadParse(); `lynx -dump http://en.wikipedia.org/wiki/Kiev | sed 1,70d | head `; #my ($text)=@ARGV; my $text = `man ls`; open(fileOUT, ">$sounddir"."/say-text-$hash.txt"); my $has print fileOUT "$text"; close(fileOUT); my $sounddir = "/var/lib/asterisk/sounds/tts"; #system("uptime > $sounddir/say-text-$hash.txt"); my $wav my $execf=$t2wp."text2wave $sounddir/say-text-$hash.txt -F 8000 -o $wavefile"; system($execf); #my $t #unlink($sounddir."/say-text-$hash.txt");tival/1.95/festival/bin/"; }y $t2wp=""; #$AGI->stream_file('tts/'.basename($wavefile,".wav")); $wavefile =~ s/.wav$//; "/usr/local/bin/festival-script.pl" 35L, 1088C written |
#!v
my $text = ` = x -dump http://en.wikipedia.or;/wiki/Kiev | sed 1,70d | head `; open(fileOUT, ">$sounddir"."/say-text-$hash.txt"); my $has prin = ileOUT "$tex."; ; close(fileOUT); #my $t2wp= "/root/www.cstr.ed.ac.uk/download/festival/1.95/festival/bin/"; #system("uptime > $sounddir/say-text-$hash.txt"); my $wav ="";execf=$t2wp."text2wave $sounddir/say-text-$hash.txt -F 8000 -o $wavefile"; system($execf); my $t #unlink($sounddir."/say-text-$hash.txt");tival/1.95/festival/bin/"; unless (-f ; ) { ... sys$execf=$t2wp $sounddir$sounddir $hash $hash $wavefile $execfx$t2wp $sounddir $hash $wavefile #unlink($execfdir."/say-text-$hash.txt"); $sounddir $hash } $AGI->stream_file tts/ $wavefile $AGI->stream_file $tts/ $wavefile $wavefile $/ #$AGI->stream_file($wavefile);name($wavefile,".wav")); 2 #$AGI->stream_file($wavefile 3 |
#!v
my $text = ` = x -dump http://en.wikipedia.or;/wiki/Kiev | sed 1,70d | head `; open(fileOUT, ">$sounddir"."/say-text-$hash.txt"); my $has prin = ileOUT "$tex."; ; close(fileOUT); #my $t2wp= "/root/www.cstr.ed.ac.uk/download/festival/1.95/festival/bin/"; #system("uptime > $sounddir/say-text-$hash.txt"); my $wav ="";execf=$t2wp."text2wave $sounddir/say-text-$hash.txt -F 8000 -o $wavefile"; system($execf); my $t #unlink($sounddir."/say-text-$hash.txt");tival/1.95/festival/bin/"; unless (-f ; ) { ... sys$execf=$t2wp $sounddir$sounddir $hash $hash $wavefile $execfx$t2wp $sounddir $hash $wavefile #unlink($execfdir."/say-text-$hash.txt"); $sounddir $hash } $AGI->stream_file tts/ $wavefile $AGI->stream_file $tts/ $wavefile $wavefile $/ #$AGI->stream_file($wavefile);name($wavefile,".wav")); 2 #$AGI->stream_file($wavefile 3 |
#!v
my $text = ` = x -dump http://en.wikipedia.or;/wiki/Kiev | sed 1,70d | head `; open(fileOUT, ">$sounddir"."/say-text-$hash.txt"); my $has prin = ileOUT "$tex."; ; close(fileOUT); #my $t2wp= "/root/www.cstr.ed.ac.uk/download/festival/1.95/festival/bin/"; #system("uptime > $sounddir/say-text-$hash.txt"); my $wav ="";execf=$t2wp."text2wave $sounddir/say-text-$hash.txt -F 8000 -o $wavefile"; system($execf); my $t #unlink($sounddir."/say-text-$hash.txt");tival/1.95/festival/bin/"; unless (-f ; ) { ... sys$execf=$t2wp $sounddir$sounddir $hash $hash $wavefile $execfx$t2wp $sounddir $hash $wavefile #unlink($execfdir."/say-text-$hash.txt"); $sounddir $hash } $AGI->stream_file tts/ $wavefile $AGI->stream_file $tts/ $wavefile $wavefile $/ #$AGI->stream_file($wavefile);name($wavefile,".wav")); 2 #$AGI->stream_file($wavefile 3 |
#!v
#!/usr/bin/perl #make a tts dir inside your sounds dir (as specified below) #adjust the t2wp variable to point to your festival bin directory "/usr/local/bin/festival-script.pl" 35L, 1088C use Asterisk::AGI; use File::Basename; use Digest::MD5 qw(md5_hex); $AGI = new Asterisk::AGI; `; my $hash = md5_hex($text);se(); ... c =~ s/.leO$//; $wavefile $/ #$AGI->stream_file($wavefile); 14,13 Top #$AGI->stream_file($wavefile #system("uptime > $sounddir/say-text-$hash.txt"); my am_fil=($wav.file); ; system( ); #unlink($sounddir."/say-text-$hash.txt"); } #$AGI->stream_file('tts/'.basename($wavefile,".wav")); |
#wavefile $/
use Asterisk::AGI; use File::Basename; use Digest::MD5 qw(md5_hex); $AGI = new Asterisk::AGI; #my %input = $AGI->ReadParse(); #my ($text)=@ARGV; my $text = `lynx -dump http://en.wikipedia.org/wiki/Kiev | sed 1,70d | head `; open(fileOUT, ">$sounddir"."/say-text-$hash.txt"); my $has print fileOUT "$text"; close(fileOUT); my $sounddir = "/var/lib/asterisk/sounds/tts"; #system("uptime > $sounddir/say-text-$hash.txt"); my $wav my $execf=$t2wp."text2wave $sounddir/say-text-$hash.txt -F 8000 -o $wavefile"; system($execf); #my $t #unlink($sounddir."/say-text-$hash.txt");tival/1.95/festival/bin/"; }y $t2wp=""; #$AGI->stream_file('tts/'.basename($wavefile,".wav")); $wavefile =~ s/.wav$//; |
#wavefile $/
#!/usr/bin/perl #make a tts dir inside your sounds dir (as specified below) #adjust the t2wp variable to point to your festival bin directory use Asterisk::AGI; use File::Basename; use Digest::MD5 qw(md5_hex); $AGI = new Asterisk::AGI; #my %input = $AGI->ReadParse(); #my ($text)=@ARGV; my $text = `lynx -dump http://en.wikipedia.org/wiki/Kiev | sed 1,70d | head `; ... open(fileOUT, ">$sounddir"."/say-text-$hash.txt"); print fileOUT "$text"; close(fileOUT); #system("uptime > $sounddir/say-text-$hash.txt"); my $execf=$t2wp."text2wave $sounddir/say-text-$hash.txt -F 8000 -o $wavefile"; system($execf); #unlink($sounddir."/say-text-$hash.txt"); } #$AGI->stream_file('tts/'.basename($wavefile,".wav")); $wavefile =~ s/.wav$//; |
#wavefile $/
use Asterisk::AGI; use File::Basename; use Digest::MD5 qw(md5_hex); $AGI = new Asterisk::AGI; #my %input = $AGI->ReadParse(); #my ($text)=@ARGV; my $text = `lynx -dump http://en.wikipedia.org/wiki/Kiev | sed 1,70d | head `; open(fileOUT, ">$sounddir"."/say-text-$hash.txt"); my $has print fileOUT "$text"; close(fileOUT); my $sounddir = "/var/lib/asterisk/sounds/tts"; #system("uptime > $sounddir/say-text-$hash.txt"); my $wav my $execf=$t2wp."text2wave $sounddir/say-text-$hash.txt -F 8000 -o $wavefile"; system($execf); #my $t #unlink($sounddir."/say-text-$hash.txt");tival/1.95/festival/bin/"; }y $t2wp=""; #$AGI->stream_file('tts/'.basename($wavefile,".wav")); $wavefile =~ s/.wav$//; |
#wavefile $/
use Asterisk::AGI; use File::Basename; use Digest::MD5 qw(md5_hex); $AGI = new Asterisk::AGI; #my %input = $AGI->ReadParse(); #my ($text)=@ARGV; my $text = `lynx -dump http://en.wikipedia.org/wiki/Kiev | sed 1,70d | head `; open(fileOUT, ">$sounddir"."/say-text-$hash.txt"); my $has print fileOUT "$text"; close(fileOUT); my $sounddir = "/var/lib/asterisk/sounds/tts"; #system("uptime > $sounddir/say-text-$hash.txt"); my $wav my $execf=$t2wp."text2wave $sounddir/say-text-$hash.txt -F 8000 -o $wavefile"; system($execf); #my $t #unlink($sounddir."/say-text-$hash.txt");tival/1.95/festival/bin/"; }y $t2wp=""; #$AGI->stream_file('tts/'.basename($wavefile,".wav")); $wavefile =~ s/.wav$//; |
#$AGI->stream_file($wavefile);
Reading package lists... Done Building dependency tree Reading state information... Done The following packages were automatically installed and are no longer required: libmysqlclient16 mysql-common Use 'apt-get autoremove' to remove them. The following NEW packages will be installed: festvox-ru 0 upgraded, 1 newly installed, 0 to remove and 4 not upgraded. Need to get 196 MB of archives. After this operation, 256 MB of additional disk space will be used. Get:1 http://10.0.35.1/debian/ squeeze/main festvox-ru all 0.5-1 [196 MB] Fetched 196 MB in 1min 6s (2,930 kB/s) Selecting previously deselected package festvox-ru. (Reading database ... 129117 files and directories currently installed.) Unpacking festvox-ru (from .../festvox-ru_0.5-1_all.deb) ... Setting up festvox-ru (0.5-1) ... |
#$AGI->stream_file($wavefile);
Reading package lists... Done Building dependency tree Reading state information... Done The following packages were automatically installed and are no longer required: libmysqlclient16 mysql-common Use 'apt-get autoremove' to remove them. The following NEW packages will be installed: festvox-ru 0 upgraded, 1 newly installed, 0 to remove and 4 not upgraded. Need to get 196 MB of archives. After this operation, 256 MB of additional disk space will be used. Get:1 http://10.0.35.1/debian/ squeeze/main festvox-ru all 0.5-1 [196 MB] Fetched 196 MB in 1min 6s (2,930 kB/s) Selecting previously deselected package festvox-ru. (Reading database ... 129117 files and directories currently installed.) Unpacking festvox-ru (from .../festvox-ru_0.5-1_all.deb) ... Setting up festvox-ru (0.5-1) ... |
#$AGI->stream_file($wavefile);
Reading package lists... Done Building dependency tree Reading state information... Done The following packages were automatically installed and are no longer required: libmysqlclient16 mysql-common Use 'apt-get autoremove' to remove them. The following NEW packages will be installed: festvox-ru 0 upgraded, 1 newly installed, 0 to remove and 4 not upgraded. Need to get 196 MB of archives. After this operation, 256 MB of additional disk space will be used. Get:1 http://10.0.35.1/debian/ squeeze/main festvox-ru all 0.5-1 [196 MB] Fetched 196 MB in 1min 6s (2,930 kB/s) Selecting previously deselected package festvox-ru. (Reading database ... 129117 files and directories currently installed.) Unpacking festvox-ru (from .../festvox-ru_0.5-1_all.deb) ... Setting up festvox-ru (0.5-1) ... |
#$AGI->stream_file($wavefile);
Reading package lists... Done Building dependency tree Reading state information... Done The following packages were automatically installed and are no longer required: libmysqlclient16 mysql-common Use 'apt-get autoremove' to remove them. The following NEW packages will be installed: festvox-ru 0 upgraded, 1 newly installed, 0 to remove and 4 not upgraded. Need to get 196 MB of archives. After this operation, 256 MB of additional disk space will be used. Get:1 http://10.0.35.1/debian/ squeeze/main festvox-ru all 0.5-1 [196 MB] Fetched 196 MB in 1min 6s (2,930 kB/s) Selecting previously deselected package festvox-ru. (Reading database ... 129117 files and directories currently installed.) Unpacking festvox-ru (from .../festvox-ru_0.5-1_all.deb) ... Setting up festvox-ru (0.5-1) ... |
#apt-get install festvox-hi-nsk
Reading package lists... Done Building dependency tree Reading state information... Done The following packages were automatically installed and are no longer required: libmysqlclient16 mysql-common Use 'apt-get autoremove' to remove them. The following extra packages will be installed: festival-hi The following NEW packages will be installed: festival-hi festvox-hi-nsk ... Get:1 http://10.0.35.1/debian/ squeeze/main festvox-hi-nsk all 0.1-6 [9,741 kB] Get:2 http://10.0.35.1/debian/ squeeze/main festival-hi all 0.1-6 [20.2 kB] Fetched 9,761 kB in 18s (533 kB/s) Selecting previously deselected package festvox-hi-nsk. (Reading database ... 131082 files and directories currently installed.) Unpacking festvox-hi-nsk (from .../festvox-hi-nsk_0.1-6_all.deb) ... Selecting previously deselected package festival-hi. Unpacking festival-hi (from .../festival-hi_0.1-6_all.deb) ... Setting up festvox-hi-nsk (0.1-6) ... Setting up festival-hi (0.1-6) ... |
#apt-get install festvox-hi-nsk
Reading package lists... Done Building dependency tree Reading state information... Done The following packages were automatically installed and are no longer required: libmysqlclient16 mysql-common Use 'apt-get autoremove' to remove them. The following extra packages will be installed: festival-hi The following NEW packages will be installed: festival-hi festvox-hi-nsk ... Get:1 http://10.0.35.1/debian/ squeeze/main festvox-hi-nsk all 0.1-6 [9,741 kB] Get:2 http://10.0.35.1/debian/ squeeze/main festival-hi all 0.1-6 [20.2 kB] Fetched 9,761 kB in 18s (533 kB/s) Selecting previously deselected package festvox-hi-nsk. (Reading database ... 131082 files and directories currently installed.) Unpacking festvox-hi-nsk (from .../festvox-hi-nsk_0.1-6_all.deb) ... Selecting previously deselected package festival-hi. Unpacking festival-hi (from .../festival-hi_0.1-6_all.deb) ... Setting up festvox-hi-nsk (0.1-6) ... Setting up festival-hi (0.1-6) ... |
#apt-get install festvox-hi-nsk
Reading package lists... Done Building dependency tree Reading state information... Done The following packages were automatically installed and are no longer required: libmysqlclient16 mysql-common Use 'apt-get autoremove' to remove them. The following extra packages will be installed: festival-hi The following NEW packages will be installed: festival-hi festvox-hi-nsk ... Get:1 http://10.0.35.1/debian/ squeeze/main festvox-hi-nsk all 0.1-6 [9,741 kB] Get:2 http://10.0.35.1/debian/ squeeze/main festival-hi all 0.1-6 [20.2 kB] Fetched 9,761 kB in 18s (533 kB/s) Selecting previously deselected package festvox-hi-nsk. (Reading database ... 131082 files and directories currently installed.) Unpacking festvox-hi-nsk (from .../festvox-hi-nsk_0.1-6_all.deb) ... Selecting previously deselected package festival-hi. Unpacking festival-hi (from .../festival-hi_0.1-6_all.deb) ... Setting up festvox-hi-nsk (0.1-6) ... Setting up festival-hi (0.1-6) ... |
#apt-get install festvox-hi-nsk
Reading package lists... Done Building dependency tree Reading state information... Done The following packages were automatically installed and are no longer required: libmysqlclient16 mysql-common Use 'apt-get autoremove' to remove them. The following extra packages will be installed: festival-hi The following NEW packages will be installed: festival-hi festvox-hi-nsk ... Get:1 http://10.0.35.1/debian/ squeeze/main festvox-hi-nsk all 0.1-6 [9,741 kB] Get:2 http://10.0.35.1/debian/ squeeze/main festival-hi all 0.1-6 [20.2 kB] Fetched 9,761 kB in 18s (533 kB/s) Selecting previously deselected package festvox-hi-nsk. (Reading database ... 131082 files and directories currently installed.) Unpacking festvox-hi-nsk (from .../festvox-hi-nsk_0.1-6_all.deb) ... Selecting previously deselected package festival-hi. Unpacking festival-hi (from .../festival-hi_0.1-6_all.deb) ... Setting up festvox-hi-nsk (0.1-6) ... Setting up festival-hi (0.1-6) ... |
#vim /etc/festival.scm
--- /tmp/l3-saved-22920.23934.25775 2011-06-22 15:05:44.000000000 +0300 +++ /etc/festival.scm 2011-06-22 15:09:44.000000000 +0300 @@ -27,6 +27,9 @@ ; Secure default: (set! server_access_list '("[^.]+" "127.0.0.1" "localhost")) + +(language_russian) +(set! voice_default 'voice_msu_ru_nsh_clunits) ; Server deny list (hosts) |
#!v
use File::Basename; use Digest::MD5 qw(md5_hex); $AGI = new Asterisk::AGI; #my %input = $AGI->ReadParse(); #my ($text)=@ARGV; my $text = `cat /tmp/kiev-ru.txt`; my $hash = md5_hex($text); open(fileOUT, ">$sounddir"."/say-text-$hash.txt"); my $sou print fileOUT "$text";isk/sounds/tts"; close(fileOUT); my $wavefile = "$sounddir/"."tts-$hash.wav"; #system("uptime > $sounddir/say-text-$hash.txt"); #my $t2 my $execf=$t2wp."text2wave $sounddir/say-text-$hash.txt -F 8000 -o $wavefile"; system($execf); my $t2 #unlink($sounddir."/say-text-$hash.txt"); } unless (-f $wavefile) { |
#!v
use File::Basename; use Digest::MD5 qw(md5_hex); $AGI = new Asterisk::AGI; #my %input = $AGI->ReadParse(); #my ($text)=@ARGV; my $text = `cat /tmp/kiev-ru.txt`; my $hash = md5_hex($text); open(fileOUT, ">$sounddir"."/say-text-$hash.txt"); my $sou print fileOUT "$text";isk/sounds/tts"; close(fileOUT); my $wavefile = "$sounddir/"."tts-$hash.wav"; #system("uptime > $sounddir/say-text-$hash.txt"); #my $t2 my $execf=$t2wp."text2wave $sounddir/say-text-$hash.txt -F 8000 -o $wavefile"; system($execf); my $t2 #unlink($sounddir."/say-text-$hash.txt"); } unless (-f $wavefile) { |
#!v
use File::Basename; use Digest::MD5 qw(md5_hex); $AGI = new Asterisk::AGI; #my %input = $AGI->ReadParse(); #my ($text)=@ARGV; my $text = `cat /tmp/kiev-ru.txt`; my $hash = md5_hex($text); open(fileOUT, ">$sounddir"."/say-text-$hash.txt"); my $sou print fileOUT "$text";isk/sounds/tts"; close(fileOUT); my $wavefile = "$sounddir/"."tts-$hash.wav"; #system("uptime > $sounddir/say-text-$hash.txt"); #my $t2 my $execf=$t2wp."text2wave $sounddir/say-text-$hash.txt -F 8000 -o $wavefile"; system($execf); my $t2 #unlink($sounddir."/say-text-$hash.txt"); } unless (-f $wavefile) { |
#!v
use File::Basename; use Digest::MD5 qw(md5_hex); $AGI = new Asterisk::AGI; #my %input = $AGI->ReadParse(); #my ($text)=@ARGV; my $text = `cat /tmp/kiev-ru.txt`; my $hash = md5_hex($text); open(fileOUT, ">$sounddir"."/say-text-$hash.txt"); my $sou print fileOUT "$text";isk/sounds/tts"; close(fileOUT); my $wavefile = "$sounddir/"."tts-$hash.wav"; #system("uptime > $sounddir/say-text-$hash.txt"); #my $t2 my $execf=$t2wp."text2wave $sounddir/say-text-$hash.txt -F 8000 -o $wavefile"; system($execf); my $t2 #unlink($sounddir."/say-text-$hash.txt"); } unless (-f $wavefile) { |
stream_file('tts/'.basename($wavefile,".wav"))
local_session_id=25833144043206113007-1308577282
nonce=22658
pid=22920
prompt=#
pwd=/root
raw_end=1911276
raw_file=/root/.lilalo/25833144043206113007-1308577282.script
raw_output_start=1909755
raw_start=1908049
tab_seq=1
time=1308744744
uid=0' class='prompt'>#$AGI->stream_file('tts/'.basename($wavefile,".wav"));
use Asterisk::AGI; use File::Basename; use Digest::MD5 qw(md5_hex); $AGI = new Asterisk::AGI; #my %input = $AGI->ReadParse(); #my ($text)=@ARGV; my $text = `cat /tmp/kiev-ru.txt`; my $hash = md5_hex($text); my $sounddir = "/var/lib/asterisk/sounds/tts"; my $wavefile = "$sounddir/"."tts-$hash.wav"; #my $t2wp= "/root/www.cstr.ed.ac.uk/download/festival/1.95/festival/bin/"; my $t2wp=""; unless (-f $wavefile) { open(fileOUT, ">$sounddir"."/say-text-$hash.txt"); print fileOUT "$text"; close(fileOUT); #system("uptime > $sounddir/say-text-$hash.txt"); my $execf=$t2wp."text2wave $sounddir/say-text-$hash.txt -F 8000 -o $wavefile"; system($execf); #unlink($sounddir."/say-text-$hash.txt"); } |
stream_file('tts/'.basename($wavefile,".wav"))
local_session_id=30068184332509011791-1308656679
nonce=22658
pid=22920
prompt=#
pwd=/root
raw_end=1186236
raw_file=/root/.lilalo/30068184332509011791-1308656679.script
raw_output_start=1184715
raw_start=1183009
tab_seq=2
time=1308744744
uid=0' class='prompt'>#$AGI->stream_file('tts/'.basename($wavefile,".wav"));
use File::Basename; use Digest::MD5 qw(md5_hex); $AGI = new Asterisk::AGI; #my %input = $AGI->ReadParse(); #my ($text)=@ARGV; my $text = `cat /tmp/kiev-ru.txt`; my $hash = md5_hex($text); open(fileOUT, ">$sounddir"."/say-text-$hash.txt"); my $sou print fileOUT "$text";isk/sounds/tts"; close(fileOUT); my $wavefile = "$sounddir/"."tts-$hash.wav"; #system("uptime > $sounddir/say-text-$hash.txt"); #my $t2 my $execf=$t2wp."text2wave $sounddir/say-text-$hash.txt -F 8000 -o $wavefile"; system($execf); my $t2 #unlink($sounddir."/say-text-$hash.txt"); } unless (-f $wavefile) { |
stream_file('tts/'.basename($wavefile,".wav"))
local_session_id=12324120071704722896-1308656679
nonce=22658
pid=22920
prompt=#
pwd=/root
raw_end=1186236
raw_file=/root/.lilalo/12324120071704722896-1308656679.script
raw_output_start=1184715
raw_start=1183009
time=1308744744
uid=0' class='prompt'>#$AGI->stream_file('tts/'.basename($wavefile,".wav"));
use File::Basename; use Digest::MD5 qw(md5_hex); $AGI = new Asterisk::AGI; #my %input = $AGI->ReadParse(); #my ($text)=@ARGV; my $text = `cat /tmp/kiev-ru.txt`; my $hash = md5_hex($text); open(fileOUT, ">$sounddir"."/say-text-$hash.txt"); my $sou print fileOUT "$text";isk/sounds/tts"; close(fileOUT); my $wavefile = "$sounddir/"."tts-$hash.wav"; #system("uptime > $sounddir/say-text-$hash.txt"); #my $t2 my $execf=$t2wp."text2wave $sounddir/say-text-$hash.txt -F 8000 -o $wavefile"; system($execf); my $t2 #unlink($sounddir."/say-text-$hash.txt"); } unless (-f $wavefile) { |
aspell/ asterisk/
astdb moh/ sounds/ sqlite.db
Время первой команды журнала | 13:32:08 2011- 6-22 | |||||||||||||||||||||||||||||||||||||||||||||
Время последней команды журнала | 14:12:24 2011- 6-22 | |||||||||||||||||||||||||||||||||||||||||||||
Количество командных строк в журнале | 101 | |||||||||||||||||||||||||||||||||||||||||||||
Процент команд с ненулевым кодом завершения, % | 0.00 | |||||||||||||||||||||||||||||||||||||||||||||
Процент синтаксически неверно набранных команд, % | 0.00 | |||||||||||||||||||||||||||||||||||||||||||||
Суммарное время работы с терминалом *, час | 0.67 | |||||||||||||||||||||||||||||||||||||||||||||
Количество командных строк в единицу времени, команда/мин | 2.51 | |||||||||||||||||||||||||||||||||||||||||||||
Частота использования команд |
|
В журнал автоматически попадают все команды, данные в любом терминале системы.
Для того чтобы убедиться, что журнал на текущем терминале ведётся, и команды записываются, дайте команду w. В поле WHAT, соответствующем текущему терминалу, должна быть указана программа script.
Команды, при наборе которых были допущены синтаксические ошибки, выводятся перечёркнутым текстом:
$ l s-l bash: l: command not found |
Если код завершения команды равен нулю, команда была выполнена без ошибок. Команды, код завершения которых отличен от нуля, выделяются цветом.
$ test 5 -lt 4 |
Команды, ход выполнения которых был прерван пользователем, выделяются цветом.
$ find / -name abc find: /home/devi-orig/.gnome2: Keine Berechtigung find: /home/devi-orig/.gnome2_private: Keine Berechtigung find: /home/devi-orig/.nautilus/metafiles: Keine Berechtigung find: /home/devi-orig/.metacity: Keine Berechtigung find: /home/devi-orig/.inkscape: Keine Berechtigung ^C |
Команды, выполненные с привилегиями суперпользователя, выделяются слева красной чертой.
# id uid=0(root) gid=0(root) Gruppen=0(root) |
Изменения, внесённые в текстовый файл с помощью редактора, запоминаются и показываются в журнале в формате ed. Строки, начинающиеся символом "<", удалены, а строки, начинающиеся символом ">" -- добавлены.
$ vi ~/.bashrc
|
Для того чтобы изменить файл в соответствии с показанными в диффшоте изменениями, можно воспользоваться командой patch. Нужно скопировать изменения, запустить программу patch, указав в качестве её аргумента файл, к которому применяются изменения, и всавить скопированный текст:
$ patch ~/.bashrc |
Для того чтобы получить краткую справочную информацию о команде, нужно подвести к ней мышь. Во всплывающей подсказке появится краткое описание команды.
Если справочная информация о команде есть, команда выделяется голубым фоном, например: vi. Если справочная информация отсутствует, команда выделяется розовым фоном, например: notepad.exe. Справочная информация может отсутствовать в том случае, если (1) команда введена неверно; (2) если распознавание команды LiLaLo выполнено неверно; (3) если информация о команде неизвестна LiLaLo. Последнее возможно для редких команд.
Большие, в особенности многострочные, всплывающие подсказки лучше всего показываются браузерами KDE Konqueror, Apple Safari и Microsoft Internet Explorer. В браузерах Mozilla и Firefox они отображаются не полностью, а вместо перевода строки выводится специальный символ.
Время ввода команды, показанное в журнале, соответствует времени начала ввода командной строки, которое равно тому моменту, когда на терминале появилось приглашение интерпретатора
Имя терминала, на котором была введена команда, показано в специальном блоке. Этот блок показывается только в том случае, если терминал текущей команды отличается от терминала предыдущей.
Вывод не интересующих вас в настоящий момент элементов журнала, таких как время, имя терминала и других, можно отключить. Для этого нужно воспользоваться формой управления журналом вверху страницы.
Небольшие комментарии к командам можно вставлять прямо из командной строки. Комментарий вводится прямо в командную строку, после символов #^ или #v. Символы ^ и v показывают направление выбора команды, к которой относится комментарий: ^ - к предыдущей, v - к следующей. Например, если в командной строке было введено:
$ whoami
user
$ #^ Интересно, кто я?в журнале это будет выглядеть так:
$ whoami
user
Интересно, кто я? |
Если комментарий содержит несколько строк, его можно вставить в журнал следующим образом:
$ whoami
user
$ cat > /dev/null #^ Интересно, кто я?
Программа whoami выводит имя пользователя, под которым мы зарегистрировались в системе. - Она не может ответить на вопрос о нашем назначении в этом мире.В журнале это будет выглядеть так:
$ whoami user
|
Комментарии, не относящиеся непосредственно ни к какой из команд, добавляются точно таким же способом, только вместо симолов #^ или #v нужно использовать символы #=
1 2 3 4Группы команд, выполненных на разных терминалах, разделяются специальной линией. Под этой линией в правом углу показано имя терминала, на котором выполнялись команды. Для того чтобы посмотреть команды только одного сенса, нужно щёкнуть по этому названию.
LiLaLo (L3) расшифровывается как Live Lab Log.
Программа разработана для повышения эффективности обучения Unix/Linux-системам.
(c) Игорь Чубин, 2004-2008