Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вытащить частоты из wav-файла, программирование звука 
:(
    Опции темы
Potapova
Дата 5.4.2011, 23:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 5.4.2011

Репутация: нет
Всего: нет



задача:
дано: файл wav, являющийся выборкой значений амплитуды

требуется: получить выборку значений частот (не для визуализации) и желательно найти способ изменять частоту основного тона.

Перечитала все темы по получению частот, однако не смогла разобраться: если использовать бпф, то к каким именно параметрам и какое именно бпф? как изменять частоты основного тона- каким образом должны измениться амплитуды, чтобы, скажем на полтона повысить основной тон(а остальные частоты, которые либо выше основного,либо ниже - не тронуть)?
PM MAIL   Вверх
Pavia
Дата 6.4.2011, 05:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 418
Регистрация: 6.12.2008

Репутация: 11
Всего: 12



Potapova,  Учите определения. А то вы тут такую ахинеею несёте.
PM MAIL   Вверх
Potapova
Дата 6.4.2011, 08:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 5.4.2011

Репутация: нет
Всего: нет



пожалуйсте, не ругайтесь, а поясните, в чем я неправа.
PM MAIL   Вверх
ksili
Дата 8.4.2011, 08:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2069
Регистрация: 3.11.2005
Где: Красноярск

Репутация: 2
Всего: 17



в бпф надо передавать значения амплитуд, т.е. то, что и содержит wav-файл. На выходе будет такое же кол-во спектральных отсчётов. Только не путайте значения амплитуд левого и правого каналов - их надо обрабатывать отдельными бпф.
Также надо понимать, что спектр меняется со временем, поэтому надо брать бпф не от всего файла, а частями от каких-то отрезков (т.е. в окне). Тут я особых знаний не имею, какая длина такого окна может быть - не знаю.

Что такое повысить на полтона, не совсем понимаю, т.к. мало знаком с теорией звука. В общем после такого преобразования можно делать с частотами что угодно. Можешь найти основную гармонику и увеличить её амплитуду, можешь убрать.... 


После преобразования для получения значений амплитуд звуковой волны надо сделать обратное бпф от изменённого спектра.

Это сообщение отредактировал(а) ksili - 8.4.2011, 08:37


--------------------
Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с)
PM MAIL   Вверх
Potapova
Дата 9.4.2011, 17:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 5.4.2011

Репутация: нет
Всего: нет



ksili, огромнейшее спасибо! Я очень благодарна!!!!!!
PM MAIL   Вверх
DRUID3
  Дата 12.4.2011, 22:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 463
Регистрация: 20.6.2005
Где: Kyyiv

Репутация: 2
Всего: 9



Вообще читайте в сторону LPC. 
В лоб (и через зад, но самый быстрый способ) - RealFFT - даст вам комплексный спектр. Если это точно речь - то основной тон будет максимальным пиком спектрограммы в пределах 200...1000 Hz. Правда основной тон это не столько частота базиса Фурье сколько интенсивность ударов дельта-функцией по линейной модели голосового тракта. Потому если ставится еще задача переноса частоты - то придется озаботиться переносом 2-ой и 3-ей гармоник этой самой основной частоты. По-науке - двигать спектр в верх-вниз нужно с помощью домножения на комплексную экспонету - две гармонические функции в квадратуре - синус и косинус. + соответстующая система полосовых фильтров дабы взять нужный участок. Но это слишком сложно, как для курсовгого или что там оно у Вас... Вспомним, что само БПФ и есть корреляция с комплексными синусоидами, и одновременно фильтрация - в некотором смысле - зачем же плодить новые сущности?

То что я напишу дальше - это сплошное радиолюбительство, но работать будет. Итак, допустим Вы уже получили спектрограмму - для простоты представим, что она вещественна.

Пусть это номера бинов и соответствующие амплитуды:
0 **
1 *
2 ******
3 ***
4 ***
5 ****
6 **
7 ***

Очевидно - основной тон - 2, 4 и 6 - его гармоники. Куда Вам нужно перенести? Допустим в 1. Поставьте бин 2 -> 1, 4 ->3 а 6 в 5. А значения старых бинов 1, 3 и 5 на место старых 2, 4 и 6.

 Еще раз - это не совсем корректно. На уровне "дворца пионеров" но работать будет. Голос изменится до неузнаваемости  smile . Если же стоит задача копировать чей-то голос - то там нужна довольно серьезная модель голосового тракта(читай много времени и денег - не для дипломов и курсовых), да и вообще это преследуется по закону  smile .


--------------------
Every time if you use Linux, you are joined to the communism...
практика - критерий истины ... отделенной от нас пропастью субъективного восприятия...
PM MAIL WWW Skype   Вверх
ksili
Дата 13.4.2011, 03:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2069
Регистрация: 3.11.2005
Где: Красноярск

Репутация: 2
Всего: 17



Цитата(DRUID3 @  13.4.2011,  02:17 Найти цитируемый пост)
да и вообще это преследуется по закону

Расскажите, пожалуйста, в каком законе запрещается копировать голос?


--------------------
Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с)
PM MAIL   Вверх
maxim1000
Дата 3.7.2012, 08:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 33
Всего: 110



Модератор: 
вопрос про определиние частот вынесен сюда: http://forum.vingrad.ru/forum/topic-353924.html


--------------------
qqq
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0424 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.