Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как изменить высоты звука?


@!!ex ©   (2007-11-20 09:03:00) 

ПОльзую fmod, нужно проиграть звук с высотой отличной от оригинальной.
Как, не знаю. Подскажите?


Pavia   (2007-11-20 17:43:00) [1]

Можно так делаем БПФ и смешаем амплитуды частот в сторону с более высокими частотами.


Sapersky   (2007-11-20 16:30:00) [2]

http://www.harmony-central.com/Effects/audio-effects-faq-10.txt
(How do I change the pitch of a sound?)
http://www.dspdimension.com/admin/time-pitch-overview/


homm   (2007-11-20 15:46:00) [3]

> [5] @!!ex ©   (20.11.07 13:38)
> Ошибка в логике? Или я не правильно понял?

Все верно понял. Увеличение частоты — увеличение скорости. Физика.


@!!ex   (2007-11-20 13:38:00) [4]

> [4] homm ©   (20.11.07 11:27)

1) У нас есть сигнал.
Мы его выводим быстрее, получаем более высокий звук. Да к томуже удаляем часть слов в итоге получаем еще более короткий сигнал...
Ошибка в логике? Или я не правильно понял?
2)Уже более интересный вариант, тут вроде ошибки нету, только при дублировании таком не очень хорошо получается...


homm   (2007-11-20 11:27:00) [5]

> [3] @!!ex ©   (20.11.07 11:25)
вопрос - как...

Я же написал


@!!ex   (2007-11-20 11:25:00) [6]

Я в курсе, что у звука нет характеристики "высота".
В том и вопрос, нужно добить ощущения, что звук выше, без изменения длины. Fruity как то это делает, вопрос - как...


homm   (2007-11-20 10:54:00) [7]

Может ты не понял (а может и я ошибаюсь) но у звука нет характеристики «высота». Тебе нужно увеличить частоту?
Есть 2 способа. Я объясню по простому, с реализацией не сталкивался.
1) Тупо выводим сигнал, который у нас есть с большей скоростью, с большей частотой, выкидывая данные, нгапример каждое 8-е слово для 16-и битного звука. Получаем частоту выше, но и по времени звук будет меньше идти. Возможно интерполируем соседние слова с учетом викинутого для увеличения качества.
2) первая часть такая-же, увеличиваем частоту, получая более короткий сигнал, с большей частотой. Дальше разбиваем его на последовательности, скажем по 1мс. и раставляем эти отрезки так, что-бы они начинались в то-же время, что и оригинал. Получем (для приведенного ранее примера) 1мс звука с большей частотой, и 0,11 мс тишины. Дальше заполняем тишину. Самый простой способ — взять и повторить часть блока. Но я думаю есть и более интеллектуальные алгоритмы, дающие лучше качество, но и требужщие расчетов.

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


homm   (2007-11-20 09:07:00) [8]

> [0] @!!ex ©   (20.11.07 09:03)
> ПОльзую fmod, нужно проиграть звук с высотой отличной от
> оригинальной.

Поставить колонки повыше?


Наверх

Титульная страница Поиск, карта сайта Написать письмо