我正在开发一个Android应用程序,其想法是能够操纵用户加载的声音。我想到的几件事是: 共振峰 调整 音调转换 循环 我在寻找可以重用和修改的算法或代码时遇到了麻烦。这似乎是Internet上不常见的 Realm 。 在哪里可以找到这样的代码和算法? 解决方案如下: 查看Audacity,这是一个开源声音编辑程序。它是用C和C++编写的,但是我相信您可以从其实现中借鉴思想。

2020年12月1日 0条评论 77点热度 阅读全文

这是我正在使用的代码: void playSound(){ final AudioTrack audioTrack = new AudioTrack(AudioManager.STREAM_MUSIC, sampleRate, AudioFormat.CHANNEL_OUT_MONO, AudioFormat.ENCODING_PCM_16BIT, generatedSnd.length, AudioTrack.MODE_STATIC); // audioTrack.setNotificationMarkerPos…

2020年12月1日 0条评论 118点热度 阅读全文

我正在研究一个不断更改页面并重新绘制页面的项目,我需要静音和取消静音才能在后台播放音乐。我的问题是,每当它更改页面并重新绘制并填充音乐时,音乐就会重置并停止。我这样做的目的是,每当在静音/取消静音按钮上按下鼠标时,音乐就会播放或停止,具体取决于是否静音。 任何人都可以使用任何简单的编码来创建一个静音/取消静音按钮,以在后台播放音乐,而不会在每次页面更改时都被打扰? 我正在小程序上的Eclipse上的Java上进行此操作。 请为我哑一下,因为我是Java的新手,所以我不太了解。谢谢。 这是页面更改的一些代码: pub…

2020年12月1日 0条评论 75点热度 阅读全文

我正在做一个个人项目。基本上,我有一些小的声音片段,例如拍手声或蜂鸣声。我想创建一个程序,通过麦克风或某种形式的音频输入来监听声音,当我播放声音片段时,它应该识别该片段。 我尝试自己调查一下,并找到了这篇文章。 http://www.redcode.nl/blog/2010/06/creating-shazam-in-java/ 我尝试复制它,但发现它没有按预期运行。我猜我用来创建哈希的声音剪辑太小,无法创建足够的值进行比较。 想知道是否有众所周知的程序或算法可以做到这一点。 解决方案如下: 丹·埃利斯(Dan E…

2020年12月1日 0条评论 66点热度 阅读全文

我本以为这将是一件容易的事,但是没有任何关于谷歌搜索的解决方案。 我已经为全屏运行的客户端编写了一个应用程序,允许用户翻阅教育书籍,以帮助教 children 阅读。到现在为止还挺好。所显示 Material 中的某些短语会读回用户,到目前为止,效果很好。通常,这些声音以系统音量读取。 (即,无论以任何音量播放其他系统声音。) 但是,客户端现在希望用户能够调整程序中的音量。我的UI和处理工作已经完成,但是我很难以有意义的方式调整正在播放的剪辑的音量。现在,我有一个时髦的设置,其中涉及读取剪辑的原始增益,然后针对每个…

2020年12月1日 0条评论 72点热度 阅读全文

我正在尝试用Java编写一些基本的声音编辑程序,但是我的16位WAVE文件格式遇到了很多麻烦。 当我问Java它认为我的声音文件有多少个样本时,它给我的数字是我预期的两倍。当我告诉Java生成一个80000字节样本的正弦波时,它播放了1秒钟而不是2秒钟(尽管采样率约为每秒40000)。 经过更多搜索后,我意识到文件的“帧大小”为2,“采样”实际上是2个字节而不是1个字节,并且这被称为16位音频文件。作为实验,我将声音文件写入字节数组,将其他每个字节设置为0,然后播放结果。当我仅保留奇数样本时,声音文件会播放一小段静…

2020年12月1日 0条评论 75点热度 阅读全文

看来Java的声音API可以很好地用于单个流,甚至可以用于设置来自麦克风的输入,但是不能用于设置Vista / Windows 7中的主音量级别。 引用: Java Sound API to access the system/master volume control in Vista and Win 7 How to adjust speaker volume from Java program? Changing master volume level 仅适用于XP为主卷 任何人都可以使用适用于所有人的东西(…

2020年12月1日 0条评论 86点热度 阅读全文

从总长度中获取所需长度的代码段: Clip clip = AudioSystem.getClip(); AudioInputStream ais = AudioSystem.getAudioInputStream( new File( "file.wav") ); clip.open( ais ); long currentPos = clip.getMicrosecondPosition(); // get the current position of clip 完成这些步骤之后,有没有办法我可以组成一个新的 …

2020年11月30日 0条评论 92点热度 阅读全文

我尚未开始编写部分代码,但想知道是否有人对此解决方案具有先验知识/是否有任何有用的资源。 我正在尝试在已经记录过的44.1 Khz PCM 16位(小尾数)音频数据的字节数组上模拟磁带饱和度(我已经准备好了录音类并且可以正常工作)。我想扭曲和过滤数据字节以模拟磁带的声音。 从理论上讲,我认为我们需要使用对称的软削波来消除失真(我看过本书第118页上的数字音频FX的示例,我只是不知道如何实现它:https://books.google.it/books?id=h90HIV0uwVsC&printsec=fro…

2020年11月30日 0条评论 99点热度 阅读全文

我有这个目录结构: root resources .png files Music.mid Sound.wav src .java files 然后使用此代码播放资源文件夹中的声音 public void play() { try { URL defaultSound = getClass().getResource(filename); AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(defaultSound); Clip c…

2020年11月30日 0条评论 112点热度 阅读全文