image

Acesse bootcamps ilimitados e +650 cursos pra sempre

60
%OFF
Article image
Regilaine Silva
Regilaine Silva31/07/2024 17:44
Compartilhe

Programa em JAVA Emoção Expressiva

  • #Java

Aqui criamos um programa em Java que ajude autistas a identificar e expressar suas emoções. O programa será uma aplicação simples com uma interface gráfica onde o usuário pode selecionar entre diferentes emoções e visualizar imagens correspondentes. Além disso, o programa pode falar a emoção selecionada usando o sistema de síntese de fala (Text-to-Speech, TTS).

Para isso, usaremos a biblioteca javax.swing para a interface gráfica e a biblioteca FreeTTS para a síntese de fala. Primeiro, vamos adicionar as dependências necessárias para o FreeTTS em um arquivo pom.xml se estivermos usando Maven:

xml
Copiar código
<dependencies>
  <dependency>
      <groupId>com.sun.speech</groupId>
      <artifactId>freetts</artifactId>
      <version>1.2.2</version>
  </dependency>
</dependencies>

Agora, o código em Java:

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import com.sun.speech.freetts.*;


public class EmocaoExpressiva {
  private static final String VOICENAME = "kevin16";


  public static void main(String[] args) {
      JFrame frame = new JFrame("Emoção Expressiva");
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      frame.setSize(400, 400);
      
      JLabel label = new JLabel("Selecione uma emoção:", SwingConstants.CENTER);
      label.setFont(new Font("Serif", Font.PLAIN, 24));
      
      String[] emotions = {"Feliz", "Triste", "Zangado", "Surpreso"};
      JComboBox<String> emotionComboBox = new JComboBox<>(emotions);
      
      JLabel emotionImage = new JLabel();
      emotionImage.setHorizontalAlignment(SwingConstants.CENTER);
      
      JButton speakButton = new JButton("Falar Emoção");
      
      emotionComboBox.addActionListener(new ActionListener() {
          @Override
          public void actionPerformed(ActionEvent e) {
              String selectedEmotion = (String) emotionComboBox.getSelectedItem();
              ImageIcon icon = new ImageIcon("images/" + selectedEmotion.toLowerCase() + ".png");
              emotionImage.setIcon(icon);
          }
      });
      
      speakButton.addActionListener(new ActionListener() {
          @Override
          public void actionPerformed(ActionEvent e) {
              String selectedEmotion = (String) emotionComboBox.getSelectedItem();
              speak(selectedEmotion);
          }
      });


      JPanel panel = new JPanel();
      panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
      panel.add(label);
      panel.add(emotionComboBox);
      panel.add(emotionImage);
      panel.add(speakButton);


      frame.add(panel);
      frame.setVisible(true);
  }


  public static void speak(String text) {
      VoiceManager vm = VoiceManager.getInstance();
      Voice voice = vm.getVoice(VOICENAME);
      if (voice != null) {
          voice.allocate();
          voice.speak(text);
          voice.deallocate();
      } else {
          System.err.println("Voice not found");
      }
  }
}


Explicação do Código

  1. Dependências: Adicionamos a biblioteca FreeTTS para permitir a síntese de fala.
  2. Interface Gráfica: Usamos javax.swing para criar uma interface gráfica simples com um JComboBox para selecionar emoções, uma JLabel para exibir a imagem correspondente, e um JButton para acionar a síntese de fala.
  3. Seleção de Emoções: Quando uma emoção é selecionada no JComboBox, a imagem correspondente é carregada e exibida na JLabel.
  4. Síntese de Fala: Quando o botão "Speak Emotion" é pressionado, a emoção selecionada é falada usando a biblioteca FreeTTS.

Imagens de Emoções

Você precisa adicionar imagens das emoções (feliz, triste, zangado, surpreso) na pasta images no mesmo diretório do seu programa. As imagens devem ser nomeadas como happy.png, sad.png, angry.png e surprised.png.

Compilação e Execução

Certifique-se de que todas as dependências estejam corretamente configuradas e execute o programa. O usuário poderá selecionar uma emoção, visualizar a imagem correspondente e ouvir a emoção falada, o que pode ajudar na identificação e expressão de emoções.

Esse programa, "Emoção Expressiva", oferece uma maneira interativa e multimodal para ajudar autistas a reconhecer e expressar suas emoções, promovendo o desenvolvimento emocional e social.

Quem topa testar???rsrssr

Compartilhe
Comentários (2)
Regilaine Silva
Regilaine Silva - 10/09/2024 10:58

obrigada

Cristian Francisco
Cristian Francisco - 01/08/2024 07:49

Muito Legal!