Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.04.2013, 10:49   #1
BARNEY
Участник клуба
 
Регистрация: 23.04.2009
Сообщений: 1,058
По умолчанию Wav перекодировка

Скажите как перекодировать WAV файл из любого качества в 8000 Hz, 16 bit, Mono.

Желательно стандартными компонентами.... В гугле искал не чего внятного не нашёл
Если вам человек помог, не стесняйтесь говорить спасибо (весы под аватаром)
BARNEY вне форума Ответить с цитированием
Старый 11.04.2013, 21:18   #2
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Насчет стандартных компонент - не знаю.
А так - задача не очень простая:
1. Прежде всего нужно обрезать фильтром высокого порядка все частоты выше примерно 7.5 кГц.
2. Нужно провести передискретизацию на другую частоту. Ни простейшая линейная интерполяция, ни полиномиальная сплайнами - категорически не подходят. В звукотехнике не этот счет существуют специальные алгоритмы, и я бы не сказал, что простые.

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

PS. В принципе, раньше существовал такой звуковой движок как BASS. Можете попытаться воспользоваться им.
Но все равно сначала нужно будет разобраться, что такое звук, и как с ним работать.
s-andriano вне форума Ответить с цитированием
Старый 11.04.2013, 23:06   #3
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

...если не хотите влезать сильно в тему, FFMPEG.

А вообще, изменить частоту дискретизации можно с помощью интерполяции временных отсчетов, либо через анализ спектра по Фурье - прогоняем через прямое FFT с заданным размером окна, добиваем нулями (или урезаем) до требуемого размера (отношение размера окон = не что иное, как коэффициент интерполяции), и делаем обратное FFT для нового размера окна. Материал по БПФ вам известен.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 12.04.2013, 07:49   #4
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Ну, с интерполяцией временных отсчетов - это явный тупик. Нельзя их интерполировать.
А вот с БПФ идея хорошая. Правда, насколько мне известно, обычно алгоритмы БПФ работают с размером окна равным степени двойки, т.е. переинтерполяция возможна лишь в 1/4, 1/2 или 2 раза (другие коэффициенты явно лежат за пределами разумного диапазона).
Посмотрите, возможно, поможет. http://dha.spb.ru/PDF/NontraditionalFFT1.pdf
s-andriano вне форума Ответить с цитированием
Старый 12.04.2013, 09:52   #5
BARNEY
Участник клуба
 
Регистрация: 23.04.2009
Сообщений: 1,058
По умолчанию

Спасибо... не думал что это так не просто... по этому
Цитата:
В общем, я рекомендую взять какой-нибудь из существующих звуковых редакторов и переконвертировать ручками.
Проще напишу исключение в программе, чтоб жувала только нужный формат.
Спасибо... всем большое тему можно закрыть....
Если вам человек помог, не стесняйтесь говорить спасибо (весы под аватаром)
BARNEY вне форума Ответить с цитированием
Старый 12.04.2013, 18:39   #6
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

...еще можно поручить конвертацию имеющимся кодекам в системе, через DirectShow (cм. ресурс "DirectShow по-русски").
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перекодировка galik Помощь студентам 2 22.10.2011 01:00
играть сначала 1.wav потом 2.wav mma Мультимедиа в Delphi 9 23.12.2010 20:04
перекодировка Александр 81 Помощь студентам 0 12.12.2010 16:54
Конвертация аудиофайлов WAV -> WAV namestnik Помощь студентам 2 27.05.2009 23:05