按频率选择样本的一部分

时间:2013-11-11 00:21:01

标签: matlab select audio fft frequency

我想知道是否有办法在给定频率下选择部分样本。我可以考虑通过频率对样本进行索引的唯一方法是使用FFT,但这样做似乎弄乱了样本,因此它实际上不再可玩了。我想知道如何在给定频率下选择样本的一部分,同时保持声音可理解?

编辑:确切的说明是“合成每个音高150 Hz,持续时间为5秒的元音的例子”。

编辑:我完全误解了我最初需要做的事情。新问题在这里:Synthesizing vowel from existing audio sample jin matlab

2 个答案:

答案 0 :(得分:2)

确切的措辞表明你被要求合成,即创建一个新信号,而不是过滤,或修改现有信号。此外,它询问150赫兹的 fundamental frequency (它使用 pitch 这个词而不是频率。我假设那个基础频率足够好和/或它们意味着什么:)。

所以,让我试着为你重新提问:

Do the following for each vowel sound (A, E, I, O, U, etc):
    Create a 5 second sound with a fundamental frequency of 150 Hz.

我可以想出两种方法来解决这个问题:1。在不同的强度下总结一些正弦波(所有这些都是150 Hz的倍数)。知道强度是这里的诀窍。或2.以150 Hz的脉冲开始并对其进行过滤。知道要使用的确切滤波器就是这里的诀窍,尽管使用正确的脉冲也可能会产生一些影响。无论哪种方式,您都不需要或想要在生成阶段使用FFT。如果您不能或不想查找上面的未知数,那么可以使用FFT来分析说出这些声音的真人,并使用分析结果来填补空白。这样做并不难,但它可能包含在一本关于语音和/或声学的高级教科书中。

如果您需要更详细的答案,也许您应该创建一个新问题并将其链接到此处以帮助回答这个问题。我建议使用以下标签:

  • 语音合成
  • 过滤
  • 音频
  • 语音

答案 1 :(得分:1)

您应该更精确地定义“在给定频率下”,但似乎您想要的是一个具有所需频率调制的窄通带的滤波器。

然而,窄频率要求与可懂度相反。在极限情况下,单个频率只会给你一个正弦曲线,并且可懂度将完全丧失。