Re: Восстановление звука из фрагментов
- From
- Sergey Andrianov (2:5020/1507.400)
- To
- Sergey Kabikov
- Date
- 2002-06-30T15:10:58Z
- Area
- RU.ALGORITHMS
Здравствуй, Sergey!
Однажды 29-Jun-02 в 19:12 Sergey Kabikov (2:5020/175.2)
написал Evgenij Masherov по поводу
-=- Восстановление звука из фрагментов -=-
SA>>> Есть общая задача: восстановить некоторый звук (возможно, несколько
SA>>> часов при оцифровке 44100-48000 Гц) из нескольких перекрывающихся во
SA>>> времени фрагментов, записанных независимо, т.е. с различными амплитудой
SA>>> и фазой оцифровки, а также дополнительными шумами и, возможно,
SA>>> искажениями из-за mp3-сжатия.
EM>> Я бы пользовался именно коэффициентом корреляции, но только считал бы
EM>> его, используя БПФ. (Основано на соотношении между сверткой и Фурье).
EM>> Время работы сокращается в десятки раз. Для предотврашения эффектов
EM>> наложения не забывать о дополнении нулями.
SK> Вероятно, если речь идет о больших (тысячи и более выборок) интервалах
SK> перекрытия,
Длина файла - порядка часа (т.е. более 100 млн. отсчетов), перекрытие от
нескольких сек (200 тыс. отсчетов) до нескольких минут (15 млн. отсчетов).
SK> можно обойтись корреляцией по огибающей ? Это к тому же снизит
SK> эффект искажений из-за сжатия.
Т.е. выпрямить, пропустить через фильтр и сделать передискретизацию примерно
на 30 Гц. Kаждая из длин сократиться примерно в полторы тыс, а суммарная
сложность - в 2 млн. раз. В общем-то, думаю, этого было бы достаточно, но
насколько достоверно будет такое определение?
SK> Или скомбинировать - разделить сигнал БПФ-ом на полосы и взять огибающую по
SK> каждой полосе независимо.
А вот насчет БПФ я не понимаю, как его следует делать. Если от всего файла,
то log(N) - число само по себе достаточно большое. Да и делать БПФ массива,
который не лезет в память - дело обременительное.
Другое дело - разделить фильтрами на несколько полос. Тогда возникет вопрос,
а на сколько полос следует делить, и зависит ли частота, с которой отслеживать
огибающую, от частоты фильтра?
Опять же, из каких критериев выбирать количество полос, в которых отслеживать огибающую (включая случай одной полосы, т.е. без фильтров)?
До свидания, в 14:52 MSK
Sergey
---
* Origin: Sergiev Posad (2:5020/1507.400)