![]() |
|
|
![]()
|
|
| Joss |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 103 Регистрация: 19.3.2006 Репутация: нет Всего: 1 |
Поскажите алгоритм временного сжатия/растяжения сигнала(звука).
|
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: нет Всего: 459 |
Используй линейную интерполяцию соседних точек, ну или например параболическую. Это же как точки графика, заполняешь промежуточными значениями, получаешь медленное воспроизведение, убираешь наоборот ускоряется.
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Joss |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 103 Регистрация: 19.3.2006 Репутация: нет Всего: 1 |
А в случае сжатия просто выбрасывать часть отсчетов?
|
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: нет Всего: 459 |
Грубо говоря да, но лучше не выбрасывать, а записывать вместо одного отсчета среднее арифметическое двух отсчетов. т.е. удалить 2 а вместо 2х записать 1 средний. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Joss |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 103 Регистрация: 19.3.2006 Репутация: нет Всего: 1 |
При таком подходе изменяется тональность звука, т.е. например, при растяжении голос становится более низким. Как избавиться от этого эффекта?
|
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: нет Всего: 459 |
А разве не этот эффект нужен был? -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Joss |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 103 Регистрация: 19.3.2006 Репутация: нет Всего: 1 |
В том то и дело, что нет...Нужно растянуть/сжать сигнал не меняя тональности. Пример в архиве Присоединённый файл ( Кол-во скачиваний: 13 )
Examples.rar 31,49 Kb |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: нет Всего: 459 |
Joss, Есть идея, что если так: Подвергнуть фурье преобразованию, дальше дополнить буфер нулями ВЧ область (удвоить его длину), произвести обратное преобразование. Длина сигнала должна удвоиться, но спектр сохраниться, ведь в ВЧ области мы поставили нули. Что-то такое мне рассказывали. Думаю должно сработать.
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Joss |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 103 Регистрация: 19.3.2006 Репутация: нет Всего: 1 |
Спасибо! Вроде сработало, но сильно страдает качество...
По моему, в этом случае спектр тоже меняется. По ДПФ мы получаем отсчеты спектра с определенным шагом по частоте. Увеличивая число отсчетов спектра, мы как-бы уменьшаем этот шаг -> происходит сдвиг в сторону более низких частот |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: нет Всего: 459 |
Точно! А если попробовать сделать "заборчик" в спектре удвоенной длинны, т.е. между каждыми 2мя отсчетами спектра вставить пустой отсчет. Тогда вроде спектр должен уже сохраниться максимально близким. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Joss |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 103 Регистрация: 19.3.2006 Репутация: нет Всего: 1 |
Фишка в том, что растягивать/сжимать нужно не только в целое число раз
|
|||
|
||||
| Joss |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 103 Регистрация: 19.3.2006 Репутация: нет Всего: 1 |
Все, разобрался...
Alexeis, спасибо за советы! |
|||
|
||||
![]()
|
| Правила форума "Алгоритмы" | |
|
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Алгоритмы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |