voxforge.org
VoxForge Dev

Changeset 2470

Show
Ignore:
Timestamp:
03/20/08 12:01:13 (9 months ago)
Author:
kmaclean
Message:

VoxForge?_config.pm refactor to a class - snapshot

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • Trunk/Scripts/Mirroring_scripts/VoxForge_config_testing.pm

    r2270 r2470  
    2424package VoxForge_config_testing; 
    2525use POSIX qw(strftime); 
     26use diagnostics; 
     27use Carp; 
    2628use strict; 
    27  
     29#################################################################### 
     30### Constructor 
     31#################################################################### 
     32sub new { 
     33        my ($class, $language) = @_; 
     34        my %parms; 
     35        getParms(\%parms); 
     36        setSpeechCorpusLanguage(\%parms, "EN"); 
     37        my $self = \%parms; 
     38        bless($self,$class); 
     39        return $self; 
     40
     41#################################################################### 
     42### Instance Methods 
     43#################################################################### 
    2844sub getParms { 
    29         my %parms; 
    30         $parms{"testing"} = 0;  
    31         $parms{"debug"} = 1; 
    32         #################################################################### 
    33         # Speech Corpus Location 
    34         $parms{"_SpeechCorpus"} = "/home/kmaclean/VoxForge-dev/SpeechCorpus"; 
    35                 $parms{"AudioDirectory"} = $parms{"_SpeechCorpus"}."/Audio"; 
    36                         $parms{"Main_8kHz_16bit"} = $parms{"AudioDirectory"} . "/Main/8kHz_16bit";      # user metrics uses this 
    37                         $parms{"Main_16kHz_16bit"} = $parms{"AudioDirectory"} . "/Main/16kHz_16bit";    # user metrics uses this 
    38                 $parms{"LexiconDirectory"} = $parms{"_SpeechCorpus"}."/Lexicon"; 
    39                 $parms{"_Prompts"} = $parms{"_SpeechCorpus"}."/Prompts"; 
    40                 #$parms{"PromptsFile"} = $parms{"_Prompts"}."/test_prompts"; # for testing 
    41                 $parms{"PromptsFile_16kHz-16bit"} = $parms{"_Prompts"}."/master_prompts_16kHz-16bit";  
    42                 $parms{"PromptsFile_8kHz-16bit"} = $parms{"_Prompts"}."/master_prompts_8kHz-16bit";  
     45        # !!!!!! 
     46        #my %parms; 
     47        my ($parms ) = @_; 
     48        # !!!!! 
     49        $$parms{"testing"} = 0;  
     50        $$parms{"debug"} = 1; 
    4351        #################################################################### 
    4452        # Speech Corpus Releases directory - none yet ... 
     
    5361        my $mday = strftime "%d", localtime; #  %d      numeric day of the month, with leading zeros (eg 01..31) 
    5462         
    55         $parms{"Nightly_dir"}  = "/data/svn-mirror/Nightly_Builds";  
    56                 $parms{"Nightly_dirname"} = $parms{"Nightly_dir"}."/AcousticModel-$year-$mon-$mday";     
    57                 $parms{"NightlyAM_16kHz_16bit"} = $parms{"Nightly_dirname"}."/HTK/16kHz_16bit/MFCC_O_D";                                 
    58                 $parms{"NightlyAM_8kHz_16bit"} = $parms{"Nightly_dirname"}."/HTK/8kHz_16bit/MFCC_O_D";   
     63        $$parms{"Nightly_dirname"} = "/data/svn-mirror/Nightly_Builds/AcousticModel-$year-$mon-$mday";           
     64        $$parms{"NightlyAM_16kHz_16bit"} = $$parms{"Nightly_dirname"}."/HTK/16kHz_16bit/MFCC_O_D";                               
     65        $$parms{"NightlyAM_8kHz_16bit"} = $$parms{"Nightly_dirname"}."/HTK/8kHz_16bit/MFCC_O_D";   
    5966        #################################################################### 
    6067        # Script Location 
    61         $parms{"_Main"} = "/home/kmaclean/VoxForge-dev/Main"; 
    62                 $parms{"QSdir"} = $parms{"_Main"}."/QuickStart"; 
    63                 $parms{"ScriptsDirectory"} = $parms{"_Main"}."/Scripts";       
    64                         $parms{"AudioScripts_dir"} = $parms{"ScriptsDirectory"}."/Audio_scripts";      
    65                                 $parms{"Repository_dir"} = $parms{"AudioScripts_dir"}."/Repository";   
    66                                 $parms{"UserSubmission_dir"} = $parms{"AudioScripts_dir"}."/UserSubmission"; 
    67                         $parms{"AcousticModel_scripts"} = $parms{"ScriptsDirectory"}."/AcousticModel_scripts";                         
    68                                 $parms{"HTK_dir"} = $parms{"AcousticModel_scripts"}."/HTK/AMCreate_scripts";   
    69                         $parms{"MirroringScripts_dir"} = $parms{"ScriptsDirectory"}."/Mirroring_scripts";      
    70                                         $parms{"TarFiles_dir"} = $parms{"MirroringScripts_dir"}."/TarFiles"; 
    71                                         $parms{"directories2mirror"} = $parms{"MirroringScripts_dir"}."/TarFiles/Audio/directories2mirror";            
    72                         $parms{"Testing_scripts_dir"} = $parms{"ScriptsDirectory"}."/Testing_scripts";         
    73                                 $parms{"Nightly_test_dir"} = $parms{"Testing_scripts_dir"}."/NightlyTest";     
    74                         $parms{"Metrics_scripts_dir"} = $parms{"ScriptsDirectory"}."/Metrics_scripts";   
     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";   
    7582 
    76 #       $parms{"directories2mirror"} = "TarFiles/Audio/directories2mirror-test";              # for testing 
    77         $parms{"Nightly_Builds-source"} = "/data/svn-mirror/Nightly_Builds";  # hardcoded in makefiles ... 
    78         $parms{"Nightly_Builds-target"} = "/data/svn-tarfiles/Nightly_Builds";                #  hardcoded in makefiles ... 
     83#       $$parms{"directories2mirror"} = "TarFiles/Audio/directories2mirror-test";             # for testing 
     84        $$parms{"Nightly_Builds-source"} = "/data/svn-mirror/Nightly_Builds"; # hardcoded in makefiles ... 
     85        $$parms{"Nightly_Builds-target"} = "/data/svn-tarfiles/Nightly_Builds";               #  hardcoded in makefiles ... 
    7986        #################################################################### 
    8087        # Speech Corpus Releases directory - none yet ... 
    81         $parms{"Tags"}  = "/data/svn-mirror/Main/Tags/Releases/"; 
    82                 $parms{"CurrentBuild_dir"} = $parms{"Tags"}."/0_1_1-build726"; 
    83                                 $parms{"CurrentAM_16kHz_16bit"} = $parms{"CurrentBuild_dir"}."/AcousticModels/HTK/16kHz-16bit/MFCC_O_D";                               
    84                                 $parms{"CurrentAM_8kHz_16bit"} = $parms{"CurrentBuild_dir"}."/AcousticModels/HTK/8kHz-16bit/MFCC_O_D";                                 
     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";                               
    8592        #################################################################### 
    8693        # UserSubmission Location 
    87         $parms{"UserSubmissions"}  = "/data/UserSubmissions"; 
    88                $parms{"QuarantineDir"} = $parms{"UserSubmissions"}."/Quarantine"; 
    89                $parms{"ToBeProcessedDir"} = $parms{"UserSubmissions"}."/ToBeProcessed"; 
     94        my $UserSubmissions  = "/data/UserSubmissions"; 
     95        $$parms{"QuarantineDir"} = $UserSubmissions."/Quarantine"; 
     96        $$parms{"ToBeProcessedDir"} = $UserSubmissions."/ToBeProcessed"; 
    9097        #################################################################### 
    9198        # NFS directory from AM create server server to WebGUI server 
    92         $parms{"VF_Metrics_dir"}  = "/data/mnt/domains/voxforge.org/www/public/metrics";  
     99        $$parms{"VF_Metrics_dir"}  = "/data/mnt/domains/voxforge.org/www/public/metrics";  
    93100        #################################################################### 
    94101        # HTK and Julian binary locations 
    95 #       $parms{"HTKBin"}  = "/usr/local/bin"; 
    96         $parms{"HTKBin"}  = "/usr/local/HTK"; 
    97         $parms{"JulianBin"}  = "/usr/local/bin";         
    98         return \%parms; 
     102#       $$parms{"HTKBin"}  = "/usr/local/bin"; 
     103        $$parms{"HTKBin"}  = "/usr/local/HTK"; 
     104        $$parms{"JulianBin"}  = "/usr/local/bin";        
    99105}                
     106 
     107#################################################################### 
     108### Settors 
     109#################################################################### 
     110sub setSpeechCorpusLanguage { 
     111        my ($parms, $language ) = @_; 
     112        #################################################################### 
     113        # Speech Corpus Location 
     114        my $SpeechCorpus; 
     115        if ($language =~ /EN/) { 
     116                $SpeechCorpus = "/home/kmaclean/VoxForge-dev/SpeechCorpus"; 
     117        } elsif ($language =~ /DE/) { 
     118                $SpeechCorpus = "/home/kmaclean/VoxForge-dev/German"; 
     119        } elsif ($language =~ /NL/) { 
     120                $SpeechCorpus = "/home/kmaclean/VoxForge-dev/Dutch"; 
     121        } 
     122                 
     123        $$parms{"AudioDirectory"} = "$SpeechCorpus/Audio"; 
     124        $$parms{"Main_8kHz_16bit"} = $$parms{"AudioDirectory"} . "/Main/8kHz_16bit";    # user metrics uses this 
     125        $$parms{"Main_16kHz_16bit"} = $$parms{"AudioDirectory"} . "/Main/16kHz_16bit";  # user metrics uses this 
     126        $$parms{"LexiconDirectory"} = $SpeechCorpus."/Lexicon"; 
     127        $$parms{"PromptsFile_16kHz-16bit"} = "$SpeechCorpus/Prompts/master_prompts_16kHz-16bit";  
     128        $$parms{"PromptsFile_8kHz-16bit"}  = "$SpeechCorpus/Prompts/master_prompts_8kHz-16bit";  
     129         
     130} 
     131#################################################################### 
     132### Gettors 
     133#################################################################### 
     134sub getQuarantineDir { 
     135        my $self = shift; 
     136        return $self->{"QuarantineDir"}; 
     137} 
     138 
     139sub getAudioDirectory { 
     140        my $self = shift; 
     141        return $self->{"AudioDirectory"}; 
     142} 
     143 
     144sub getMain_8kHz_16bit { 
     145        my $self = shift; 
     146        return $self->{"Main_8kHz_16bit"}; 
     147} 
     148 
     149sub getMain_16kHz_16bit { 
     150        my $self = shift; 
     151        return $self->{"Main_16kHz_16bit"}; 
     152} 
     153 
     154sub getLexiconDirectory { 
     155        my $self = shift; 
     156        return $self->{"LexiconDirectory"}; 
     157} 
     158 
     159sub getPromptsFile_16kHz16bit { 
     160        my $self = shift; 
     161        return $self->{"PromptsFile_16kHz-16bit"}; 
     162} 
     163 
     164sub getPromptsFile_8kHz16bit { 
     165        my $self = shift; 
     166        return $self->{"PromptsFile_8kHz-16bit"}; 
     167} 
     168 
    1001691;