![]() |
Временные задержки путём изменения wav файла
Вложений: 2
Решил я провести один опыт по добавлению в свою систему временные задержки. Но так как ни процевого ГУ ни собственно процессора у меня нет, меня посетила другая идея. А что, если внести задержки в исходный материал, то есть прямо в аудио файл?
Итак wav файл несет в себе всего лишь 2 канала, право и лево. Соответственно, что нам нужно - это добавить в информацию левого канала (мы ж сидим ближе к левому, значит его и отодвигаем) просто необходимое количество нулей вначале, сдвинув таким образом всю информацию левого канала по времени. Уточню на всякий случай, что не затереть нулями N семплов вначале левого канала, а вставить пустые семплы. Сначала я подумал, что ничего не получится из-за саба, так как на него будет приходить сумма каналов и бас просто расплывется так как он будет приходить по 2 раза на динамик, сначала из правого канала прямой, а потом потом через несколько миллисекунд задержаный из левого. Но все таки решил заглянуть в сервис мануал по моему ГУ и вот что я там увидел http://autozvuk.org/forum2/attachmen...1&d=1328298160 О чудо! Сабвуфер сидит только на правом канале! А это значит, что во первых бас двоится не будет, а во вторых задержка не будет задерживать саб так как мыж задерживаем левый канал. Обычная частота дискретизации wav файлов 44100 семплов в секунду. Это означает, что вставив один пустой семпл в левый канал мы получим задержку длинно 1/44100 секунды, что равно примерно 23 микросекунды или (если взять скорость звука 331 м/с) 7,5мм. То есть мы можем вносить задержки с шагом 7,5мм. Немного оффтопа. Когда набираешь в гугле запрос "скорость звука", в выпадающем списке автодополнения первый же вариант запроса, который он предлагает "скорость звука в вакууме". :wall: Видать часто ищут :D Итак я сел и за 20 минут написал простенькую программу, которая берет WAV файл, читает его и добавляет в левый канал в начала нулей и записывает все это дело в такой же wav файл рядышком. Осталось выяснить сколько нулей нужно приписать. Для этого я написал другую программу, уже под iPhone которая может проигрывать wav файлы и на лету менять задержку в левом канале. Для этого я взял пример из документации Apple, который нызвается SpeakHear, он умеет записать файл с микрофона и потом воспроизвести его. Вот его я и модифицировал выкинув записывающую часть, и добавив возможность задержки и контрол для изменения ее на лету. Также вложил туда 2 файла для теста: розовый шум с диска аудио доктор и мою любиму песенку для подобных целей Muse - I Belong to You. Вот ее внешний вид: http://autozvuk.org/forum2/attachmen...1&d=1328299550 http://autozvuk.org/forum2/attachmen...1&d=1328299550 Далее опытным путем установил, что лучший результат получается в моей системе при задержке в 33 семпла, что примерно равно 25 см или 0.8 миллисекунды. При этом я получил довольно четкую позицию вокалиста перед собой и звук оторвался от мидов и поднялся на панель. Завтра прогоню через первую программку несколько десятков файлов и буду слушать еще. Что мы имеем в результате. Вечер времени и у нас есть задержки без процессора и без каких либо изменений в звуке! Естественно со своими ограничениями. Нельзя поменять задержку на лету, файлы специально нужно готовить для проигрывания в мишине, нельзя настроить задержки на пассажирское сидение, так как если будем задерживать правый канал, то с ним будет задерживаться и саб. Но тем не менее - результат есть и главное совершенно бесплатно. |
Re: Временные задержки без процессора
тоже такие мысли посещали))
|
Re: Временные задержки без процессора
belyakov_e, когда-то я тоже также делал, но потом мне все это надоело: постоянно перегонять файлы. Особенно не удобно, когда у кого-то берешь на время послушать диск или подкинуть чужой диск для пробы (не всегда же есть ноут под рукой, да и времени свободного чаще нет, чем есть. Поэтому потом реализовал точно такю же задержку, но уже аппартным путем.
|
Re: Временные задержки без процессора
Да понятное дело, что ограничений валом. Но на это ушло в сумме всего часа 3. Как в магазин за процом съездить :) И совершенно бесплатно.
Ну аппаратно - это я не умею :) Я по программной части. |
Re: Временные задержки без процессора
belyakov_e, больше всего напрягало, когда друзья просили послушать мои записи, но я им их дать не мог :notknow: по понятным причинам они им не подходили ;)
|
Re: Временные задержки без процессора
Цитата:
|
Re: Временные задержки без процессора
Интересное решение:+1:
но.....не очень удобно или очень неудобно...:maybe2: |
Re: Временные задержки без процессора
Идея прикольная и наверное имеет право на жизнь, но видится несколько минусов.
1-й нужно прогнать через прогу всю фонотеку + оставить оригиналы. 2-й по хорошому нужно задержать правый мид относительно саба, а потом левый мид относительно правого и саба. В даной реализации так не получится. З-й определенные изменения в системе могут повлечь за собой очередном прогон фонотеки через прогу. А вообще хотелось бы послушать, инерестно, повлияет ли такой способ задержки на АЧХ, сфазированость... |
Re: Временные задержки без процессора
По идее эффект должен получиться абсолютно такой же, как в "машине времени" от SOVA, если я правильно понял принцип ее действия.
|
Re: Временные задержки без процессора
А еще можно заморочиться с аппаратными линиями задержки
их понадобится много, но модулей цветности от отечественных зомбоящиков 3УСЦТ сейчас навалом по рупь за ведро :) |
Re: Временные задержки без процессора
Цитата:
|
Re: Временные задержки без процессора
Такой гемор. Лучше несколько кнопочек на пульте нажать, чем сидеть и выслушивать каждый диск. Конешно прикольно но геморойно.;) Лучьше проц купить чем ноут с собой возить. те же бабки.
|
Re: Временные задержки без процессора
Цитата:
Если у друзей типа безпроц, то некоторым может и понравиться, а если проц - то пусть перестроят... :D Цитата:
Зачем выслушивать каждый диск? :maybe2: ОбЪясни плиз... з.ы. ЕАС легко вырежет нужное кол-во сэмлов из правого канала, что по сути даст тот же эффект. Десяток подготовленных треков,прослушал,определился... и вот она НИРВАНА.:) |
Re: Временные задержки без процессора
Отличное бюджетное решение (при достаточном опыте и навыках программирования)!
|
Re: Временные задержки без процессора
Цитата:
А так, выкладывайте программу в библиотеку - многие будут слушать у себя в машине. |
Re: Временные задержки без процессора
belyakov_e, а можешь скинуть прогу на мыло? смогу я её установить на свой айфон iOS 5.0.1 без джейла?
|
Re: Временные задержки без процессора
Цитата:
Исходный код, если нужен, могу без проблем выслать. Насчет джейла, если честно, я не знаю как на него ставить программы. Сколько лет пишу под айфон, а с джейлом сталкиваться не приходилось, все как-то за деньги и для апп стора работал :) Да и функционал проги - способность воспроизвести всего 2 зашитых в нее файла с настраиваемой на лету задержкой. Нужна всего на пару мину т (может часов) по сути для поиска нужного значения. Что касается программы уже под компьютер, которая собственно переделывает wav файлы, то ее я собрал под Mac OS X. В принципе она написана на чистом С, без использования каких-то специфичных вещей макоса, так что я могу ее пересобрать и под винду. Если есть желающие, я поставлю себе Visual Studio и соберу. Но если EAC способен вырезать N семплов в правом канале, то это по сути то же самое. Исходные коды этой программы я могу тоже без проблем выслать если кому-то интересно. |
Re: Временные задержки без процессора
спасибо!)
|
Re: Временные задержки без процессора
Цитата:
|
Re: Временные задержки без процессора
Вчера от грусти "твикнул" ЕАСом один диск (вспомнив какие задержки стояли в 53-м Альпе:)), сегодня послушал...
ЭтО имеет полное право на жизнь :yes3: |
Текущее время: 18:43. Часовой пояс GMT +2. |
Перевод: zCarot
autozvuk.org ©