Changeset 2471
- Timestamp:
- 03/20/08 12:05:43 (10 months ago)
- Files:
-
- Trunk/Scripts/Audio_scripts/AudioBooks/MissingWordsCleanup.pl (modified) (3 diffs)
- Trunk/Scripts/Audio_scripts/AudioBooks/fullrun.pl (added)
- Trunk/Scripts/Audio_scripts/Repository.pm (modified) (3 diffs)
- Trunk/Scripts/Audio_scripts/UserSubmission.pm (modified) (7 diffs)
- Trunk/Scripts/Mirroring_scripts/LocalUserSubmissionValidation.pl (modified) (1 diff)
- Trunk/Scripts/Mirroring_scripts/RunDaily.pl (modified) (3 diffs)
- Trunk/Scripts/Mirroring_scripts/RunDaily_preprocessing.pl (modified) (2 diffs)
- Trunk/Scripts/Mirroring_scripts/Single_WebGUIForum.pm (modified) (2 diffs)
- Trunk/Scripts/Mirroring_scripts/VoxForge_config.pm (modified) (3 diffs)
- Trunk/Scripts/Mirroring_scripts/VoxForge_config_testing.pm (modified) (7 diffs)
- Trunk/Scripts/Mirroring_scripts/etc/wgetGerman.sh (added)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
Trunk/Scripts/Audio_scripts/AudioBooks/MissingWordsCleanup.pl
r2270 r2471 13 13 ### This program is free software; you can redistribute it and/or 14 14 ### modify it under the terms of the GNU General Public License 15 ### as published by the Free Software Foundation; either version 315 ### as published by the Free Software Foundation; either version 2 16 16 ### of the License, or (at your option) any later version. 17 17 ### … … 31 31 my $debug =1; 32 32 # Festival can't process some words with single quotes - these need to be hand-edited in the "MissingWords" File before running this program! 33 open(MISSINGWORDS,"MissingWords") or die ("cannot open MissingWords file"); 34 my(@lines) = <MISSINGWORDS>; 35 close MISSINGWORDS; 36 37 open(MISSINGWORDS,">MissingWords") or die ("cannot open MissingWords file"); 38 foreach my $line (@lines) { 39 if ($line =~ /\'/) { 40 my $formatedline = $line; 41 $formatedline =~ s/\n//g; 42 print "!!!!!!Check this word: before:$formatedline;"; 43 $line =~ s/\'//g; # remove single quote 44 print "after:$line"; 45 46 } 47 print MISSINGWORDS $line; 48 } 49 close MISSINGWORDS; 50 33 51 my $festivalcommand = q|#!/usr/bin/festival --script 34 52 (let … … 71 89 if (!($line =~ /festival>/)) { 72 90 print OUT "$filename [$filename] @line\n"; 91 print "$filename [$filename] @line\n"; 73 92 } 74 93 } Trunk/Scripts/Audio_scripts/Repository.pm
r2422 r2471 45 45 sub Main { 46 46 my ($parms ) = @_; 47 my $debug = $$parms{"debug"}; 48 my $QuarantineDir = $$parms{"QuarantineDir"}; 49 my $ToBeProcessedDir = $$parms{"ToBeProcessedDir"}; 50 my $ScriptsDirectory = $$parms{"ScriptsDirectory"}; 51 my $AudioDirectory = $$parms{"AudioDirectory"}; 52 47 #!!!!!! 48 #my $debug = $$parms{"debug"}; 49 #my $QuarantineDir = $$parms{"QuarantineDir"}; 50 #my $ToBeProcessedDir = $$parms{"ToBeProcessedDir"}; 51 #my $AudioDirectory = $$parms{"AudioDirectory"}; 52 my $ScriptsDirectory = $$parms{"ScriptsDirectory"}; 53 my $debug = $parms->getDebug; 54 my $QuarantineDir = $parms->getQuarantineDir; 55 my $ToBeProcessedDir = $parms->getToBeProcessedDir; 56 53 57 my($dirlist) = ReadDir($ToBeProcessedDir); # $dirlist is a pointer to array created in ReadDir 54 58 my %ProcessedUserSubmissions; 55 59 foreach my $AudioDirName (@$dirlist) { 56 60 my $readme = UserSubmission::README->new($parms, "$ToBeProcessedDir/$AudioDirName/etc/README"); 57 61 # !!!!!! 62 $parms->setSpeechCorpusLanguage($readme->getLanguage()); 63 my $AudioDirectory = $parms->getAudioDirectory; 64 #!!!!!! 58 65 $$parms{"AudioSubdirectory"} = $readme->getFiletype(); # set to wav or flac based on README contents 59 66 my $OriginalAudioRateDir = $readme->getSamplingrate() . "_" . $readme->getSamplingrateformat() ; … … 73 80 $$parms{"path_mfcc"} = "$AudioDirectory/MFCC/" . $$parms{"TargetAudioRateDir"} . "/" . $$parms{"HTK_ParameterKind"}; 74 81 Repository::Main::Process($parms, $AudioDirName, $readme) || confess "Repository error: $?"; 75 Repository::Mfcc::Create($parms, $AudioDirName) || confess "Repository error: $?"; 76 UserSubmission::PROMPTS::UpdateMasterPrompts($parms, $AudioDirName, $$parms{"PromptsFile_8kHz-16bit"} ) || confess "Repository error: $?"; 77 82 Repository::Mfcc::Create($parms, $AudioDirName) || confess "Repository error: $?"; 83 # !!!!!! 84 if ($readme->getLanguage() =~ /EN/) { 85 UserSubmission::PROMPTS::UpdateMasterPrompts($parms, $AudioDirName, $$parms{"PromptsFile_8kHz-16bit"} ) || confess "Repository error: $?"; 86 } 87 # !!!!!! 78 88 # target 16kHz:16bit, MFCC_0_D 79 89 my $samplingrate = $readme->getSamplingrate(); … … 85 95 Repository::Main::Process($parms, $AudioDirName, $readme) || confess "Repository error: $?"; 86 96 Repository::Mfcc::Create($parms, $AudioDirName) || confess "Repository error: $?"; 87 UserSubmission::PROMPTS::UpdateMasterPrompts($parms, $AudioDirName, $$parms{"PromptsFile_16kHz-16bit"} ) || confess "Repository error: $?"; 97 # !!!!!! 98 if ($readme->getLanguage() =~ /EN/) { 99 UserSubmission::PROMPTS::UpdateMasterPrompts($parms, $AudioDirName, $$parms{"PromptsFile_16kHz-16bit"} ) || confess "Repository error: $?"; 100 } 101 # !!!!!! 88 102 } else { 89 103 print "$AudioDirectory audio is less than 16Khz. No migration to Main/16kHz-16bit to avoid upsampling audio data\n"; Trunk/Scripts/Audio_scripts/UserSubmission.pm
r2461 r2471 57 57 sub Main { 58 58 my ($parms ) = @_; 59 my $debug = $$parms{"debug"}; 60 my $QuarantineDir = $$parms{"QuarantineDir"}; 59 # !!!!!! 60 #my $debug = $$parms{"debug"}; 61 #my $QuarantineDir = $$parms{"QuarantineDir"}; 62 my $debug = $parms->getDebug; 63 my $QuarantineDir = $parms->getQuarantineDir; 64 # !!!!!! 61 65 my($tarlist) = ReadTarDir($QuarantineDir); # $tarlist is a pointer to array created in ReadTarDir 62 66 my %directorynames; … … 79 83 } 80 84 # !!!!!! 81 #UserSubmission::PROMPTS::Clean($parms, $audio_dir_name, $readme) || confess "UserSubmission error: $?"; # creates reformatted prompts file for processing with HVite and later merging into Master_Prompts 82 #UserSubmission::PROMPTS::Validation($parms, $audio_dir_name) || confess "UserSubmission error: $?"; # use HDMan to run prompts against VoxForge Dictionnary 83 my $prompts = UserSubmission::PROMPTS->new($parms, $audio_dir_name, $readme); 84 if ($prompts->getError) { 85 confess "UserSubmission error: $prompts->getErrorMessage\n"; 86 } 87 #my $numberofPromptstoProcess = 10; 88 #$audio->Audio2PromptsValidation($parms, $audio_dir_name,$numberofPromptstoProcess) || confess "UserSubmission error: $?" ; # partial AM training session using audio data to see if HVite has any problems trying to re-align the data - if it does, then audio does not match transcription 89 #$audio->Audio2PromptsValidation($parms, $audio_dir_name,$prompts) || confess "UserSubmission error: $?" ; # partial AM training session using audio data to see if HVite has any problems trying to re-align the data - if it does, then audio does not match transcription 90 $audio->Audio2PromptsValidation($prompts) || confess "UserSubmission error: $?" ; # partial AM training session using audio data to see if HVite has any problems trying to re-align the data - if it does, then audio does not match transcription 91 if ($audio->getError) { 92 confess "UserSubmission error: $audio->getErrorMessage" ; 85 if ($readme->getLanguage() =~ /EN/) { 86 my $prompts = UserSubmission::PROMPTS->new($parms, $audio_dir_name, $readme); 87 if ($prompts->getError) { 88 confess "UserSubmission error: $prompts->getErrorMessage\n"; 89 } 90 $audio->Audio2PromptsValidation($prompts) || confess "UserSubmission error: $?" ; # partial AM training session using audio data to see if HVite has any problems trying to re-align the data - if it does, then audio does not match transcription 91 if ($audio->getError) { 92 confess "UserSubmission error: $audio->getErrorMessage" ; 93 } 93 94 } 94 95 # !!!!!! … … 114 115 sub Convert2Unix { 115 116 my ($parms, $audio_dir_name ) = @_; 116 my $debug = $$parms{"debug"}; 117 my $QuarantineDir = $$parms{"QuarantineDir"}; 118 117 # !!!!!! 118 #my $debug = $$parms{"debug"}; 119 #my $QuarantineDir = $$parms{"QuarantineDir"}; 120 my $debug = $parms->getDebug; 121 my $QuarantineDir = $parms->getQuarantineDir; 122 # !!!!!! 119 123 opendir(DIR, "$QuarantineDir/$audio_dir_name") || confess ("Unable to open directory: $QuarantineDir/$audio_dir_name\n"); 120 124 while (my $filename = readdir(DIR)) { … … 169 173 #to do look at Archive::Extract Cpan Module to handle tar tgz tar.gz and zip extractions ... 170 174 my ($parms, $filename, $suffix, $tarfile) = @_; 171 my $debug = $$parms{"debug"}; 172 my $QuarantineDir = $$parms{"QuarantineDir"}; 173 174 175 # !!!!!! 176 #my $debug = $$parms{"debug"}; 177 #my $QuarantineDir = $$parms{"QuarantineDir"}; 178 my $debug = $parms->getDebug; 179 my $QuarantineDir = $parms->getQuarantineDir; 180 # !!!!!! 175 181 my (@clamscan_output, $clamscan_results); 176 182 #$command = ("freshclam"); print "$command\n"; system($command) == 0 or confess "system $command failed: $?"; … … 232 238 sub ValidateFilenames { 233 239 my ($parms, $AudioDirName) = @_; 234 my $debug = $$parms{"debug"}; 240 # !!!!!! 241 #my $debug = $$parms{"debug"}; 242 # !!!!!! 235 243 # check that user used PROMPTS & README for filenames 236 244 # windows defaults to prompts.txt … … 242 250 243 251 sub Copy2ToBeProcessed { 244 # !!!!!!245 #my ($parms, $audio_dir_name, $filetype) = @_;246 252 my ($parms, $audio_dir_name, $filetype, $audio) = @_; 247 # !!!!!! 248 my $debug = $$parms{"debug"}; 249 my $QuarantineDir = $$parms{"QuarantineDir"}; 250 my $ToBeProcessedDir = $$parms{"ToBeProcessedDir"}; 251 # !!!!!! 252 #UserSubmission::AUDIO::Finalize($parms, $audio_dir_name, $filetype) || confess "UserSubmission error: $?" ; 253 # !!!!!! 254 #my $debug = $$parms{"debug"}; 255 #my $QuarantineDir = $$parms{"QuarantineDir"}; 256 # my $ToBeProcessedDir = $$parms{"ToBeProcessedDir"}; 257 my $debug = $parms->getDebug; 258 my $QuarantineDir = $parms->getQuarantineDir; 259 my $ToBeProcessedDir = $parms-> getToBeProcessedDir; 260 # !!!!!! 253 261 $audio->Finalize($parms, $audio_dir_name, $filetype); 254 262 if ($audio->getError) { 255 263 confess "UserSubmission error: $audio->getErrorMessage" ; 256 264 } 257 # !!!!!!258 265 $command = ("rm -rf $ToBeProcessedDir/$audio_dir_name"); print "$command\n" if $debug; system($command) ; 259 266 $command = ("mkdir $ToBeProcessedDir/$audio_dir_name $ToBeProcessedDir/$audio_dir_name/etc"); print "$command\n" if $debug; system($command) ; 260 # !!!!!!261 #UserSubmission::AUDIO::Copy2ToBeProcessed($parms, $audio_dir_name, $filetype) || confess "UserSubmission error: $?" ;262 267 $audio->Copy2ToBeProcessed($parms, $audio_dir_name, $filetype); 263 268 if ($audio->getError) { 264 269 confess "UserSubmission error: $audio->getErrorMessage" ; 265 270 } 266 # !!!!!!267 271 if ($debug) { 268 272 $command = ("cp -f $QuarantineDir/$audio_dir_name/* $ToBeProcessedDir/$audio_dir_name/etc"); print "$command\n"; system($command) ; # return value usually says "cp: omitting directory `/data/quarantine/granthulbert-ar-01032007/wav'" … … 283 287 sub Cleanup { 284 288 my ($parms, $audio_dir_name) = @_; 285 my $debug = $$parms{"debug"}; 286 my $QuarantineDir = $$parms{"QuarantineDir"}; 287 my $ToBeProcessedDir = $$parms{"ToBeProcessedDir"}; 288 289 $command = ("rm -rf $QuarantineDir/$audio_dir_name"); print "$command\n" if $debug; system($command) == 0 or confess "system $command failed: $?"; # remove hidden backup files 290 $command = ("rm -f $QuarantineDir/$audio_dir_name\.zip $QuarantineDir/$audio_dir_name\.tgz $QuarantineDir/$audio_dir_name\.tar.gz "); print "$command\n" if $debug; system($command) == 0 or confess "system $command failed: $?"; # remove hidden backup files 291 $command = ("rm -rf $ToBeProcessedDir/$audio_dir_name"); print "$command\n" if $debug; system($command) == 0 or confess "system $command failed: $?"; # remove hidden backup files 289 # !!!!!! 290 #my $debug = $$parms{"debug"}; 291 #my $QuarantineDir = $$parms{"QuarantineDir"}; 292 #my $ToBeProcessedDir = $$parms{"ToBeProcessedDir"}; 293 #$command = ("rm -rf $QuarantineDir/$audio_dir_name"); print "$command\n" if $debug; system($command) == 0 or confess "system $command failed: $?"; # remove hidden backup files 294 #$command = ("rm -f $QuarantineDir/$audio_dir_name\.zip $QuarantineDir/$audio_dir_name\.tgz $QuarantineDir/$audio_dir_name\.tar.gz "); print "$command\n" if $debug; system($command) == 0 or confess "system $command failed: $?"; # remove hidden backup files 295 #$command = ("rm -rf $ToBeProcessedDir/$audio_dir_name"); print "$command\n" if $debug; system($command) == 0 or confess "system $command failed: $?"; # remove hidden backup files 296 $command = ("rm -rf $parms->getQuarantineDir/$audio_dir_name"); print "$command\n" if $parms->getDebug; system($command) == 0 or confess "system $command failed: $?"; # remove hidden backup files 297 $command = ("rm -f $parms->getQuarantineDir/$audio_dir_name\.zip $parms->getQuarantineDir/$audio_dir_name\.tgz $parms->getQuarantineDir/$audio_dir_name.tar.gz "); print "$command\n" if $parms->getDebug; system($command) == 0 or confess "system $command failed: $?"; # remove hidden backup files 298 $command = ("rm -rf $parms->getToBeProcessedDir/$audio_dir_name"); print "$command\n" if $parms->getDebug; system($command) == 0 or confess "system $command failed: $?"; # remove hidden backup files 299 # !!!!!! 292 300 return 1; 293 301 } Trunk/Scripts/Mirroring_scripts/LocalUserSubmissionValidation.pl
r2270 r2471 31 31 #use VoxForge_config; 32 32 #my $parms = VoxForge_config::getParms; 33 use VoxForge_config_testing; 34 my $parms = VoxForge_config_testing::getParms; 33 use VoxForge_config_testing; 34 # !!!!!! 35 #my $parms = VoxForge_config_testing::getParms; 36 my $parms = VoxForge_config_testing->new(); 37 # !!!!!! 35 38 #overrides 36 39 #$$parms{"testing"} = 1; # not required Trunk/Scripts/Mirroring_scripts/RunDaily.pl
r2427 r2471 30 30 ### 0.1.7 - 2007.8.22 - add Flac audio processing 31 31 ### 0.1.8 - 2008.1.22 - addition of WebGUIForumUpdate module & convert README module to a class 32 ### 0.1.9 - 2008.3.20 - refactor VoxForge_config to a class 32 33 #################################################################### 33 34 package RunDaily; … … 58 59 59 60 #use VoxForge_config_testing; # for testing 60 #my $parms = VoxForge_config_testing ::getParms;61 #my $parms = VoxForge_config_testing->new(); 61 62 use VoxForge_config; # no parenthesis in order to import %parm into this namespace 62 my $parms = VoxForge_config::getParms; 63 my %parms = %$parms; 64 # !!!!!! 63 # !!!!!! 64 #my $parms = VoxForge_config::getParms; 65 #my %parms = %$parms; 66 my $parms = VoxForge_config->new(); 67 # !!!!!! 65 68 my $command; 66 69 #################################################################### 67 70 # parms 68 my $testing = $parms{"testing"} ; 69 my $dir = $parms{"MirroringScripts_dir"}; 70 my $HTKdir = $parms{"HTK_dir"}; 71 my $Audio_scriptsdir = $parms{"AudioScripts_dir"}; 72 my $QSdir = $parms{"QSdir"}; 73 my $debug = $parms{"debug"}; 74 my $HTKbin = $parms{"HTKBin"}; 75 my $MirroringScripts_dir = $parms{"MirroringScripts_dir"}; 76 my $Nightly_dirname = $parms{"Nightly_dirname"}; 77 my $MakeFiles_dir = $parms{"MakeFiles_dir"}; 71 # !!!!!! 72 #my $testing = $parms{"testing"}; 73 #my $dir = $parms{"MirroringScripts_dir"}; 74 #my $HTKdir = $parms{"HTK_dir"}; 75 #my $Audio_scriptsdir = $parms{"AudioScripts_dir"}; 76 #my $QSdir = $parms{"QSdir"}; 77 #my $debug = $parms{"debug"}; 78 #my $HTKbin = $parms{"HTKBin"}; 79 #my $MirroringScripts_dir = $parms{"MirroringScripts_dir"}; 80 #my $Nightly_dirname = $parms{"Nightly_dirname"}; 81 #my $MakeFiles_dir = $parms{"MakeFiles_dir"}; 82 # !!!!!! 78 83 #################################################################### 79 84 ### Main 80 85 #################################################################### 81 UserSubmission::Main(\%parms) || confess "UserSubmissions error: $?"; 82 (my $ProcessedUserSubmissions = 83 Repository::Main(\%parms)) || confess "Repository error: $?"; # watch ""||"" because it changes left-side to scalar context, and only last item in list is transferred! 84 AcousticModel::Create(\%parms) || confess "UserSubmissions error: $?"; 85 NightlyTest::Process(\%parms) || confess "UserSubmissions error: $?"; 86 TarFiles::Create($parms) || confess "UserSubmissions error: $?"; 87 UserMetrics::Process(\%parms) || confess "UserSubmissions error: $?"; 86 # !!!!!! 87 #UserSubmission::Main(\%parms) || confess "UserSubmissions error: $?"; 88 #(my $ProcessedUserSubmissions = Repository::Main(\%parms)) 89 # || confess "Repository error: $?"; # watch ""||"" because it changes left-side to scalar context, and only last item in list is transferred! 90 #AcousticModel::Create(\%parms) || confess "UserSubmissions error: $?"; 91 #NightlyTest::Process(\%parms) || confess "UserSubmissions error: $?"; 92 #TarFiles::Create($parms) || confess "UserSubmissions error: $?"; 93 #UserMetrics::Process(\%parms) || confess "UserSubmissions error: $?"; 94 #Rsync() || confess "UserSubmissions error: $?"; 95 #WebGUIForum::Update(\%parms, $ProcessedUserSubmissions, 'speechsubmission', 'xxxxx') || confess "UserSubmissions error: $?"; 96 97 UserSubmission::Main($parms) || confess "UserSubmissions error: $?"; 98 (my $ProcessedUserSubmissions = Repository::Main(\%parms)) 99 || confess "Repository error: $?"; # watch ""||"" because it changes left-side to scalar context, and only last item in list is transferred! 100 AcousticModel::Create($parms) || confess "UserSubmissions error: $?"; # only processes audio in English Master Prompts files 101 NightlyTest::Process($parms) || confess "UserSubmissions error: $?"; # English only 102 TarFiles::Create($parms) || confess "UserSubmissions error: $?"; 103 UserMetrics::Process($parms) || confess "UserSubmissions error: $?"; # English only 88 104 Rsync() || confess "UserSubmissions error: $?"; 89 WebGUIForum::Update(\%parms, $ProcessedUserSubmissions, 'speechsubmission', 'xxxxx') || confess "UserSubmissions error: $?"; 105 WebGUIForum::Update($parms, $ProcessedUserSubmissions, 'speechsubmission', 'xxxxx') || confess "UserSubmissions error: $?"; 106 # !!!!!! 90 107 91 108 print STDOUT "!!!!!!run_daily completed\n"; … … 97 114 print "\nRsync starting****************************************************\n\n"; 98 115 # Mirror files to VoxForge repository 99 $command = ("rsync -r -v -t /data/svn-tarfiles/SpeechCorpus/Trunk -e ssh user\@voxforge1\.org\:downloads/SpeechCorpus --stats"); print "***$command\n";system($command) == 0 or confess "system $command failed: $?"; 116 $command = ("rsync -r -v -t /data/svn-tarfiles/SpeechCorpus/Trunk -e ssh user\@voxforge1\.org\:downloads/SpeechCorpus --stats"); print "***$command\n";system($command) == 0 or confess "system $command failed: $?"; 117 # !!!!!! 118 $command = ("rsync -r -v -t /data/svn-tarfiles/de/Trunk -e ssh user\@voxforge1\.org\:downloads/SpeechCorpus --stats"); print "***$command\n";system($command) == 0 or confess "system $command failed: $?"; 119 $command = ("rsync -r -v -t /data/svn-tarfiles/Dutch/Trunk -e ssh user\@voxforge1\.org\:downloads/SpeechCorpus --stats"); print "***$command\n";system($command) == 0 or confess "system $command failed: $?"; 120 # !!!!!! 100 121 $command = ("rsync -r -v -t /data/svn-tarfiles/Main/Trunk -e ssh user\@voxforge1\.org\:downloads/Main --stats"); print "***$command\n";system($command) == 0 or confess "system $command failed: $?"; 101 122 $command = ("rsync -r -v -t /data/svn-tarfiles/Main/Tags -e ssh user\@voxforge1\.org\:downloads/Main --stats"); print "***$command\n"; system($command) == 0 or confess "system $command failed: $?"; Trunk/Scripts/Mirroring_scripts/RunDaily_preprocessing.pl
r2391 r2471 13 13 ### This program is free software; you can redistribute it and/or 14 14 ### modify it under the terms of the GNU General Public License 15 ### as published by the Free Software Foundation; either version 315 ### as published by the Free Software Foundation; either version 2 16 16 ### of the License, or (at your option) any later version. 17 17 ### … … 51 51 $command = ("svn update /data/svn-mirror/Main/Tags"); print "$command\n" if $debug;system($command) == 0 or die "system $command failed: $?"; 52 52 $command = ("svn update /data/svn-mirror/SpeechCorpus/Trunk"); print "$command\n" if $debug;system($command) == 0 or die "system $command failed: $?"; 53 $command = ("svn update /data/svn-mirror/Russian/Trunk"); print "$command\n" if $debug;system($command) == 0 or die "system $command failed: $?"; 53 54 # !!!!!! 54 $command = ("svn update /data/svn-mirror/Russian/Trunk"); print "$command\n" if $debug;system($command) == 0 or die "system $command failed: $?"; 55 $command = ("svn update /data/svn-mirror/de/Trunk"); print "$command\n" if $debug;system($command) == 0 or die "system $command failed: $?"; 56 $command = ("svn update /data/svn-mirror/Dutch/Trunk"); print "$command\n" if $debug;system($command) == 0 or die "system $command failed: $?"; 57 55 58 # !!!!!! 56 59 return 1; Trunk/Scripts/Mirroring_scripts/Single_WebGUIForum.pm
r2464 r2471 30 30 my $parms = VoxForge_config::getParms; 31 31 32 use WebGUIForum; 32 use WebGUIForum; 33 33 34 34 use lib '../Audio_scripts'; … … 36 36 my %ProcessedUserSubmissions; 37 37 my $command; 38 my ($promptspath, $readmepath, $licensepath); 39 my ($path_original,$AudioDirName,$tarfile); 38 40 #################################################################### 39 41 ### Directory 40 42 #################################################################### 41 #my $AudioDirName="NL-JohanLingen-20080302-das[1496202351].zip"; 42 my $path_original ="/home/kmaclean/temp2"; 43 my $tarfile ="DE-anonymous-20080303-svq[186061628].zip"; # if undef than attachment does not get processed by LWP! 44 my $prefix ="DE-"; # prefix to remove from submission 45 #################################################################### 46 print "tarfile1:$path_original/$tarfile\n"; 47 if ($tarfile =~ /\[.*\]/) { 48 # can't get this to work with Archive::Extract??: 49 my $newDirectoryName = $tarfile; 50 $newDirectoryName =~ s/$prefix//; 51 $newDirectoryName =~ s/\[.*\]//; 52 rename("$path_original/$tarfile", "$path_original/$newDirectoryName") || confess "error:tar file not found, cannot rename: $?"; 53 $tarfile = $newDirectoryName; 43 if (1) { #upload tarfile to WebGUI; Dutch, German 44 $path_original ="/home/kmaclean/temp2"; 45 $tarfile ="DE-pszacherski-20080319-xfa[1651948606].zip"; # if undef then attachment does not get processed by LWP! 46 my $prefix ="DE-"; # prefix to remove from submission 47 #################################################################### 48 print "tarfile1:$path_original/$tarfile\n"; 49 if ($tarfile =~ /\[.*\]/) { 50 # can't get this to work with Archive::Extract??: 51 my $newDirectoryName = $tarfile; 52 $newDirectoryName =~ s/$prefix//; 53 $newDirectoryName =~ s/\[.*\]//; 54 rename("$path_original/$tarfile", "$path_original/$newDirectoryName") || confess "error:tar file not found, cannot rename: $?"; 55 $tarfile = $newDirectoryName; 56 } 57 print "tarfile2:$path_original/$tarfile\n"; 58 my @suffixlist = ("tgz", "tar\.gz", "zip"); 59 my ($path,$suffix); 60 ($AudioDirName,$path,$suffix) = fileparse($tarfile,@suffixlist); 61 $AudioDirName =~ s/\.$//; # remove trailing period that fileparse does not remove for some reason?? 62 print "AudioDirName:$AudioDirName\n"; 63 64 my $ae = Archive::Extract->new( archive => "$path_original/$tarfile" ); 65 $ae->extract( to => "$path_original/$AudioDirName") or die $ae->error;; 66 ##########submission with tarfile as attachment: 67 $promptspath = "$path_original/$AudioDirName/prompts.txt"; 68 $readmepath = "$path_original/$AudioDirName/readme.txt"; 69 $licensepath = "$path_original/$AudioDirName/license.txt"; 70 } else { #no tarfile to upload, only a link to 1&1 voxforge repository; English only 71 ##########fix submission that did not work properly; no tarfile to upload since linking to voxforge1.org 72 $path_original ="/mnt/Finch_Root/data/svn-mirror/SpeechCorpus/Trunk/Audio/Original/48kHz_16bit"; 73 $AudioDirName="JohanLingen-20080306-zqm"; 74 $readmepath = "$path_original/$AudioDirName/etc/README"; 75 $promptspath = "$path_original/$AudioDirName/etc/prompts-original"; 76 $licensepath = "$path_original/$AudioDirName/LICENSE"; 77 $tarfile = undef; 54 78 } 55 print "tarfile2:$path_original/$tarfile\n";56 my @suffixlist = ("tgz", "tar\.gz", "zip");57 my ($AudioDirName,$path,$suffix) = fileparse($tarfile,@suffixlist);58 $AudioDirName =~ s/\.$//; # remove trailing period that fileparse does not remove for some reason??59 print "AudioDirName:$AudioDirName\n";60 61 my $ae = Archive::Extract->new( archive => "$path_original/$tarfile" );62 $ae->extract( to => "$path_original/$AudioDirName") or die $ae->error;;63 ##########submission with tarfile as attachment:64 my $promptspath = "$path_original/$AudioDirName/prompts.txt";65 my $readmepath = "$path_original/$AudioDirName/readme.txt";66 my $licensepath = "$path_original/$AudioDirName/license.txt";67 68 ##########fix submission that did not work properly; no tarfile to upload since linking to voxforge1.org69 #my $readmepath = "$path_original/$AudioDirName/etc/README";70 #my $promptspath = "$path_original/$AudioDirName/etc/prompts-original";71 #my $licensepath = "$path_original/$AudioDirName/LICENSE";72 #my $tarfile = undef;73 79 #################################################################### 74 80 ### Main Trunk/Scripts/Mirroring_scripts/VoxForge_config.pm
r2270 r2471 7 7 ### Date: 2007.04.23 8 8 ### Command: ./VoxForge_config.pm 9 ### Version: 0.1 9 ### Version: 0.1.1 10 10 ### 11 11 ### Copyright (C) 2007 Ken MacLean … … 21 21 ### GNU General Public License for more details. 22 22 ### 23 ### 0.1.1 - 2008.3.20 - refactor to a class 23 24 #################################################################### 24 25 package VoxForge_config; 25 26 use POSIX qw(strftime); 26 27 use strict; 28 use diagnostics; 29 use Carp; 30 #################################################################### 31 ### Class Variables 32 #################################################################### 27 33 34 #################################################################### 35 ### Constructor 36 #################################################################### 37 sub new { 38 my ($class, $language) = @_; 39 my %parms; 40 my $self = \%parms; 41 bless($self,$class); 42 $self->getParms; 43 $self->setSpeechCorpusLanguage("EN"); #default = english 44 return $self; 45 } 46 47 #################################################################### 48 ### Class Methods 49 #################################################################### 28 50 sub getParms { 29 my %parms; 30 $parms{"testing"} = 0; 31 $parms{"debug"} = 1; 32 #################################################################### 33 # Speech Corpus Location 34 $parms{"_SpeechCorpus"} = "/data/svn-mirror/SpeechCorpus/Trunk"; 35 $parms{"AudioDirectory"} = $parms{"_SpeechCorpus"}."/Audio"; 36 $parms{"Main_8kHz_16bit"} = $parms{"AudioDirectory"} . "/Main/8kHz_16bit"; # user metrics uses this 37 $parms{"LexiconDirectory"} = $parms{"_SpeechCorpus"}."/Lexicon"; 38 $parms{"_Prompts"} = $parms{"_SpeechCorpus"}."/Prompts"; 39 #$parms{"PromptsFile"} = $parms{"_Prompts"}."/test_prompts"; # for testing 40 $parms{"PromptsFile_16kHz-16bit"} = $parms{"_Prompts"}."/master_prompts_16kHz-16bit"; 41 $parms{"PromptsFile_8kHz-16bit"} = $parms{"_Prompts"}."/master_prompts_8kHz-16bit"; 42 #################################################################### 43 # Speech Corpus Releases directory - none yet ... 51 # !!!!!! 52 #my %parms; 53 my $parms = shift; 54 # !!!!! 55 $$parms{"testing"} = 0; 56 $$parms{"debug"} = 1; 44 57 45 58 #################################################################### … … 52 65 my $mday = strftime "%d", localtime; # %d numeric day of the month, with leading zeros (eg 01..31) 53 66 54 $ parms{"Nightly_dir"} = "/data/svn-mirror/Nightly_Builds";55 $parms{"Nightly_dirname"} =$parms{"Nightly_dir"}."/AcousticModel-$year-$mon-$mday";56 $parms{"NightlyAM_16kHz_16bit"} =$parms{"Nightly_dirname"}."/HTK/16kHz_16bit/MFCC_O_D";57 $parms{"NightlyAM_8kHz_16bit"} =$parms{"Nightly_dirname"}."/HTK/8kHz_16bit/MFCC_O_D";67 $$parms{"Nightly_dir"} = "/data/svn-mirror/Nightly_Builds"; 68 $$parms{"Nightly_dirname"} = $$parms{"Nightly_dir"}."/AcousticModel-$year-$mon-$mday"; 69 $$parms{"NightlyAM_16kHz_16bit"} = $$parms{"Nightly_dirname"}."/HTK/16kHz_16bit/MFCC_O_D"; 70 $$parms{"NightlyAM_8kHz_16bit"} = $$parms{"Nightly_dirname"}."/HTK/8kHz_16bit/MFCC_O_D"; 58 71 #################################################################### 59 72 # Script Location 60 $parms{"_Main"}= "/data/svn-mirror/Main/Trunk";61 $parms{"QSdir"} = $parms{"_Main"}."/QuickStart";62 $parms{"ScriptsDirectory"} = $parms{"_Main"}."/Scripts";63 $parms{"AudioScripts_dir"} =$parms{"ScriptsDirectory"}."/Audio_scripts";64 $parms{"Repository_dir"} =$parms{"AudioScripts_dir"}."/Repository";65 $parms{"UserSubmission_dir"} =$parms{"AudioScripts_dir"}."/UserSubmission";66 $parms{"AcousticModel_scripts"} =$parms{"ScriptsDirectory"}."/AcousticModel_scripts";67 $parms{"HTK_dir"} =$parms{"AcousticModel_scripts"}."/HTK/AMCreate_scripts";68 $parms{"MirroringScripts_dir"} =$parms{"ScriptsDirectory"}."/Mirroring_scripts";69 $parms{"TarFiles_dir"} =$parms{"MirroringScripts_dir"}."/TarFiles";70 $parms{"directories2mirror"} =$parms{"MirroringScripts_dir"}."/TarFiles/Audio/directories2mirror";71 $parms{"Testing_scripts_dir"} =$parms{"ScriptsDirectory"}."/Testing_scripts";72 $parms{"Nightly_test_dir"} =$parms{"Testing_scripts_dir"}."/NightlyTest";73 $parms{"Metrics_scripts_dir"} =$parms{"ScriptsDirectory"}."/Metrics_scripts";73 my $main = "/data/svn-mirror/Main/Trunk"; 74 $$parms{"QSdir"} = "$main/QuickStart"; 75 $$parms{"ScriptsDirectory"} = "$main/Scripts"; 76 $$parms{"AudioScripts_dir"} = $$parms{"ScriptsDirectory"}."/Audio_scripts"; 77 $$parms{"Repository_dir"} = $$parms{"AudioScripts_dir"}."/Repository"; 78 $$parms{"UserSubmission_dir"} = $$parms{"AudioScripts_dir"}."/UserSubmission"; 79 $$parms{"AcousticModel_scripts"} = $$parms{"ScriptsDirectory"}."/AcousticModel_scripts"; 80 $$parms{"HTK_dir"} = $$parms{"AcousticModel_scripts"}."/HTK/AMCreate_scripts"; 81 $$parms{"MirroringScripts_dir"} = $$parms{"ScriptsDirectory"}."/Mirroring_scripts"; 82 $$parms{"TarFiles_dir"} = $$parms{"MirroringScripts_dir"}."/TarFiles"; 83 $$parms{"directories2mirror"} = $$parms{"MirroringScripts_dir"}."/TarFiles/Audio/directories2mirror"; 84 $$parms{"Testing_scripts_dir"} = $$parms{"ScriptsDirectory"}."/Testing_scripts"; 85 $$parms{"Nightly_test_dir"} = $$parms{"Testing_scripts_dir"}."/NightlyTest"; 86 $$parms{"Metrics_scripts_dir"} = $$parms{"ScriptsDirectory"}."/Metrics_scripts"; 74 87 75 # $ parms{"directories2mirror"} = "TarFiles/Audio/directories2mirror-test"; # for testing76 $ parms{"Nightly_Builds-source"} = "/data/svn-mirror/Nightly_Builds"; # hardcoded in makefiles ...77 $ parms{"Nightly_Builds-target"} = "/data/svn-tarfiles/Nightly_Builds"; # hardcoded in makefiles ...88 # $$parms{"directories2mirror"} = "TarFiles/Audio/directories2mirror-test"; # for testing 89 $$parms{"Nightly_Builds-source"} = "/data/svn-mirror/Nightly_Builds"; # hardcoded in makefiles ... 90 $$parms{"Nightly_Builds-target"} = "/data/svn-tarfiles/Nightly_Builds"; # hardcoded in makefiles ... 78 91 #################################################################### 79 92 # Acoustic Model Releases directory 80 $ parms{"Tags"} = "/data/svn-mirror/Main/Tags/Releases/";81 $parms{"CurrentBuild_dir"} =$parms{"Tags"}."/0_1_1-build726";82 $parms{"CurrentAM_16kHz_16bit"} =$parms{"CurrentBuild_dir"}."/AcousticModels/HTK/16kHz-16bit/MFCC_O_D";83 $parms{"CurrentAM_8kHz_16bit"} =$parms{"CurrentBuild_dir"}."/AcousticModels/HTK/8kHz-16bit/MFCC_O_D";93 $$parms{"Tags"} = "/data/svn-mirror/Main/Tags/Releases/"; 94 $$parms{"CurrentBuild_dir"} = $$parms{"Tags"}."/0_1_1-build726"; 95 $$parms{"CurrentAM_16kHz_16bit"} = $$parms{"CurrentBuild_dir"}."/AcousticModels/HTK/16kHz-16bit/MFCC_O_D"; 96 $$parms{"CurrentAM_8kHz_16bit"} = $$parms{"CurrentBuild_dir"}."/AcousticModels/HTK/8kHz-16bit/MFCC_O_D"; 84 97 #################################################################### 85 98 # UserSubmission Location 86 $parms{"UserSubmissions"} = "/data/UserSubmissions"; 87 $parms{"QuarantineDir"} = $parms{"UserSubmissions"}."/Quarantine"; 88 $parms{"ToBeProcessedDir"} = $parms{"UserSubmissions"}."/ToBeProcessed"; 99 $$parms{"QuarantineDir"} = "/data/UserSubmissions/Quarantine"; 100 $$parms{"ToBeProcessedDir"} = "/data/UserSubmissions/ToBeProcessed"; 89 101 #################################################################### 90 102 # NFS directory from AM create server server to WebGUI server 91 $ parms{"VF_Metrics_dir"} = "/data/mnt/domains/voxforge.org/www/public/metrics";103 $$parms{"VF_Metrics_dir"} = "/data/mnt/domains/voxforge.org/www/public/metrics"; 92 104 #################################################################### 93 105 # HTK and Julian binary locations 94 $parms{"HTKBin"} = "/usr/local/bin"; 95 $parms{"JulianBin"} = "/usr/local/bin"; 96 return \%parms; 106 $$parms{"HTKBin"} = "/usr/local/bin"; 107 $$parms{"JulianBin"} = "/usr/local/bin"; 108 # !!!!!! 109 #return \%parms; 110 # !!!!!! 97 111 } 112 113 #################################################################### 114 ### Settors 115 #################################################################### 116 sub setSpeechCorpusLanguage { 117 my ($parms, $language ) = @_; 118 #################################################################### 119 # Speech Corpus Location 120 my $SpeechCorpus; 121 if ($language =~ /EN/) { 122 $SpeechCorpus = "/data/svn-mirror/SpeechCorpus/Trunk"; 123 } elsif ($language =~ /DE/) { 124 $SpeechCorpus = "/data/svn-mirror/Dutch/Trunk"; 125 } elsif ($language =~ /NL/) { 126 $SpeechCorpus = "/data/svn-mirror/de"; 127 } else { 128 confess "VoxForge_config error: no language selected\n"; 129 } 130 131 $$parms{"AudioDirectory"} = "$SpeechCorpus/Audio"; 132 $$parms{"Main_8kHz_16bit"} = $$parms{"AudioDirectory"} . "/Main/8kHz_16bit"; # user metrics uses this 133 $$parms{"LexiconDirectory"} = "$SpeechCorpus/Lexicon"; 134 $$parms{"PromptsFile_16kHz-16bit"} = "$SpeechCorpus/Prompts/master_prompts_16kHz-16bit"; 135 $$parms{"PromptsFile_8kHz-16bit"} = "$SpeechCorpus/Prompts//master_prompts_8kHz-16bit"; 136 #################################################################### 137 # Speech Corpus Releases directory - none yet ... 138 139 } 140 #################################################################### 141 ### Gettors 142 #################################################################### 143 sub getTesting { 144 my $self = shift; 145 return $self->{"testing"}; 146 } 147 148 sub getDebug { 149 my $self = shift; 150 return $self->{"debug"}; 151 } 152 153 sub getQuarantineDir { 154 my $self = shift; 155 return $self->{"QuarantineDir"}; 156 } 157 158 sub getToBeProcessedDir { 159 my $self = shift; 160 return $self->{"ToBeProcessedDir"}; 161 } 162 163 sub getAudioDirectory { 164 my $self = shift; 165 return $self->{"AudioDirectory"}; 166 } 167 168 sub getMain_8kHz_16bit { 169 my $self = shift; 170 return $self->{"Main_8kHz_16bit"}; 171 } 172 173 sub getMain_16kHz_16bit { 174 my $self = shift; 175 return $self->{"Main_16kHz_16bit"}; 176 } 177 178 sub getLexiconDirectory { 179 my $self = shift; 180 return $self->{"LexiconDirectory"}; 181 } 182 183 sub getPromptsFile_16kHz_16bit { 184 my $self = shift; 185 return $self->{"PromptsFile_16kHz-16bit"}; 186 } 187 188 sub getPromptsFile_8kHz_16bit { 189 my $self = shift; 190 return $self->{"PromptsFile_8kHz-16bit"}; 191 } 98 192 1; Trunk/Scripts/Mirroring_scripts/VoxForge_config_testing.pm
r2470 r2471 33 33 my ($class, $language) = @_; 34 34 my %parms; 35 getParms(\%parms);36 setSpeechCorpusLanguage(\%parms, "EN");37 35 my $self = \%parms; 38 36 bless($self,$class); 37 $self->getParms; 38 $self->setSpeechCorpusLanguage("EN"); #default = english 39 39 return $self; 40 40 } … … 45 45 # !!!!!! 46 46 #my %parms; 47 my ($parms ) = @_;47 my $parms = shift; 48 48 # !!!!! 49 49 $$parms{"testing"} = 0; … … 66 66 #################################################################### 67 67 # Script Location 68 $$parms{"_Main"}= "/home/kmaclean/VoxForge-dev/Main";69 $$parms{"QSdir"} = $$parms{"_Main"}."/QuickStart";70 $$parms{"ScriptsDirectory"} = $$parms{"_Main"}."/Scripts";71 $$parms{"AudioScripts_dir"} = $$parms{"ScriptsDirectory"}."/Audio_scripts";72 $$parms{"Repository_dir"} = $$parms{"AudioScripts_dir"}."/Repository";73 $$parms{"UserSubmission_dir"} = $$parms{"AudioScripts_dir"}."/UserSubmission";74 $$parms{"AcousticModel_scripts"} = $$parms{"ScriptsDirectory"}."/AcousticModel_scripts";75 $$parms{"HTK_dir"} = $$parms{"AcousticModel_scripts"}."/HTK/AMCreate_scripts";76 $$parms{"MirroringScripts_dir"} = $$parms{"ScriptsDirectory"}."/Mirroring_scripts";77 $$parms{"TarFiles_dir"} = $$parms{"MirroringScripts_dir"}."/TarFiles";78 $$parms{"directories2mirror"} = $$parms{"MirroringScripts_dir"}."/TarFiles/Audio/directories2mirror";79 $$parms{"Testing_scripts_dir"} = $$parms{"ScriptsDirectory"}."/Testing_scripts";80 $$parms{"Nightly_test_dir"} = $$parms{"Testing_scripts_dir"}."/NightlyTest";81 $$parms{"Metrics_scripts_dir"} = $$parms{"ScriptsDirectory"}."/Metrics_scripts";68 my $main = "/home/kmaclean/VoxForge-dev/Main"; 69 $$parms{"QSdir"} = "$main/QuickStart"; 70 $$parms{"ScriptsDirectory"} = "$main/Scripts"; 71 $$parms{"AudioScripts_dir"} = $$parms{"ScriptsDirectory"}."/Audio_scripts"; 72 $$parms{"Repository_dir"} = $$parms{"AudioScripts_dir"}."/Repository"; 73 $$parms{"UserSubmission_dir"} = $$parms{"AudioScripts_dir"}."/UserSubmission"; 74 $$parms{"AcousticModel_scripts"} = $$parms{"ScriptsDirectory"}."/AcousticModel_scripts"; 75 $$parms{"HTK_dir"} = $$parms{"AcousticModel_scripts"}."/HTK/AMCreate_scripts"; 76 $$parms{"MirroringScripts_dir"} = $$parms{"ScriptsDirectory"}."/Mirroring_scripts"; 77 $$parms{"TarFiles_dir"} = $$parms{"MirroringScripts_dir"}."/TarFiles"; 78 $$parms{"directories2mirror"} = $$parms{"MirroringScripts_dir"}."/TarFiles/Audio/directories2mirror"; 79 $$parms{"Testing_scripts_dir"} = $$parms{"ScriptsDirectory"}."/Testing_scripts"; 80 $$parms{"Nightly_test_dir"} = $$parms{"Testing_scripts_dir"}."/NightlyTest"; 81 $$parms{"Metrics_scripts_dir"} = $$parms{"ScriptsDirectory"}."/Metrics_scripts"; 82 82 83 83 # $$parms{"directories2mirror"} = "TarFiles/Audio/directories2mirror-test"; # for testing … … 87 87 # Speech Corpus Releases directory - none yet ... 88 88 $$parms{"Tags"} = "/data/svn-mirror/Main/Tags/Releases/"; 89 $$parms{"CurrentBuild_dir"} = $$parms{"Tags"}."/0_1_1-build726";90 $$parms{"CurrentAM_16kHz_16bit"} = $$parms{"CurrentBuild_dir"}."/AcousticModels/HTK/16kHz-16bit/MFCC_O_D";91 $$parms{"CurrentAM_8kHz_16bit"} = $$parms{"CurrentBuild_dir"}."/AcousticModels/HTK/8kHz-16bit/MFCC_O_D";89 $$parms{"CurrentBuild_dir"} = $$parms{"Tags"}."/0_1_1-build726"; 90 $$parms{"CurrentAM_16kHz_16bit"} = $$parms{"CurrentBuild_dir"}."/AcousticModels/HTK/16kHz-16bit/MFCC_O_D"; 91 $$parms{"CurrentAM_8kHz_16bit"} = $$parms{"CurrentBuild_dir"}."/AcousticModels/HTK/8kHz-16bit/MFCC_O_D"; 92 92 #################################################################### 93 93 # UserSubmission Location … … 119 119 } elsif ($language =~ /NL/) { 120 120 $SpeechCorpus = "/home/kmaclean/VoxForge-dev/Dutch"; 121 } else { 122 confess "VoxForge_config error: no language selected\n"; 121 123 } 122 124 … … 132 134 ### Gettors 133 135 #################################################################### 136 sub getTesting { 137 my $self = shift; 138 return $self->{"testing"}; 139 } 140 141 sub getDebug { 142 my $self = shift; 143 return $self->{"debug"}; 144 } 145 134 146 sub getQuarantineDir { 135 147 my $self = shift; 136 148 return $self->{"Quarantine