LINUX.ORG.RU

Хочу активную систему шумоподавления НЧ

 


0

1

Задача немного специфическая, не хочу вдаваться в детали, но общая идея такая: есть микрофон и динамик. Нужно как можно быстрее обработать звук (что-то типа многополосной фильтрации и линии задержки) и выдать его на динамик. И вопрос: какое оборудование использовать, чтобы уложиться в 1мс на круг, а ещё лучше в 500мкс? Частота оцифровки не слишком важна, разрядность - видимо нужно больше 8, но не знаю, сколько. Я знаю, что в АЦП/ЦАП есть свои конструктивно обусловленные задержки, и это не говоря про задержки самого обсчёта. В голову пришли: большой компьютер, но пока не получалось меньше 3мс на обычных ОС и драйверах, на встроенной аудоикарте. RPI и иже с ними - тут вопрос в задержках на ЦАПах. Также L-Card. E-154 в пластиковом корпусе, могут быть наводки, и стоит уже немало. Зато её можно программировать.

★★★★★
Ответ на: комментарий от den73

Во-вторых, люди слышат разницу в атаке низкочастотных инструментов.

В чём? Давайте без аудиофильских терминов. Эта ваша «атака» - это же не про фазу, а про физически разные сигналы, то есть у вас «резкая атака» - это более широкополосный всплеск просто, а не «какая-то другая фаза». Вы думали «другая атака» - это что? Это когда мы начали синус не с нуля крутить, а с единицы как косинус? Типа прыжок с нуля на единицу сразу? Так это не синус и не косинус, а более широкополосный сигнал - его ухо и регистрирует как удар сразу по куче нервов, а не по одному из нервов.

lesopilorama
()
Ответ на: комментарий от den73

Мне тут же на лоре недавно объясняли, что хороший цифровой фильтр перед ЦАП требует до сотен семплов вперёд

Они там бред несут, потому что вам фильтр не нужен. Вы же не собираетесь цифровым способом резать низкие частоты - режьте аналоговым. Поставьте тупо такой микрофон, который вообще выше 300 гц ничего не слышит и после него ещё фильтров аналоговых наверните. Задача же не в фильтрации частотной, а в работе с фазой. Повторять сигнал так, чтобы повтор вычитал оригинал.

lesopilorama
()
Последнее исправление: lesopilorama (всего исправлений: 1)
Ответ на: комментарий от den73

Они не виноваты, что стены из дерьма и место тихое, шум с улицы не заглушает. Я с ними говорил, они делали тише. Не телевизор шумный, а мне так не повезло. Кроме того, это уголовщина и одного уже на таком поймали.

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

lesopilorama
()
Последнее исправление: lesopilorama (всего исправлений: 1)
Ответ на: комментарий от den73

Блин, ну как можно быть таким занудным. Берём голос. Вибрато. 220 герц плюс минус 3 герца. В каждый момент сигнал является суммой N синусоид, но частота этих синусоид меняется 7 раз в секунда на +- 3 герца. Их я и называю гармониками, и это правильно. Если 220 герц отстают по фазе на 90 градусов, а 880 - не отстают, то получается, что суммарный сигнал в каждый момент времени чуть расстроен относительно себя самого, допустим, 220.1 герц и 880 ровно. Я об этом и говорил, когда говорил про некратные гармоники. В комнате с реверберацией получается облако звуков разной частоты, когда в нём поют вибрато.

Да, всё верно. Голосо глушить тяжело. Но чувак в треде хотел НЧ какое-то глушить.

lesopilorama
()
Ответ на: комментарий от KivApple

Если тебе нужна задержка 500мкс, то проще всего выкинуть Linux и любую другую не RTOS и поставить микроконтроллер с АЦП и ЦАП подключенными по I2S/SPI. А там либо голый цикл «чтение, обработка, запись» (лучше всего первое и последнее делать с использованием DMA), либо RTOS. Вопрос насколько тяжёлый у тебя алгоритм. Если для МК тяжёлый (даже для всяких 32-битных STM32 с тактовой частотой 180 МГц и выше), я бы ещё рассмотрел вариант с FPGA.

Годнейшее мнение. FPGA на авито можно по 200 руб находить - старые пыльные «контрольные платы» от старых биткоиновых майнеров antminer s9. Там ещё внагрузку два ядра ARM и 512MB DDR3. Но FPGA вроде бы жрут как конь на сопоставимом объёме вычислений кажется. Ну всмысле «вычислений» условных, FPGA не вычислениями занимается, там прям схема из транзисторов своя, но всё равно в итоге будут какбэ вычисления.

lesopilorama
()
Последнее исправление: lesopilorama (всего исправлений: 1)
Ответ на: комментарий от lesopilorama

Главный посыл был что фаза таки имеет значение для восприятия звука человеком.

Нет, вообще не имет. Уши работают не как звуковуха. В ухе улитка …

Читать ваши фантазии на тему довольно занимательно.

поэтому человек никогда не различит 12000 гц и 12010 гц например.

С арифметикой у вас тоже нелады. На таких частотах в расстояние между ушами укладывается несколько периодов. Утверждалось что разность фаз является основным источником информации о направлении до 1.5kHz.

bugfixer ★★★★★
()
Ответ на: комментарий от bugfixer

С арифметикой у вас тоже нелады. На таких частотах в расстояние между ушами укладывается несколько периодов. Утверждалось что разность фаз является основным источником информации о направлении до 1.5kHz.

Информацией о направлении для человека всю жизнь было АЧХ сигнала и разная энергия на разных частотах. Информация про лево-право - тупо разность энергий в одном и другом ухе. Уши смотрят в разные стороны и голова достаточно массивный мясной объект, через который звук хреново идёт. Информация про верх-низ, зад-перёд - про разницу в ВЧ составляющей сигнала: форму ушных раковин тут ключевое: высокие частоты у звука прилетевшего сзади сильно ослабляются. Есть даже специальные прикольные стереомикрофоны в форме силиконовой головы с хорошими копиями ушных раковин.

На частотах ниже 1500 гц вроде да, фаза может как-то ловиться - десятки микросекунд моск как-то детектирует, выше уже точно нет. В мозгу есть какие-то нейроны, которые действуют как сдвиговые регистры, по ним типа волна пробегает, а над этими «регистрами» ещё один слой нейронов, который выдаёт возбуждение одного из нейронов, говорящего какая задержка между двумя сдвиговыми регистрами - чё-то там такое есть, да, но после 1500 гц это сильно ломается и не работает. В основном в природе для голосов, шумов подкрадывающихся тигров и шелестов это всё не работает - рулит форма головы, форма ушей, затенение ВЧ-колебаний головой.

lesopilorama
()
Последнее исправление: lesopilorama (всего исправлений: 5)
Ответ на: комментарий от lesopilorama

Вопрос был, почему в микшерах 0.7мс, а там-то он нужен. Я хотел сделать проект на коленке и применить цифровой микшер, т.к. в нём точно есть фильтры и линии задержки.

den73 ★★★★★
() автор топика
Последнее исправление: den73 (всего исправлений: 1)
Ответ на: комментарий от lesopilorama

Атака - это не аудиофильский термин, а музыкальный. Если аудиофилы его используют, это не есть повод его отменять. В том и дело, что меня интересуют не изолированные синусы и косинусы, а музыка, которая не сводится к бесконечным во времени синусам и косинусам, и даже к их сумме.

den73 ★★★★★
() автор топика
Ответ на: комментарий от den73

Но в общем и целом я пас от дальнейшего продолжения беседы, буду отвечать минимально. Если кто-то знает проекты по заглушению голоса из-за стены, то я готов к этой теме вернуться лет через дцать, если буду жив. А пока что я буду дальше использовать кабинку для репетиций, экспериментируя с микрофоном, а также я обещал акустикам попробовать подзаглушить комнату. Они утверждают, что для НЧ стенки кабинки прозрачны (не уверен в этом) и что слышна акустика комнаты, а также ходить в большие помещения для более правильного звучания голоса.

Проект НЧ шумоподавления интересен сам по себе, но тут я бы начал с того, что поискал бы такой проект готовым на гихабе, будь он хоть на FPGA, хоть на МК. 99%, что такие уже есть, потому что тема более чем актуальная. Интересно именно подавление НЧ, поскольку ВЧ глушится относительно легко и без всяких сложностей.

den73 ★★★★★
() автор топика
Последнее исправление: den73 (всего исправлений: 2)
Ответ на: комментарий от bugfixer

Утверждалось что разность фаз является основным источником информации о направлении до 1.5kHz.

Это, кстати, очень легко проверить. Генерим, например, 500 Гц в стерео и сдвигаем один канал. Разница должна быть заметна в наушниках.

thesis ★★★★★
()
Ответ на: комментарий от lesopilorama

Информацией о направлении для человека всю жизнь было АЧХ сигнала и разная энергия на разных частотах. Информация про лево-право - тупо разность энергий в одном и другом ухе.

Чувак, попробуй поменять местами провода на одной колонке (сдвиг 180°). Звук будет сбоку, хотя «разность энергий» будет близка к 0.

anonymous
()
Ответ на: комментарий от den73

Проект НЧ шумоподавления интересен сам по себе, но тут я бы начал с того, что поискал бы такой проект готовым

А не годятся ли для этого шумоподавители из магнитофонов?

anonymous
()
Ответ на: комментарий от anonymous

Dolby NR не годится, он по-другому работает: при записи задирают ВЧ, чтобы больше использовать динамический диапазон ленты, а при воспроизведении снижают обратно. Или что-то в этом роде. Т.е. вообще из другой оперы.

den73 ★★★★★
() автор топика

На самом деле тут типичный научный подход: мерять и моделировать не само явление, а ту его часть, которую легко померять и математически промоделировать.

Легко нагнать синусоид и замерять АЧХ. Когда мы разобрались в этом немного, давайте все явления объяснять через АЧХ, а те явления, которые не объяснятся, объявим антинаучными. Вот тут два человека, которые мне уже 4 страницы пытаются всё свести к АЧХ. Нет, проблемы плохого звука при записи голоса и других акустических инструментов в тесном помещении не сводятся к АЧХ, как вы хотите, спорить не будем.

Просто проведите опрос среди звукорежиссёров, можно ли «коробчатость» исправить эквалайзером. Ответ будет - нельзя. Минимум это какой-то де-реверб, да и то под вопросом. Либо использовать более остронаправленный микрофон. А самое правильное - не писать звук в тесной кабинке. Вот что вам ответят звукорежиссёры.

Можно либо проигнорировать то, что не входит в модель с АЧХ (подход двух людей здесь, которые взялись форматировать мой мозг под свои правила), либо понять, что именно осталось за кадром и построить более адекватную модель явления (правильный подход). А инженерное решение состоит в том, чтобы отказаться от неработающего варианта и взять работающий (в итоге я к этому пришёл).

den73 ★★★★★
() автор топика
Последнее исправление: den73 (всего исправлений: 4)
Ответ на: комментарий от anonymous

В воспроизведении звука аппаратурой атаку характеризует скорость наростания сигнала

Что ПОЛНОСТЬЮ определяется частотным диапазоном. Скорость - это то же самое, что частота. Курите вращение круга и его проекцию на ось X и ось Y - это и есть эти их синусы и косинусы. Скорость вращения круга, больше в этой науке ничего нет. Чем быстрее нарастала атака - тем быстрее там заставили крутиться точку по окружности, тем выше была частота в моменте. Конец тащемта.

lesopilorama
()
Ответ на: комментарий от lesopilorama

В воспроизведении звука аппаратурой атаку характеризует скорость наростания сигнала

Что ПОЛНОСТЬЮ определяется частотным диапазоном.

Как у вас всё просто. Вас не смущает само наличие такой характеристики УНЧ (мало кто эти циферки публикует) как максимальная скорость нарастания выходного напряжения?

bugfixer ★★★★★
()
Ответ на: комментарий от bugfixer

Как у вас всё просто. Вас не смущает само наличие такой характеристики УНЧ (мало кто эти циферки публикует) как максимальная скорость нарастания выходного напряжения?

Не публикуют, потому что для аудио это практически бесполезная информация

Waterlaz ★★★★★
()
Ответ на: комментарий от lesopilorama

Что ПОЛНОСТЬЮ определяется частотным диапазоном. Скорость - это то же самое, что частота.

загугли что такое «скорость нарастания сигнала» и что такое «частотный диапазон». А то ты пытаешься с помощью школьной геометрии связать 2 совершенно разных понятия…

anonymous
()
Ответ на: комментарий от anonymous

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

lesopilorama
()