11-752: week 8 exercises hints

  1. Talking clock
  2. Uniphone synthesizer, the build process is similar but a little different. See section 12.2

    Set up directory structure

    mkdir uniphone
    cd uniphone
    $SPPDIR/src/unitsel/setup_clunits cmu us YOURNAME uniphone
    
    Prompts are in etc/uniphone.data. Build the synthesis prompts with
    festival -b festvox/build_clunits.scm '(build_prompts "etc/uniphone.data")'
    
    Record the prompts
    bin/prompt_them etc/data 1
    
    Label the utterances
    bin/make_labs prompt-wav/*.wav
    
    Hand correct the labels (in emulabe selected open and hit enter in the new window once you've selected it). Double click on the fileids
    emulabel etc/emu_lab
    
    Extract pitchmarks and Mel Cepstral Coefficients
    bin/make_pm_wave wav/*.wav
    bin/make_mcep wav/*.wav
    
    Integrate the labelled durations into the utterances
    festival -b festvox/build_clunits.scm '(build_utts "etc/uniphone.data")'
    
    Build the unit selection synthesizer
    festival -b festvox/build_clunits.scm '(build_clunits "etc/uniphone.data")'
    
    Build the lpc coefficients so we can do ptich and duration modification.
    bin/make_lpc wav/*.wav
    
    Run the synthesizer voice
    festival festvox/cmu_us_YOURNAME_clunits.scm
    ...
    festival> (voice_cmu_us_YOURNAME_clunits)
    ...
    festival> (SayText "Hello world")
    ...
    
    To change the pitch range edit festvox/cmu_us_YOURNAME_f0model.scm change the target_f0_mean and stddev. Duration can be controlled in festvox/cmu_us_YOURNAME_duration.scm (the duration stretch bit).
  3. A walkthrough of a clustergen voice build is available here