首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于RealTime的TarsosDSP基音移位技术

基于RealTime的TarsosDSP基音移位技术
EN

Stack Overflow用户
提问于 2016-05-23 08:42:09
回答 1查看 1.4K关注 0票数 3

我想要的是:

  1. 实时音高转换,同时播放歌曲。
  2. 音高转换也应记录到文件中。

代码:

代码语言:javascript
复制
    double rate = 1.0;
    RateTransposer rateTransposer;
    AudioDispatcher dispatcher;
    WaveformSimilarityBasedOverlapAdd wsola;

    dispatcher = AudioDispatcherFactory.fromPipe(mAudiopath, 44100, 5000, 2500);
    rateTransposer = new RateTransposer(rate);
    wsola = new WaveformSimilarityBasedOverlapAdd(WaveformSimilarityBasedOverlapAdd.Parameters.musicDefaults(rate, 44100));
    WaveformWriter writer = new WaveformWriter((TarsosDSPAudioFormat) dispatcher.getFormat(), BASE_PATH + "Recorded" + File.separator + "PITCHED_" + mVideoFileName + ".mp3");

    wsola.setDispatcher(dispatcher);
    dispatcher.addAudioProcessor(wsola);
    dispatcher.addAudioProcessor(rateTransposer);
    dispatcher.addAudioProcessor(new AndroidAudioPlayer(dispatcher.getFormat()));
    dispatcher.setZeroPadFirstBuffer(true);
    dispatcher.setZeroPadLastBuffer(true);
    dispatcher.addAudioProcessor(writer);

但在这里,我面临以下错误:

代码语言:javascript
复制
Error:(362, 41) error: cannot access AudioFormat
class file for javax.sound.sampled.AudioFormat not found

换行

代码语言:javascript
复制
   WaveformWriter writer = new WaveformWriter((TarsosDSPAudioFormat) dispatcher.getFormat(), BASE_PATH + "Recorded" + File.separator + "PITCHED_" + mVideoFileName + ".mp3");

如果我删除这一行,一切正常工作,只有歌曲不被记录到文件。

如果有人能帮忙请告诉我。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-23 09:44:11

这个问题是使用不依赖于JVM的WriterProcessor类解决的。

参考文献:https://github.com/JorenSix/TarsosDSP/issues/64

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37386410

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档