1

私は音声をテキストに変換するJavaアプリケーションを開発しています。Java音声APIを使用して音声認識APIを作成しました。このAPIは、音声ファイルを録音し、それをFLACファイルに変換して、Googleに投稿します。応答は、文字列に反映されます。私の目の前の課題は、オーディオファイル内の個々のステートメント(終止符の検出を想定)にタイムスタンプを付ける必要があるということです。

これはどのように行うことができますか?私はJavaを初めて使用します。
私のメインファイル:

         import com.darkprograms.speech.microphone.Microphone;
         import com.darkprograms.speech.recognizer.Recognizer;

          import javax.sound.sampled.AudioFileFormat;
          import javax.swing.*;
          import java.awt.event.ActionEvent;
          import java.awt.event.ActionListener;


          public class DoItAll extends JFrame {
          JButton stop = new JButton("Stop");
          JButton run = new JButton("Run");
          JButton process = new JButton("Process");
          Microphone microphone = new Microphone(AudioFileFormat.Type.WAVE);
          Recognizer recognizer = new Recognizer();
          String audioFile = "c:/eclipse/f.wav";

          public DoItAll(){
          stop.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent e) {
          microphone.close();
                 }
           });
           run.addActionListener(new ActionListener() {
           public void actionPerformed(ActionEvent e) {
           try {

                     microphone.captureAudioToFile(audioFile);
            } catch (Exception e1) {
           e1.printStackTrace();  //To change body of catch statement use File 
          JOptionPane.showMessageDialog(null, e1.getMessage());
                 }
           }
          });
           process.addActionListener(new ActionListener() {
           public void actionPerformed(ActionEvent e) {
           String response = "error";
            try {
          response = recognizer.getRecognizedDataForWave(audioFile).getResponse();
         } catch (Exception e1) {
           e1.printStackTrace(); 
          response = e1.getMessage();
           }
           JOptionPane.showMessageDialog(null, response);
            }
            });
         getContentPane().setLayout(new BoxLayout(getContentPane(), BoxLayout.X_AXIS));
          getContentPane().add(run);        
          getContentPane().add(stop);
          getContentPane().add(process);
          setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
          pack();
          show();
           }

          public static void main(String[] args) {
          new DoItAll();
           }

          }

私のスピーチAPIはこのリンクからのものです。

手伝ってくれてありがとう。

4

0 に答える 0