Пример #1
0
 public static void getAudioFromFile(string filename)
 {
     if (String.instancehelper_endsWith(filename, ".align"))
     {
         BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(filename)));
         AudioTool.populateAudio(bufferedReader.readLine());
         int      num    = Integer.parseInt(bufferedReader.readLine());
         float[]  array  = new float[num];
         string[] array2 = new string[num];
         for (int i = 0; i < num; i++)
         {
             StringTokenizer stringTokenizer = new StringTokenizer(bufferedReader.readLine());
             while (stringTokenizer.hasMoreTokens())
             {
                 array[i]  = Float.parseFloat(stringTokenizer.nextToken());
                 array2[i] = stringTokenizer.nextToken();
             }
         }
         AudioTool.audioPanel.setLabels(array, array2);
         bufferedReader.close();
     }
     else
     {
         AudioTool.populateAudio(filename);
     }
 }
Пример #2
0
 private static void dumpMixers()
 {
     Mixer.Info[] mixerInfo = AudioSystem.getMixerInfo();
     for (int i = 0; i < mixerInfo.Length; i++)
     {
         Mixer mixer = AudioSystem.getMixer(mixerInfo[i]);
         [email protected](new StringBuilder().append("Mixer[").append(i).append("]: \"").append(mixerInfo[i].getName()).append('"').toString());
         [email protected](new StringBuilder().append("    Description: ").append(mixerInfo[i].getDescription()).toString());
         [email protected]("    SourceLineInfo (e.g., speakers):");
         AudioTool.dumpLineInfo("        ", mixer.getSourceLineInfo());
         [email protected]("    TargetLineInfo (e.g., microphones):");
         AudioTool.dumpLineInfo("        ", mixer.getTargetLineInfo());
     }
 }
Пример #3
0
 public void actionPerformed(ActionEvent actionEvent)
 {
     if (AudioTool.filename != null && !String.instancehelper_isEmpty(AudioTool.filename))
     {
         try
         {
             Utils.writeRawFile(AudioTool.audio, AudioTool.filename);
             AudioTool.access_000().setEnabled(false);
         }
         catch (IOException ex)
         {
             Throwable.instancehelper_printStackTrace(ex);
         }
     }
 }
Пример #4
0
 public static void populateAudio(string filename)
 {
     try
     {
         AudioData audioData = Utils.readAudioFile(filename);
         if (audioData == null)
         {
             audioData = Utils.readRawFile(filename);
         }
         AudioTool.zoomReset();
         AudioTool.audio.setAudioData(audioData.getAudioData());
     }
     catch (IOException)
     {
     }
 }
Пример #5
0
 public void actionPerformed(ActionEvent actionEvent)
 {
     AudioTool.getFilename("Open...", 0);
     if (AudioTool.filename == null || String.instancehelper_isEmpty(AudioTool.filename))
     {
         return;
     }
     try
     {
         AudioTool.getAudioFromFile(AudioTool.filename);
     }
     catch (System.Exception ex)
     {
         Throwable.instancehelper_printStackTrace(ex);
     }
 }
Пример #6
0
 public void actionPerformed(ActionEvent actionEvent)
 {
     AudioTool.getFilename("Save As...", 1);
     if (AudioTool.filename == null || String.instancehelper_isEmpty(AudioTool.filename))
     {
         return;
     }
     try
     {
         Utils.writeRawFile(AudioTool.audio, AudioTool.filename);
         AudioTool.access_000().setEnabled(false);
     }
     catch (IOException ex)
     {
         Throwable.instancehelper_printStackTrace(ex);
     }
 }
Пример #7
0
 public void actionPerformed(ActionEvent actionEvent)
 {
     if (!AudioTool.recording)
     {
         AudioTool.recording = true;
         AudioTool.recorder.startRecording();
         AudioTool.access_400().setText("Stop");
         AudioTool.access_000().setEnabled(true);
     }
     else
     {
         AudioTool.recording = false;
         AudioTool.recorder.stopRecording();
         AudioTool.audio.setAudioData(AudioTool.access_500(AudioTool.recorder));
         AudioTool.access_400().setText("Record");
         AudioTool.player.play(AudioTool.audioPanel.getSelectionStart(), AudioTool.audioPanel.getSelectionEnd());
     }
 }
Пример #8
0
 public void actionPerformed(ActionEvent actionEvent)
 {
     AudioTool.access_100();
 }
Пример #9
0
 internal static void access_300()
 {
     AudioTool.zoomReset();
 }
Пример #10
0
 internal static void access_200()
 {
     AudioTool.zoomOut();
 }
Пример #11
0
 internal static void access_100()
 {
     AudioTool.zoomIn();
 }
Пример #12
0
 internal static short[] access_500(Microphone microphone)
 {
     return(AudioTool.getRecordedAudio(microphone));
 }
Пример #13
0
 public static void main(string[] args)
 {
     AudioTool.prefs    = Preferences.userRoot().node("/edu/cmu/sphinx/tools/audio/AudioTool");
     AudioTool.filename = AudioTool.prefs.get("filename", "untitled.raw");
     AudioTool.file     = new File(AudioTool.filename);
     if (args.Length == 1 && String.instancehelper_equals(args[0], "-dumpMixers"))
     {
         AudioTool.dumpMixers();
         java.lang.System.exit(0);
     }
     try
     {
         if (args.Length > 0)
         {
             AudioTool.filename = args[0];
         }
         URL url;
         if (args.Length == 2)
         {
             url = new File(args[1]).toURI().toURL();
         }
         else
         {
             url = ClassLiteral <AudioTool> .Value.getResource("spectrogram.config.xml");
         }
         ConfigurationManager configurationManager = new ConfigurationManager(url);
         AudioTool.recorder = (Microphone)configurationManager.lookup("microphone");
         AudioTool.recorder.initialize();
         AudioTool.audio = new AudioData();
         FrontEnd         frontEnd      = (FrontEnd)configurationManager.lookup("frontEnd");
         StreamDataSource dataSource    = (StreamDataSource)configurationManager.lookup("streamDataSource");
         FrontEnd         frontEnd2     = (FrontEnd)configurationManager.lookup("cepstrumFrontEnd");
         StreamDataSource dataSource2   = (StreamDataSource)configurationManager.lookup("cstreamDataSource");
         PropertySheet    propertySheet = configurationManager.getPropertySheet("windower");
         float            @float        = propertySheet.getFloat("windowShiftInMs");
         JFrame           jframe        = new JFrame("AudioTool");
         AudioTool.fileChooser = new JFileChooser();
         AudioTool.createMenuBar(jframe);
         float num = @float * AudioTool.audio.getAudioFormat().getSampleRate() / 1000f;
         AudioTool.audioPanel       = new AudioPanel(AudioTool.audio, 1f / num, 0.004f);
         AudioTool.spectrogramPanel = new SpectrogramPanel(frontEnd, dataSource, AudioTool.audio);
         AudioTool.cepstrumPanel    = new CepstrumPanel(frontEnd2, dataSource2, AudioTool.audio);
         JPanel jpanel = new JPanel();
         jpanel.setLayout(new BoxLayout(jpanel, 3));
         jpanel.add(AudioTool.audioPanel);
         AudioTool.audioPanel.setAlignmentX(0f);
         jpanel.add(AudioTool.spectrogramPanel);
         AudioTool.spectrogramPanel.setAlignmentX(0f);
         jpanel.add(AudioTool.cepstrumPanel);
         AudioTool.cepstrumPanel.setAlignmentX(0f);
         JScrollPane jscrollPane = new JScrollPane(jpanel);
         JPanel      jpanel2     = new JPanel(new BorderLayout());
         jpanel2.add(AudioTool.createButtonPanel(), "North");
         jpanel2.add(jscrollPane);
         AudioTool.player = new AudioPlayer(AudioTool.audio);
         AudioTool.player.start();
         AudioTool.getAudioFromFile(AudioTool.filename);
         jframe.setDefaultCloseOperation(3);
         jframe.setContentPane(jpanel2);
         jframe.pack();
         jframe.setSize(640, 400);
         jframe.setVisible(true);
     }
     catch (System.Exception ex)
     {
         Throwable.instancehelper_printStackTrace(ex);
     }
 }
Пример #14
0
 private static void zoomIn()
 {
     AudioTool.zoom *= 2f;
     AudioTool.zoomPanels();
 }
Пример #15
0
 private static void zoomOut()
 {
     AudioTool.zoom /= 2f;
     AudioTool.zoomPanels();
 }
Пример #16
0
 private static void zoomReset()
 {
     AudioTool.zoom = 1f;
     AudioTool.zoomPanels();
 }