0
我想制作一个Android应用程序,用于收听麦克风,并向扬声器播放完全相同的声音,但只改变频率。 说我想玩总是加倍频率相比,输入。 我尝试使用调音器,并使用该频率使用AudioTrack类播放新音符,但听起来与输入无关。 (我猜是因为泛音消失了。)Android - 从不同频率的麦克风播放声音
所以我已经知道输入的频率,但是我想改变频率而不是仅仅发挥一个新音符,因为它听起来会有很大的不同。
有谁知道如何做到这一点? 在此先感谢, Jeroen D.
谢谢,我想出了一个想法:如果我知道特定时间的振幅,我可以使用正弦回归来获得正弦方程,从而得到频率。但这是否也能解决泛音问题?我假设麦克风确实记录了所有泛音,因此只需计算每个幅度的所有正弦函数就可以给出正确的解决方案? – JeroenD
你完全正确。任何音调都可以由多个正弦/余弦波的组合来表示。获得正弦/余弦波系数的最有效方法是fft。您需要将音频数据样本分组来做fft,而不是按样本进行抽样。单个数据点不包含任何频率平均值,只有一部分数据。 – Daniel