/[mbrola]/trunk/mbrola.pl
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/mbrola.pl

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1 by dpavlin, Sat Aug 5 10:54:32 2006 UTC revision 2 by dpavlin, Sat Aug 5 12:13:01 2006 UTC
# Line 214  sub speak_hr { Line 214  sub speak_hr {
214    
215          my ($g,$f) = ('','');          my ($g,$f) = ('','');
216    
217            my $last_c = '';
218    
219          foreach my $i ( 0 .. $#chars ) {          foreach my $i ( 0 .. $#chars ) {
220                  my $c = $chars[$i];                  my $c = $chars[$i];
221    
# Line 266  sub speak_hr { Line 268  sub speak_hr {
268    
269                  }                  }
270    
271                    # same last chars? double duration
272                    if ($last_c eq $c) {
273                            $pho[ $#pho ]->{dur}->[0] *= 2;
274                            next;
275                    }
276    
277                    # fixup sequences that need special handling
278                    if (defined($recovery->{ $last_c . $c })) {
279                            push @pho, {
280                                    char => '_',
281                                    dur => [ $silence->{word} * $speed ],
282                            };
283                    }
284    
285                    $last_c = $c;
286                  push @pho, {                  push @pho, {
287                          char => $c,                          char => $c,
288                          dur => \@dur,                          dur => \@dur,
# Line 280  sub speak_hr { Line 297  sub speak_hr {
297    
298          my $out;          my $out;
299    
         my $last_c = '';  
   
300          foreach my $p (@pho) {          foreach my $p (@pho) {
                 if (defined($recovery->{ $last_c . $p->{char} })) {  
                         $out .= '_ ' . ( $silence->{word} * $speed ) . "\n";  
                 }  
301                  $out .= $p->{char} . ' ' . join(' ', map { $_ * $speed } @{ $p->{dur} }) . "\n";                  $out .= $p->{char} . ' ' . join(' ', map { $_ * $speed } @{ $p->{dur} }) . "\n";
   
                 $last_c = $p->{char};  
302          }          }
303    
304          return ($out, $g, $f);          return ($out, $g, $f);

Legend:
Removed from v.1  
changed lines
  Added in v.2

  ViewVC Help
Powered by ViewVC 1.1.26