问题标签 [audioeffect]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
633 浏览

android - 如何在 Android 中对流式音频应用 3D 音频效果

我想为 Android 开发一个应用程序,允许您在播放流媒体音乐时应用 3D 音效。

我想要达到的效果是当用户用耳机听音乐时,可以改变扬声器在 3D 空间中的虚拟位置,即能够在三个维度上定位声音:在范围内(距离),在上下方向(仰角)、前后方向以及两侧(方位角)。

我正在使用MediaPlayerAudioFx用于基本的音频效果,例如:EqualizerPresetReverbBassBoostVirtualizer。AudioFx 提供的任何效果都不允许您应用 3D 效果。

简而言之,我希望 Andorid 具有与AVAudioEnvironmentNodeIOS 可用的功能等效的功能。

官方文档Virtualizer

Virtualizer 实现公开的方法、参数类型和单元直接映射 OpenSL ES 1.0.1 规范 ( http://www.khronos.org/opensles/ ) 为SLVirtualizerItf接口定义的那些。有关详细信息,请参阅本规范。

因此,AudioFx 效果使用在OpenSL. OpenSL ES 规范 1.1通过界面演示了 3D 音频的实现,SL3DLocationItf看起来正是我正在寻找的。

如果没有允许应用 3D 音频效果的函数/库,那么SL3DLocationItf结合我当前的 MediaPlayer 和 Audiofx 实现使用 OpenSL 接口最不痛苦的方法是什么?

扩展 AudioFx 库以仅添加 3D 效果将是完美的,从而避免在实践中必须使用NDKJNI重新实现新的媒体播放器来添加音频效果(过多的开销)。

任何帮助和建议将不胜感激。

0 投票
0 回答
58 浏览

audio - MorphVOX Pro 的二极管如何工作?

我正在尝试构建一个音频修改器,包括来自 MorphVOX 的二极管。我无法将此效果与我在其他程序上找到的任何其他效果相匹配,并且没有关于此效果的文档。

这是一个音频示例,说明二极管在最大强度的二极管模式下的作用。

没有二极管:https ://clyp.it/rhfxaozv

带二极管:https ://clyp.it/uhpdnaie

这种效果是如何产生的,你如何大胆地重新创造它?

0 投票
1 回答
138 浏览

audio - 音频卷积输出比输入长,当将数据反馈到固定长度的流时,我该如何解决这个问题?

从长度为 x 的流中获取音频数据后,然后将数据与长度为 256 的脉冲响应进行卷积。这使输出向量的长度为 (x + 256 - 1)。当数据然后反馈到长度为 x 的流中时,有 255 个过冲样本,然后会导致弹出和点击。

有解决办法吗?我不是 100% 关于如何在不丢失随机样本或导致此问题的情况下再次将大于原始缓冲区的缓冲区合并到输出中。

我省略了代码中较大的不相关部分,这一切都可以解决我需要修复的这个问题。它只是在这里给出对问题的洞察力。

代码:

0 投票
0 回答
280 浏览

android - 在 Android 中创建自定义音频效果

我正在开发 Android 11,并尝试创建自己的 AudioEffect。默认情况下已经存在一些音频效果,并且是从 AudioEffect.java 基类派生的,例如 BassBoost。我应该从 AudioEffect 基类派生我的效果吗?而且似乎需要 UUID 并在 AudioEffect.java 中定义。如何为我自己的音频效果创建该 UUID?

谁能给我一些提示?任何建议表示赞赏。

0 投票
1 回答
106 浏览

xamarin - Adding Reverb effect to MediaPlayer in 'Mobile App (Xamarin.Forms)' project

I have created an MP3 player in a Xamarin project, and it plays great. I have added the ability to adjust the Pitch and Speed, but I cannot get the Reverb effect to take to my MediaPlayer.

I have found various examples in Kotlin and Java of the code required to create both PresetReverb and EnvironmentalReverb methods to achieve this.

While my C# code runs and produces no errors, the Reverb effect will not apply using either method. I am new to Xamarin and Android, so I am hoping to get some help.

Here is my code.

Any ideas/advice would be greatly appreciated.

0 投票
0 回答
41 浏览

android - Android PresetReverb 和 EnvironmentalReverb 不起作用

我认为我已阅读有关此问题的所有内容,但尚未找到有效的答案。那么任何人都可以帮助向媒体播放器添加混响吗?这是我添加 PresetReverb 的代码

并添加环境混响

还添加了权限

所以我尝试使用 getAudioSessionId(),尝试了 audiosession 0 和 1,两者都没有产生混响。当我写mediaPlayer.prepare()的时候,应用程序崩溃了。Logcat 中没有错误。也许还有另一种创建混响的方法?

0 投票
1 回答
48 浏览

android - 如何添加 Android AudioEffect 低通滤波器?

我正在尝试将 LowPass 过滤器添加到 AudioTrack 或 MediaPlayer,但我认为它不存在。

与 Web Audio API 和 iOS 不同,Android 音频框架似乎根本不提供这样的效果:https ://developer.android.com/reference/kotlin/android/media/audiofx/AudioEffect

例如,在这种情况下是否有可能添加低通滤波器或任何双二阶滤波器?我必须创建我的 AudioEffect 吗?我到处寻找,但找不到任何东西。

老实说,我不确定该做什么或如何添加一个简单的低通滤波器。

任何事情都会有帮助!

0 投票
0 回答
48 浏览

android - 是否可以将 AcousticEchoCanceler(Android AudioEffect) 与 OpenSL ES (NDK) 一起使用?

它似乎AcousticEchoCanceler需要一个audioSessionId可用的。如果您使用AudioRecordor ,哪个有效AudioTrack。如果我们可以为 OpenSL ES 流分配“音频会话 ID”,我们是否能够将 AudioEffect(s) 与 NDK 一起使用。有谁知道这是否可以做到?