Выбор части семпла по частоте

Мне интересно, есть ли способ выбрать часть семпла на заданной частоте. Я думаю, что единственный способ проиндексировать семпл по частоте — это использовать БПФ, но это, похоже, испортит семпл, так что его больше нельзя будет воспроизвести. Мне было интересно, как еще можно выбрать часть сэмпла на заданной частоте, сохраняя при этом разборчивость звука?

Редактировать: точные инструкции были «синтезировать пример каждой гласной высотой 150 Гц и продолжительностью 5 секунд».

Редактировать: я совершенно неправильно понял, что мне нужно было сделать изначально. Новый вопрос здесь: Синтез гласных из существующего звукового образца jin matlab


person The General    schedule 11.11.2013    source источник


Ответы (2)


Точная формулировка предполагает, что вас просят синтезировать, т. е. создать новый сигнал, а не фильтровать или изменять существующий сигнал. Кроме того, он спрашивает об основной частоте 150 Гц (используется слово высота, а не частота. Я предполагаю, что основная частота достаточно хороша и/или что они имели в виду :).

Итак, позвольте мне попробовать переформулировать вопрос для вас:

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 Гц) с разной интенсивностью. Хитрость здесь заключается в знании интенсивности. или 2. Начните с импульса 150 Гц и отфильтруйте его. Хитрость заключается в том, чтобы знать, какой именно фильтр использовать, хотя использование правильного импульса, вероятно, также окажет некоторое влияние. В любом случае вам не нужно или не нужно БПФ на этапе генерации. Если вы не можете или не хотите искать неизвестные выше, вы можете использовать БПФ для анализа реального человека, произносящего эти звуки, и использовать результаты анализа для заполнения пробелов. Это было бы несложно сделать, но, вероятно, это описано в учебнике для продвинутых по фонетике и/или акустике.

Если вам нужен более подробный ответ, возможно, вам следует создать новый вопрос и связать его здесь, чтобы получить помощь в ответе на него. Я предлагаю следующие теги, если они существуют:

  • Синтез речи
  • Фильтрация
  • аудио
  • фонетика
person Bjorn Roche    schedule 11.11.2013
comment
Да, это имеет гораздо больше смысла - я почти уверен, что они имеют в виду основную частоту. Хорошо, я уже записал и сгладил звуковые образцы того, как я говорю со звуками, поэтому я предполагаю, что работа с ними будет самым простым способом синтезировать звуки, которые я ищу. Я разместил новый вопрос по адресу: stackoverflow.com/questions/19910606/ - person The General; 11.11.2013

Вы должны определить «на заданной частоте» более точно, но кажется, что вам нужен фильтр с узкой полосой пропускания, настроенный на желаемую частоту.

Однако требование узкой частоты противоречит разборчивости. В пределе одна частота просто дала бы вам синусоиду, и разборчивость была бы полностью потеряна.

person Luis Mendo    schedule 11.11.2013
comment
Точная формулировка такова: синтезируйте пример каждой гласной высотой 150 Гц и длительностью 5 секунд. - person The General; 11.11.2013
comment
@TheGeneral Это другая проблема. Гласная ни в коем случае не является одной частотой. У него много или гармоник. Фактически, именно эти гармоники отличают гласный звук от другого. - person Luis Mendo; 11.11.2013
comment
Тогда, видимо, я неправильно понимаю вопрос. Я действительно не понимаю, как синтезировать звуки фиксированной высоты, если я не беру одну частоту. - person The General; 11.11.2013
comment
@TheGeneral Pitch означает основную частоту (150 Гц). Воспринимаемый звук (тембр) зависит и от других гармоник (300 Гц, 450 Гц, ...) en.wikipedia.org/wiki/Timbre#Harmonics - person Luis Mendo; 11.11.2013
comment
Ах, да, вы абсолютно правы; это имеет больше смысла. Спасибо - person The General; 11.11.2013