我想制作一款能够聆听麦克风的Android应用程序,并向扬声器播放完全相同的声音,但只更改了频率。 假设我想要播放的频率始终是输入的两倍。 我尝试使用调音器,并使用该频率使用AudioTrack类播放新音符,但听起来与输入完全不同。 (我猜是因为泛音消失了。)
所以我已经知道输入的频率,但我想改变频率,而不是只是播放一个新的音符,因为它听起来会非常不同。
有谁知道怎么做? 提前致谢, Jeroen D。
答案 0 :(得分:0)
这似乎是一个信号处理问题,而不是编程问题。
你是对的,所有像人声这样的自然声音都有很多频率。因此,您无法通过单一频率逼近麦克风输入,只需更改该频率即可。相反,您需要一种“调制”技术:使用低通滤波器对输入进行滤波,将其与另一个正弦波相乘,移除图像,并将最终结果提供给AudioTrack。请参阅基础知识的教科书“信号和系统”。