001/* 002 * Portions Copyright 2004 DFKI GmbH. 003 * Portions Copyright 2001 Sun Microsystems, Inc. 004 * Portions Copyright 1999-2001 Language Technologies Institute, 005 * Carnegie Mellon University. 006 * All Rights Reserved. Use is subject to license terms. 007 * 008 * See the file "license.terms" for information on usage and 009 * redistribution of this file, and for a DISCLAIMER OF ALL 010 * WARRANTIES. 011 */ 012package de.dfki.lt.freetts; 013 014import java.io.IOException; 015import java.net.URL; 016 017import com.sun.speech.freetts.UtteranceProcessor; 018 019/** 020 * A generic interface implementing what is common to all 021 * concatentive voices (e.g., diphone, cluster unit and arctic voices). 022 */ 023public interface ConcatenativeVoice 024{ 025 /** 026 * Gets the url to the database that defines the unit data for this 027 * voice. 028 * 029 * @return a url to the database 030 */ 031 URL getDatabase(); 032 033 /** 034 * Returns the pitch mark generator to be used by this voice. 035 * 036 * @return the pitchmark processor 037 * 038 * @throws IOException if an IO error occurs while getting 039 * processor 040 */ 041 UtteranceProcessor getPitchmarkGenerator() throws IOException; 042 043 /** 044 * Returns the unit concatenator to be used by this voice. 045 * 046 * @return the unit concatenator processor 047 * 048 * @throws IOException if an IO error occurs while getting 049 * processor 050 */ 051 UtteranceProcessor getUnitConcatenator() throws IOException; 052 053 /** 054 * Returns the unit selector to be used by this voice. 055 * 056 * @return the unit selector processor 057 * 058 * @throws IOException if an IO error occurs while getting 059 * processor 060 */ 061 UtteranceProcessor getUnitSelector() throws IOException; 062}