[mary-users] How the Unit Concatenation works in MaryTTS

Qingsong Liu liuqs.ustc at gmail.com
Wed Oct 15 09:41:18 CEST 2014


Hi, All,

I found the following unit concatenation code in marytts:

    /**
     * Build the audio stream from the units
     *
     * @param units the units
     * @return the resulting audio stream
     */
    public AudioInputStream getAudio(List<SelectedUnit> units) throws
IOException
    {
        logger.debug("Getting audio for "+units.size()+" units");

        // 1. Get the raw audio material for each unit from the timeline
        getDatagramsFromTimeline(units);

        // 2. Determine target pitchmarks (= duration and f0) for each unit
        determineTargetPitchmarks(units);

        // 2a. Analyze SelectedUnits wrt predicted vs. realized prosody
        try {
            prosodyAnalyzer = new ProsodyAnalyzer(units,
timeline.getSampleRate());
        } catch (Exception e) {
            throw new IOException("Could not analyze prosody!", e);
        }

        // 3. Generate audio to match the target pitchmarks as closely as
possible
        return generateAudioStream(units);
    }


I want to know how the concatenation code (step1, step2, step3 as above)
 build the output audio.

could anyone suggest me some papers about the unit concatenation for
reading?



Thank you.

Qingsong

-- 
---------------------------------------------
Qingsong Liu
liuqs.ustc at gmail.com
Univ. of Sci.& Tech. of China
----------------------------------------------
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.dfki.de/pipermail/mary-users/attachments/20141015/31746176/attachment.htm 


More information about the Mary-users mailing list