1 /* Copyright (C) 2012, 2018 Olga Yakovleva <yakovleva.o.v@gmail.com> */ 2 3 /* This program is free software: you can redistribute it and/or modify */ 4 /* it under the terms of the GNU Lesser General Public License as published by */ 5 /* the Free Software Foundation, either version 2.1 of the License, or */ 6 /* (at your option) any later version. */ 7 8 /* This program is distributed in the hope that it will be useful, */ 9 /* but WITHOUT ANY WARRANTY; without even the implied warranty of */ 10 /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ 11 /* GNU Lesser General Public License for more details. */ 12 13 /* You should have received a copy of the GNU Lesser General Public License */ 14 /* along with this program. If not, see <http://www.gnu.org/licenses/>. */ 15 16 #ifndef RHVOICE_TTS_MARKUP_HPP 17 #define RHVOICE_TTS_MARKUP_HPP 18 19 #include <string> 20 #include "language.hpp" 21 #include "voice.hpp" 22 23 namespace RHVoice 24 { 25 enum content_type 26 { 27 content_text, 28 content_char, 29 content_chars, 30 content_glyphs, 31 content_key, 32 content_emoji 33 }; 34 35 struct prosodic_attributes 36 { 37 double rate,pitch,volume; 38 39 prosodic_attributes(): 40 rate(1.0), 41 pitch(1.0), 42 volume(1.0) 43 { 44 } 45 }; 46 47 struct tts_markup 48 { 49 bool autosplit_sentences; 50 language_search_criteria language_criteria; 51 voice_search_criteria voice_criteria; 52 content_type say_as; 53 prosodic_attributes prosody; 54 55 tts_markup(): 56 autosplit_sentences(true), 57 say_as(content_text) 58 { 59 } 60 }; 61 } 62 #endif 63