我正在开发一个声音相关的应用程序。我正尝试将音频声音更改为完全不同于机器人的声音或使音频回声。我试过用soundpool,但没有任何想法,任何人都知道如何实现?我只需要一个基本的想法来实现这一点,请帮助。非常感谢。android音频音高变化
回答
音高和回声是两个不同的东西。
间距:
您可以通过对矫正播放速度改变音高。您可以通过两种方式完成:audioTrack和setPlayBackRate或SoundPool和setRate。取决于您的需求,AudioTrack允许较大范围的音高(从1hz到x2)在大型文件上,SoundPool用于音效,而picth可以在x0.5和x2之间变化。
回声/混响:
您可以AudioEffect因为API拉特9通过其附着到AudioTrack或MediaPlayer的实例归档此。
我正在一个类似的项目工作,我可以说你需要看看DSP(数字信号处理),PCM 16格式,最好是傅立叶变换。
是可能的回环与AudioRecord类音频(正在运行的线程不断填充缓冲区上AudioTrack)
但延迟可能是太大了,你要完成的任务。
祝你好运!
一些很好的指针: Android AudioRecord class - process live mic audio quickly, set up callback function
我可以得到一些链接,我可以得到有关DSP的介绍 – Sri
对于机器人的效果要设置音频以一定的间距。即做一个FFT,把所有东西都移动到一个频率单元中,然后做一个逆FFT以回到时域。
对于回声效果,您可以保留一个单独的缓冲区,它与您想要的回声延迟一样长。并且对于每个样本做类似以下的事情(伪代码):
output = mix(currentSample, echoBuffer[echoPos]*echoVolume)
echoBuffer[echoPos] = mix(currentSample, echoBuffer[echoPos]*echofeedback)
echoPos += 1
- 1. Android音频:变化音高
- 2. Android - 改变音频音调
- 3. Android上的高频音频
- 4. 减少音高/音高变化
- 5. android录音音量变化
- 6. android音频可视化
- 7. 创建音高变化码?
- 8. 改变音高和记录频率音频
- 9. 音频/语音可视化
- 10. 音频录音机Android
- 11. Android - 混音音频通道?
- 12. 音频 - android
- 13. Android音频SeekBar
- 14. Python:更改音频文件的音高
- 15. Audio Midi API-如何从音频样本中移除音高变化?
- 16. 提高Android音频录制质量?
- 17. 在Android上生成高频声音
- 18. 语音音调的变化
- 19. 是否有可能改变音频文件的播放音高
- 20. Sox和多个音频文件的音高改变
- 21. 在matlab中改变音频wav文件的音高?
- 22. 音频可视化
- 23. 音频本地化
- 24. 从android录音文件中获取频率和音高
- 25. 使用android MediaCodec编码时修改音频音高/速度
- 26. 静音音频
- 27. 混合音频android
- 28. 音频流的Android
- 29. Android音频播放
- 30. Android音频问题
您是否考虑过数据的本地(C)处理,将其保存到文件(例如wav)并播放?数据的输入格式将有助于确定最佳实施方式。 – sandrstar