Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/131.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我想用JavaSwing制作一个DJ音乐混合软件(比如虚拟DJ),有可能吗?_Java_C++_Audio - Fatal编程技术网

我想用JavaSwing制作一个DJ音乐混合软件(比如虚拟DJ),有可能吗?

我想用JavaSwing制作一个DJ音乐混合软件(比如虚拟DJ),有可能吗?,java,c++,audio,Java,C++,Audio,这是我计划的大学项目,我有2个月的时间 下面列出了我需要的四件主要事情 虚拟DJ软件的交叉衰落特性 基本上,将有两个甲板(音乐播放器),并将有一个音量缺口共同为两个甲板。音量切迹的功能,如下所示 考虑一下,左边是甲板A,右边是甲板B 如果从左向右拖动音量槽口 {慢慢地,慢慢地,左甲板A的体积逐渐消失,平行地,右甲板B的体积逐渐消失} 确定歌曲的BPM(每分钟节拍) 根据BPM,可以使用音量类型按钮调整歌曲的速度 创造歌曲的视觉波形 希望你明白我想说的话。因此,如果有可能在2个月内制作,那么请帮助

这是我计划的大学项目,我有2个月的时间

下面列出了我需要的四件主要事情

  • 虚拟DJ软件的交叉衰落特性

    基本上,将有两个甲板(音乐播放器),并将有一个音量缺口共同为两个甲板。音量切迹的功能,如下所示

    考虑一下,左边是甲板A,右边是甲板B

    如果从左向右拖动音量槽口

    {慢慢地,慢慢地,左甲板A的体积逐渐消失,平行地,右甲板B的体积逐渐消失}

  • 确定歌曲的BPM(每分钟节拍)

  • 根据BPM,可以使用音量类型按钮调整歌曲的速度

  • 创造歌曲的视觉波形


  • 希望你明白我想说的话。因此,如果有可能在2个月内制作,那么请帮助我找到合适的音频库,这可以帮助我完成所有这4件事

    是的,理论上,你可以用Java完成所有这一切,但你会发现这并不容易。没有太多的库可以帮助您,如果您刚刚开始,我想您会发现两个月的截止日期很棘手:

  • 交叉衰落是一个简单的操作。你可以自己学习做这件事

  • 确定歌曲的节奏可能是最棘手的事情。我不知道有哪个Java库可以做到这一点。您可以通过启动单独的进程或使用JNI来使用C库

  • 音高转换和节奏可以使用SoundTouch进行调整。我相信有几种Java实现

  • 你必须自己做这件事。关于这一点还有其他问题。例如,请参见我对该问题的回答:


  • 对于一个简单的大学项目来说,这些任务中的任何一项都可能被认为是足够好的,尤其是如果这是一门入门或中级课程。

    哇,太棒了,这么快的回答。。thnx很多……)当然,在Java中实现所有这些都是可能的,但是有很多很好的理由说明为什么Java从未被商业化地用于音频软件。从第一原则来看,要求2很难做到。如果你真的想燃烧2个月,看看关于发病检测的学术论文——或者,使用类似的方法。要求3很难做好,除非你擅长DSP。有一些商业图书馆可以做到这一点。但是,不是用Java.Marko实现的,你能帮我找到开源库吗????