Вложений: 3
Временные задержки без процессора
Решил я провести один опыт по добавлению в свою систему временные задержки. Но так как ни процевого ГУ ни собственно процессора у меня нет, меня посетила другая идея. А что, если внести задержки в исходный материал, то есть прямо в аудио файл?
Итак wav файл несет в себе всего лишь 2 канала, право и лево. Соответственно, что нам нужно - это добавить в информацию левого канала (мы ж сидим ближе к левому, значит его и отодвигаем) просто необходимое количество нулей вначале, сдвинув таким образом всю информацию левого канала по времени. Уточню на всякий случай, что не затереть нулями N семплов вначале левого канала, а вставить пустые семплы.
Сначала я подумал, что ничего не получится из-за саба, так как на него будет приходить сумма каналов и бас просто расплывется так как он будет приходить по 2 раза на динамик, сначала из правого канала прямой, а потом потом через несколько миллисекунд задержаный из левого. Но все таки решил заглянуть в сервис мануал по моему ГУ и вот что я там увидел
Вложение 180577
О чудо! Сабвуфер сидит только на правом канале! А это значит, что во первых бас двоится не будет, а во вторых задержка не будет задерживать саб так как мыж задерживаем левый канал.
Обычная частота дискретизации wav файлов 44100 семплов в секунду. Это означает, что вставив один пустой семпл в левый канал мы получим задержку длинно 1/44100 секунды, что равно примерно 23 микросекунды или (если взять скорость звука 331 м/с) 7,5мм. То есть мы можем вносить задержки с шагом 7,5мм.
Немного оффтопа. Когда набираешь в гугле запрос "скорость звука", в выпадающем списке автодополнения первый же вариант запроса, который он предлагает "скорость звука в вакууме". апстену Видать часто ищут :D
Итак я сел и за 20 минут написал простенькую программу, которая берет WAV файл, читает его и добавляет в левый канал в начала нулей и записывает все это дело в такой же wav файл рядышком.
Осталось выяснить сколько нулей нужно приписать. Для этого я написал другую программу, уже под iPhone которая может проигрывать wav файлы и на лету менять задержку в левом канале. Для этого я взял пример из документации Apple, который нызвается SpeakHear, он умеет записать файл с микрофона и потом воспроизвести его. Вот его я и модифицировал выкинув записывающую часть, и добавив возможность задержки и контрол для изменения ее на лету. Также вложил туда 2 файла для теста: розовый шум с диска аудио доктор и мою любиму песенку для подобных целей Muse - I Belong to You.
Вот ее внешний вид:
Вложение 180579Вложение 180581
Далее опытным путем установил, что лучший результат получается в моей системе при задержке в 33 семпла, что примерно равно 25 см или 0.8 миллисекунды. При этом я получил довольно четкую позицию вокалиста перед собой и звук оторвался от мидов и поднялся на панель.
Завтра прогоню через первую программку несколько десятков файлов и буду слушать еще.
Что мы имеем в результате. Вечер времени и у нас есть задержки без процессора и без каких либо изменений в звуке! Естественно со своими ограничениями. Нельзя поменять задержку на лету, файлы специально нужно готовить для проигрывания в мишине, нельзя настроить задержки на пассажирское сидение, так как если будем задерживать правый канал, то с ним будет задерживаться и саб. Но тем не менее - результат есть и главное совершенно бесплатно.
Re: Временные задержки без процессора
Идея интересная, но не для ленивых.
belyakov_e, можете открывать студию и покупать патент! До вас еще никто до такого не додумался! Единственное отторжение- тыл и саб, а так мысля зачетная!:wink3:
Re: Временные задержки без процессора
Ну если оформить программу поудобнее - например чтобы ей указать папку, скажем целиком всю флешку с wav, чтобы она по ней пробежалась и переработала все файлы, то это будет одним кликом и думаю флешку на 8гб она пройдет по времени за 1 перекур.
Я когда-то, еще когда слушал мп3 на старом ГУ не умеющем теги читать, написал прогу которая пробегалась по всем папкам на флешке, доставала из мп3 теги и приписывала номера дорожек вначало имени файла чтобы они играли как расположены в альбоме. :)
Re: Временные задержки без процессора
Вроде щаз такое есть в самих аппаратах(я просто этим не пользовался)- и по настроению, и по ритму, и по cтилю и т.д.
Re: Временные задержки без процессора
Re: Временные задержки без процессора
Re: Временные задержки без процессора
Идея интересная, но даже теоретически не решает вопросы вертикальной синхронизации.
Да, безоговорочно так будет лучше, но образ скорее всего будет растянут вниз.
А так - безоговорочный зачет!!!
Re: Временные задержки без процессора
Цитата:
Сообщение от
sds
Идея интересная, но даже теоретически не решает вопросы вертикальной синхронизации.
Как раз была проблема . ВЧ и СЧ громкоговорители находились не рядом и не в одной плоскости .Поэтому данное решение в этом случае не годится.
Re: Временные задержки без процессора
Вадим, это все равно даст положительный результат. Да, не сведено. Но и по умолчанию, тоже ничего не сведено.
Re: Временные задержки без процессора
Цитата:
Сообщение от
sds
Вадим, это все равно даст положительный результат. Да, не сведено. Но и по умолчанию, тоже ничего не сведено.
Я не критикую ))) Просто размышления...