将音频文件(mp3,wav,wma)拆分为1s块

时间:2014-03-03 17:36:11

标签: java file audio split analysis

我将FFT恢复到音频文件上,但它没有考虑到该频率发生在歌曲中的时间。我首先尝试获取文件的长度,然后在轨道长度上均匀地扩展FFT结果,但这可能是错误的并且没有给出正确的频率。所以现在我试图将文件分成1秒钟,然后单独返回第二个频率,然后我将其保存在数据库中以保存它。

但我不知道如何保存它,我找到的所有其他线程和我所做的研究只展示了如何分成x个部分,而不是像歌曲那样每秒。有没有办法做到这一点?

很抱歉,如果这是一个微不足道的话题,但我对Java和编程很陌生,所以这对我来说非常困难。

提前致谢

到目前为止,这是我的代码:

    File file = new File(FILENAME);
    float durationInSeconds = 0;  
    Tag tag; 
    java.util.logging.Logger.getLogger("org.jaudiotagger").setLevel(Level.OFF);
    AudioFile audioFile;
    try {
        audioFile = AudioFileIO.read(file);
        System.out.println("Track length = " + audioFile.getAudioHeader().getTrackLength());
        durationInSeconds = audioFile.getAudioHeader().getTrackLength();
    } catch (CannotReadException | TagException | ReadOnlyFileException
            | InvalidAudioFrameException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    }

    try {
        convert();
        System.out.println(((durationInSeconds)/endResult.length)*1000);
        for(int i = 0; i < endResult.length; i++) {

            Thread.sleep((long) (((durationInSeconds)/endResult.length)*1000));
            System.out.println(endResult[i]);
        }
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

0 个答案:

没有答案