Журнал лабораторных работ

Содержание

Журнал

Среда (06/22/11)

/dev/pts/8
13:32:08
#~
;-----------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
/dev/pts/17
13:32:08
#~
[--------]--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
/dev/pts/0
13:32:08
#~
[--------]--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
/dev/pts/16
13:32:08
#~
[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
/dev/pts/8
13:32:42
#!ast
asterisk -rx 'dialplan reload'
Dialplan reloaded.
/dev/pts/17
13:32:42
#!ast
asterisk -rx 'dialplan reload'
Dialplan reloaded.
/dev/pts/0
13:32:42
#!ast
asterisk -rx 'dialplan reload'
Dialplan reloaded.
/dev/pts/16
13:32:42
#!ast
asterisk -rx 'dialplan reload'
Dialplan reloaded.
/dev/pts/8
13:36:53
#vim /usr/local/bin/festival-script.pl
/dev/pts/17
13:36:53
#vim /usr/local/bin/festival-script.pl
/dev/pts/0
13:36:53
#vim /usr/local/bin/festival-script.pl
/dev/pts/16
13:36:53
#vim /usr/local/bin/festival-script.pl
/dev/pts/8
13:36:56
#~
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");
/dev/pts/17
13:36:56
#~
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");
/dev/pts/0
13:36:56
#~
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");
/dev/pts/16
13:36:56
#~
#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");
/dev/pts/0
13:37:32
#!ast
asterisk -rx 'dialplan reload'
Dialplan reloaded.
/dev/pts/16
13:37:32
#!ast
asterisk -rx 'dialplan reload'
Dialplan reloaded.
/dev/pts/8
13:37:32
#!ast
asterisk -rx 'dialplan reload'
Dialplan reloaded.
/dev/pts/17
13:37:32
#!ast
asterisk -rx 'dialplan reload'
Dialplan reloaded.
/dev/pts/0
13:45:13
#vim /usr/local/bin/festival-script.pl
/dev/pts/16
13:45:13
#vim /usr/local/bin/festival-script.pl
/dev/pts/8
13:45:13
#vim /usr/local/bin/festival-script.pl
/dev/pts/17
13:45:13
#vim /usr/local/bin/festival-script.pl
/dev/pts/0
13:45:44
#~
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
/dev/pts/16
13:45:44
#~
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
/dev/pts/8
13:45:44
#~
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
/dev/pts/17
13:45:44
#~
#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");
~
/dev/pts/0
13:46:04
#!ast
asterisk -rx 'dialplan reload'
Dialplan reloaded.
/dev/pts/16
13:46:04
#!ast
asterisk -rx 'dialplan reload'
Dialplan reloaded.
/dev/pts/8
13:46:04
#!ast
asterisk -rx 'dialplan reload'
Dialplan reloaded.
/dev/pts/17
13:46:04
#!ast
asterisk -rx 'dialplan reload'
Dialplan reloaded.
/dev/pts/0
13:46:42
#~
[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
/dev/pts/16
13:46:42
#~
[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
/dev/pts/8
13:46:42
#~
[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
/dev/pts/17
13:46:42
#~
[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
/dev/pts/8
13:46:59
#[ ]
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]
/dev/pts/17
13:46:59
#[ ]
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]
/dev/pts/0
13:46:59
#[ ]
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]
/dev/pts/16
13:46:59
#[ ]
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]
/dev/pts/8
13:48:00
#~
#!/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");
/dev/pts/17
13:48:00
#~
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");
/dev/pts/0
13:48:00
#~
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");
/dev/pts/16
13:48:00
#~
#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");
/dev/pts/8
13:48:39
#date
Wed Jun 22 14:48:49 EEST 2011
/dev/pts/17
13:48:39
#date
Wed Jun 22 14:48:49 EEST 2011
/dev/pts/0
13:48:39
#date
Wed Jun 22 14:48:49 EEST 2011
/dev/pts/16
13:48:39
#date
Wed Jun 22 14:48:49 EEST 2011
/dev/pts/0
13:48:49
#!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");
~
/dev/pts/16
13:48:49
#!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
/dev/pts/8
13:48:49
#!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
/dev/pts/17
13:48:49
#!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
/dev/pts/0
13:50:09
#vim /usr/local/bin/festival-script.pl
/dev/pts/16
13:50:09
#vim /usr/local/bin/festival-script.pl
/dev/pts/8
13:50:09
#vim /usr/local/bin/festival-script.pl
/dev/pts/17
13:50:09
#vim /usr/local/bin/festival-script.pl
/dev/pts/27
13:50:31
#cat /var/lib/as
aspell/   asterisk/
13:50:31
#cat /var/lib/asterisk/
astdb      moh/       sounds/    sqlite.db
13:50:54
#ls /var/lib/asterisk/sounds/tts/
tts-22d51d754ed8a3bcf054775060630172.wav
13:51:04
#less /usr/local/bin/festival-script.pl
13:51:35
#perl /usr/local/bin/festival-script.pl a b c
^C
13:51:49
#less /var/lib/asterisk/sounds/tts/say-text-0cc175b9c0f1b6a831c399e269772661.txt
/dev/pts/8
13:54:54
#vim /usr/local/bin/festival-script.pl
/dev/pts/17
13:54:54
#vim /usr/local/bin/festival-script.pl
/dev/pts/0
13:54:54
#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";
/dev/pts/16
13:54:54
#vim /usr/local/bin/festival-script.pl
/dev/pts/8
13:55:06
#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 ...
/dev/pts/17
13:55:06
#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 ...
/dev/pts/0
13:55:06
#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 ...
/dev/pts/16
13:55:06
#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 ...
/dev/pts/0
13:56:40
#!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
/dev/pts/16
13:56:40
#!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
/dev/pts/8
13:56:40
#!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);
/dev/pts/17
13:56:40
#!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
/dev/pts/8
13:58:43
#!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
/dev/pts/17
13:58:43
#!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
/dev/pts/0
13:58:43
#!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
/dev/pts/16
13:58:43
#!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"));
/dev/pts/8
14:00:39
#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$//;
/dev/pts/17
14:00:39
#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$//;
/dev/pts/0
14:00:39
#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$//;
/dev/pts/16
14:00:39
#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$//;
/dev/pts/8
14:00:49
#$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) ...
/dev/pts/17
14:00:49
#$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) ...
/dev/pts/0
14:00:49
#$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) ...
/dev/pts/16
14:00:49
#$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) ...
/dev/pts/8
14:03:56
#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) ...
/dev/pts/17
14:03:56
#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) ...
/dev/pts/0
14:03:56
#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) ...
/dev/pts/16
14:03:56
#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) ...
/dev/pts/8
14:05:15
#vim /etc/festival.scm
/dev/pts/17
14:05:15
#vim /etc/festival.scm
/dev/pts/0
14:05:15
#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)
 
 
/dev/pts/16
14:05:15
#vim /etc/festival.scm
/dev/pts/8
14:11:41
#!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) {
/dev/pts/17
14:11:41
#!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) {
/dev/pts/0
14:11:41
#!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) {
/dev/pts/16
14:11:41
#!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) {
/dev/pts/8
14:12:24
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");
}
/dev/pts/17
14:12:24
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) {
/dev/pts/0
14:12:24
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) {

Файлы

  • /var/lib/as
  • /var/lib/asterisk/
  • /var/lib/as
    >
    aspell/   asterisk/
    
    /var/lib/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
    Частота использования команд
    ~20|==================| 18.52%
    vim20|==================| 18.52%
    !v16|==============| 14.81%
    !ast12|===========| 11.11%
    apt-get8|=======| 7.41%
    $AGI->7|======| 6.48%
    [4|===| 3.70%
    stream_file($wavefile)4|===| 3.70%
    date4|===| 3.70%
    wavefile4|===| 3.70%
    '.basename($wavefile,".wav"))3|==| 2.78%
    less2|=| 1.85%
    cat2|=| 1.85%
    perl1|| 0.93%
    ls1|| 0.93%
    ____
    *) Интервалы неактивности длительностью 30 минут и более не учитываются

    Справка

    Для того чтобы использовать LiLaLo, не нужно знать ничего особенного: всё происходит само собой. Однако, чтобы ведение и последующее использование журналов было как можно более эффективным, желательно иметь в виду следующее:
    1. В журнал автоматически попадают все команды, данные в любом терминале системы.

    2. Для того чтобы убедиться, что журнал на текущем терминале ведётся, и команды записываются, дайте команду w. В поле WHAT, соответствующем текущему терминалу, должна быть указана программа script.

    3. Команды, при наборе которых были допущены синтаксические ошибки, выводятся перечёркнутым текстом:
      $ l s-l
      bash: l: command not found
      

    4. Если код завершения команды равен нулю, команда была выполнена без ошибок. Команды, код завершения которых отличен от нуля, выделяются цветом.
      $ test 5 -lt 4
      Обратите внимание на то, что код завершения команды может быть отличен от нуля не только в тех случаях, когда команда была выполнена с ошибкой. Многие команды используют код завершения, например, для того чтобы показать результаты проверки

    5. Команды, ход выполнения которых был прерван пользователем, выделяются цветом.
      $ 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
      

    6. Команды, выполненные с привилегиями суперпользователя, выделяются слева красной чертой.
      # id
      uid=0(root) gid=0(root) Gruppen=0(root)
      

    7. Изменения, внесённые в текстовый файл с помощью редактора, запоминаются и показываются в журнале в формате ed. Строки, начинающиеся символом "<", удалены, а строки, начинающиеся символом ">" -- добавлены.
      $ vi ~/.bashrc
      2a3,5
      >    if [ -f /usr/local/etc/bash_completion ]; then
      >         . /usr/local/etc/bash_completion
      >        fi
      

    8. Для того чтобы изменить файл в соответствии с показанными в диффшоте изменениями, можно воспользоваться командой patch. Нужно скопировать изменения, запустить программу patch, указав в качестве её аргумента файл, к которому применяются изменения, и всавить скопированный текст:
      $ patch ~/.bashrc
      В данном случае изменения применяются к файлу ~/.bashrc

    9. Для того чтобы получить краткую справочную информацию о команде, нужно подвести к ней мышь. Во всплывающей подсказке появится краткое описание команды.

      Если справочная информация о команде есть, команда выделяется голубым фоном, например: vi. Если справочная информация отсутствует, команда выделяется розовым фоном, например: notepad.exe. Справочная информация может отсутствовать в том случае, если (1) команда введена неверно; (2) если распознавание команды LiLaLo выполнено неверно; (3) если информация о команде неизвестна LiLaLo. Последнее возможно для редких команд.

    10. Большие, в особенности многострочные, всплывающие подсказки лучше всего показываются браузерами KDE Konqueror, Apple Safari и Microsoft Internet Explorer. В браузерах Mozilla и Firefox они отображаются не полностью, а вместо перевода строки выводится специальный символ.

    11. Время ввода команды, показанное в журнале, соответствует времени начала ввода командной строки, которое равно тому моменту, когда на терминале появилось приглашение интерпретатора

    12. Имя терминала, на котором была введена команда, показано в специальном блоке. Этот блок показывается только в том случае, если терминал текущей команды отличается от терминала предыдущей.

    13. Вывод не интересующих вас в настоящий момент элементов журнала, таких как время, имя терминала и других, можно отключить. Для этого нужно воспользоваться формой управления журналом вверху страницы.

    14. Небольшие комментарии к командам можно вставлять прямо из командной строки. Комментарий вводится прямо в командную строку, после символов #^ или #v. Символы ^ и v показывают направление выбора команды, к которой относится комментарий: ^ - к предыдущей, v - к следующей. Например, если в командной строке было введено:

      $ whoami
      
      user
      
      $ #^ Интересно, кто я?
      
      в журнале это будет выглядеть так:
      $ whoami
      
      user
      
      Интересно, кто я?

    15. Если комментарий содержит несколько строк, его можно вставить в журнал следующим образом:

      $ whoami
      
      user
      
      $ cat > /dev/null #^ Интересно, кто я?
      
      Программа whoami выводит имя пользователя, под которым 
      мы зарегистрировались в системе.
      -
      Она не может ответить на вопрос о нашем назначении 
      в этом мире.
      
      В журнале это будет выглядеть так:
      $ whoami
      user
      
      Интересно, кто я?
      Программа whoami выводит имя пользователя, под которым
      мы зарегистрировались в системе.

      Она не может ответить на вопрос о нашем назначении
      в этом мире.
      Для разделения нескольких абзацев между собой используйте символ "-", один в строке.

    16. Комментарии, не относящиеся непосредственно ни к какой из команд, добавляются точно таким же способом, только вместо симолов #^ или #v нужно использовать символы #=

    17. Содержимое файла может быть показано в журнале. Для этого его нужно вывести с помощью программы cat. Если вывод команды отметить симоволами #!, содержимое файла будет показано в журнале в специально отведённой для этого секции.
    18. Для того чтобы вставить скриншот интересующего вас окна в журнал, нужно воспользоваться командой l3shot. После того как команда вызвана, нужно с помощью мыши выбрать окно, которое должно быть в журнале.
    19. Команды в журнале расположены в хронологическом порядке. Если две команды давались одна за другой, но на разных терминалах, в журнале они будут рядом, даже если они не имеют друг к другу никакого отношения.
      1
          2
      3   
          4
      
      Группы команд, выполненных на разных терминалах, разделяются специальной линией. Под этой линией в правом углу показано имя терминала, на котором выполнялись команды. Для того чтобы посмотреть команды только одного сенса, нужно щёкнуть по этому названию.

    О программе

    LiLaLo (L3) расшифровывается как Live Lab Log.
    Программа разработана для повышения эффективности обучения Unix/Linux-системам.
    (c) Игорь Чубин, 2004-2008

    $Id$