Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сжатие/растяжение звука 
V
    Опции темы
Joss
Дата 9.4.2007, 21:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Поскажите алгоритм временного сжатия/растяжения сигнала(звука). 
PM MAIL   Вверх
Alexeis
Дата 9.4.2007, 22:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

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



Используй линейную интерполяцию соседних точек, ну или например параболическую. Это же как точки графика, заполняешь промежуточными значениями, получаешь медленное воспроизведение, убираешь наоборот ускоряется. 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Joss
Дата 10.4.2007, 08:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



А в случае сжатия просто выбрасывать часть отсчетов?
PM MAIL   Вверх
Alexeis
Дата 10.4.2007, 10:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

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



Цитата(Joss @  10.4.2007,  08:03 Найти цитируемый пост)
А в случае сжатия просто выбрасывать часть отсчетов? 

  Грубо говоря да, но лучше не выбрасывать, а записывать вместо одного отсчета среднее арифметическое двух отсчетов. т.е. удалить 2 а вместо 2х записать 1 средний.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Joss
Дата 10.4.2007, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



При таком подходе изменяется тональность звука, т.е. например, при растяжении голос становится более низким. Как избавиться от этого эффекта?
PM MAIL   Вверх
Alexeis
Дата 10.4.2007, 15:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

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



Цитата(Joss @  10.4.2007,  14:58 Найти цитируемый пост)
При таком подходе изменяется тональность звука, т.е. например, при растяжении голос становится более низким. Как избавиться от этого эффекта? 

  А разве не этот эффект нужен был?  smile 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Joss
Дата 10.4.2007, 17:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата

 А разве не этот эффект нужен был?


В том то и дело, что нет...Нужно растянуть/сжать сигнал не меняя тональности.

Пример в архиве

Присоединённый файл ( Кол-во скачиваний: 13 )
Присоединённый файл  Examples.rar 31,49 Kb
PM MAIL   Вверх
Alexeis
Дата 10.4.2007, 18:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

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



Joss, Есть идея, что если так: Подвергнуть фурье преобразованию, дальше дополнить буфер нулями ВЧ область (удвоить его длину), произвести обратное преобразование. Длина сигнала должна удвоиться, но спектр сохраниться, ведь в ВЧ области мы поставили нули. Что-то такое мне рассказывали. Думаю должно сработать. 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Joss
Дата 10.4.2007, 20:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Спасибо! Вроде сработало, но сильно страдает качество...

Цитата(Alexeis @  10.4.2007,  18:05 Найти цитируемый пост)
Длина сигнала должна удвоиться, но спектр сохраниться, ведь в ВЧ области мы поставили нули


По моему, в этом случае спектр тоже меняется. По ДПФ мы получаем отсчеты спектра с определенным шагом по частоте. Увеличивая число отсчетов спектра, мы как-бы уменьшаем этот шаг -> происходит сдвиг в сторону более низких частот

PM MAIL   Вверх
Alexeis
Дата 10.4.2007, 20:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

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



Цитата(Joss @  10.4.2007,  20:26 Найти цитируемый пост)
По моему, в этом случае спектр тоже меняется. По ДПФ мы получаем отсчеты спектра с определенным шагом по частоте. Увеличивая число отсчетов спектра, мы как-бы уменьшаем этот шаг -> происходит сдвиг в сторону более низких частот

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


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Joss
Дата 10.4.2007, 21:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Фишка в том, что растягивать/сжимать нужно не только в целое число раз
PM MAIL   Вверх
Joss
Дата 14.4.2007, 13:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Все, разобрался...
Alexeis,  спасибо за советы!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

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


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

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


 




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


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

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