Ferramenta para conversão texto-fala de aplicações Windows Forms Acadêmico: Fernando Erhardt Orientadora: Joyce Martins
Roteiro Introdução Objetivos Fundamentação teórica Desenvolvimento da ferramenta Conclusão Extensões
Introdução Definição de sistemas de conversão textofala Utilidades destes sistemas Dificuldades no desenvolvimento de sistemas de conversão texto-fala Desenvolvimento da ferramenta focada em uma tecnologia específica
Objetivos Identificar aplicações Windows Forms que podem ser interpretadas Obter informações textuais destas aplicações Processar estas informações em português e em inglês Converter o texto processado em áudio
Fundamentação teórica Processamento textual Pré-processamento Análise linguística Identificação dos fonemas Processamento prosódico Síntese do texto em áudio
Fundamentação teórica Gramáticas das línguas portuguesa e inglesa Regras que definem a forma mais correta de utilização de uma língua Fonologia e morfologia Sintaxe e semântica
Fundamentação teórica Ferramenta ManagedSpy e bibloteca ManagedSpyLib ManagedSpy mostra os componentes que formam a interface de uma aplicação Características da ManagedSpyLib Identificação de componentes de interface Obtenção de informações destes componentes Interceptação de eventos ocorridos na interface da aplicação
Fundamentação teórica Biblioteca System.Speech Bibloteca padrão do Microsoft.Net Framework Utiliza-se do recurso de fala nativo do Sistema Operacional Simples utilização Aceita o formato SSML como entrada de dados
Fundamentação teórica Trabalhos correlatos FurbTTS (Thiago M. Oechsler FURB) Sistema para conversão de textos em fonemas (Dimas T. Chbane USP) Sistema para conversão texto fala para a língua portuguesa (Leandro C. Gomes UNICAMP)
Desenvolvimento da ferramenta Especificação Requisitos Relação de componentes de interface suportados Lista de siglas, abreviações e pronúncias diferenciadas Diagramas UML Implementação da ferramenta
Especificação: Requisitos Funcionais: identificar aplicações que possam ser interpretadas permitir que o usuário escolha qual aplicação deve ter seu conteúdo sintetizado permitir configurar o idioma: português ou inglês obter informação textual da interface da aplicação fazer a conversão texto-fala permitir entrada manual de textos para testes visualizar o resultado do processamento textual executar a conversão de forma assíncrona
Especificação: Requisitos Não funcionais: funcionar com o sistema operacional Windows XP ou superior utilizar a linguagem de programação C#
Especificação: relação de componentes Componentes do framework: Componente Componente Componente Componente Button FlowLayoutPanel NumericBox TableLayoutContainer CheckBox GroupBox Panel TabPage CkeckedListBox Label ProgressBar TextBox ComboBox LinkLabel RadioButton TrackBar DateTimePicker ListBox SplitContainer TreeView DomainUpDown ListView TabControl Componentes criados pelo usuário
Especificação: siglas, abreviações Siglas: e pronúncias diferenciadas sequência de duas ou mais letras maiúsculas utiliza dicionário de siglas dicionários diferenciados para português e para inglês pronúncia letra a letra caso não se encontre no dicionário
Especificação: dicionário de siglas Exemplo de algumas siglas em português: Sigla Forma extensa Sigla Forma extensa EUA 1 Estados Unidos da América SC Santa Catarina FURB Furb ABNT Abêene Tê PM Polícia Militar CD Cedê DVD Devedê RW Regravável TV Televisão PC Personal Computer
Especificação: dicionário de siglas Exemplo de algumas siglas em inglês: Sigla Forma extensa Sigla Forma extensa USA United States of America CD Cd DVD Dvd RW Re-writable TV Television NY New York
Especificação: dicionários de abreviações Exemplo de algumas abreviações em português: Abreviação Forma extensa Abreviação Forma extensa apto. apartamento estr. Estrada apart. apartamento fig. figura av. avenida hab. habitante bel. bacharel kg. quilogramas cg. centigrama km. quilômetros cia. compania pagto. pagamento cm. centímetro tel. Telefone
Especificação: dicionários de abreviações Exemplos de algumas abreviações em inglês: Abreviação Forma extensa Abreviação Forma extensa abbr. abbreviation min. Minutes dr. doctor hr. Hours ed. edition wk. Week ave. avenue mo. Months kg. kilograms yr. Years km. kilometers mg. miligrams cm. centimeters mi. miles
Especificação: dicionários de pronúncias diferenciadas Pronúncias diferenciadas em português: Palavra Pronúncia adaptada Palavra Pronúncia adaptada Google gu gou personal pêrsonal c# cêchárp computer compiuter Dicionário de pronúncias diferenciadas em inglês é vazio por padrão
Especificação: Diagrama de casos de uso
Especificação: Diagrama de classes
Especificação: Diagrama de classes
Especificação: Diagrama de classes
Especificação: Diagrama de classes
Especificação: Diagrama de classes
Implementação: técnicas e Linguagem C# ferramentas utilizadas Visual Studio Voz em português Nuance Raquel Brazilian Portuguese Female 22khz
Implementação: interpretação da interface Carregar aplicações compatíveis Carregar componentes que formam a aplicação selecionada Carregar componentes filhos recursivamente quando necessário
Implementação: interceptação de eventos São subscritos os eventos que devem ser interceptados ao instanciar cada componente Cada componente específico descreve seus eventos Cada componente específico manipula seus eventos
Implementação: processamento de texto Etapas: substituir abreviações substituir siglas substituir datas substituir números substituir pronúncias diferenciadas
Implementação: processamento de texto Substituição de abreviações, siglas e pronúncias diferenciadas: utilizadas expressões regulares dicionários específicos para cada idioma procuradas entre caracteres de quebra
Implementação: processamento de texto Substituição datas em três possíveis formatos: dia/mês/ano dia/mês mês/ano diferenciação entre dia/mês para o idioma inglês
Implementação: processamento de texto São substituídos os seguintes tipos de números: valores monetários números decimais números ordinais ( º e ª ) números inteiros
Implementação: conversão de texto em áudio Processa qualquer texto antes da conversão Utiliza a voz selecionada para o idioma Utiliza a biblioteca System.Speech Faz a conversão de forma assíncrona com o auxílio da classe BackgroundWorker
Implementação: operacionalidade
Implementação: operacionalidade
Resultados e discussão
Conclusões Objetivos alcançados Importância dos assuntos estudados Limitações encontradas Principais pontos positivos
Extensões Interpretar os componentes de interface que não foram possíveis com a ManagedSpyLib Interpretar aplicações desenvolvidas com outra tecnologia Utilizar a conversão de texto de forma independente Conversão texto-fala em outros idiomas Desenvolver módulo de síntese de áudio próprio
Demonstração da ferramenta