Генератор фонового шума (Noise constructor)

Волутар
Сообщения: 62
Зарегистрирован: Пт сен 25, 2009 6:12

Генератор фонового шума (Noise constructor)

Сообщение Волутар »

Здравствуйте, уважаемые!

Еще с момента выхода BWGen ощутил острую необходимость в том, чтобы фоновый шум был маленько поразнообразнее, чем просто банальный розовый или коричневый шум.
Программистских экспериментов была масса, по неопытности не очень удачных, и тема была заброшена на неопределенное время.

И вот какое-то время назад оформилась дельная мысль, которую я бросился воплощать.

Суть в том, чтобы генерировать обычный белый шум, но накладывать на него БИХ(IIR)-фильтры, причем фильтры с "плавающими" параметрами, которые бы задавались графиками. Эти фильтры весьма просты в создании и очень нересурсоёмки.
При этом звук может получиться очень даже интересный.
Главная фича в том, что подобных программ на данный момент нет. Есть всякие SBaGenы, BWGen'ы, NP2 и прочие, в которых момент ПЛАВАЮЩИХ спектральных характеристик фонового шума просто опущен.
Причем! Проэмулировать данные звуки с помощью аудиоредакторов тоже весьма непросто. В SoundForge, например, вообще нет такого понятия как фильтр с плавающими параметрами (есть только всякие wahwah,phaser в которых параметры плавают по синусоиде, всегда). В Audition такое появилось относительно недавно, но там временнАя шкала невменяемая - нельзя хоть какого-то хронометража параметров добиться (только разве что совсем условно, и на очень недлинной дистанции).
Кстати, такой фоновый шум используется в HemiSync. При его создании они скорее всего использовали какие-то железячные шумогенерилки.

На данной стадии программа генерирует только шум. Характеристики шума можно очень широко варьировать параметрически. Редактор графиков параметров старался сделать как можно более удобным (не сравнить с BWG'шным). Амплитуда шума пока что не реализована (пока что это вообще первая пре-альфа), чтобы просто продемонстрировать о чем вообще все это (!!! Добавлено: уже реализована).
У каждого фильтра может быть 2-3 параметра (в зависимости от типа фильтра). Сами кривые задаются как безье-сплайны, приведенные к одномерной форме (y=f(x)). Касательные по ширине хоть и могут заходить за пределы соседних узлов, но при этом они "обрезаются", чтобы не создавались ситуации горизонтальных перехлестов (все-таки одному X соответствует один Y).

сама программа.

Интерфейс достаточно интуитивный (по крайней мере старался делать таковым). Правая кнопка на графиках пока работает только как панорамирование (предполагается и контекстное меню).

Графики: Insert - добавить узел, Delete - Удалить узел(узлы), 's' изменить "гладкость", '~' - переключаться между изменениями узла и направляющих, лево/право/вверх/вниз - двигать выбранные узлы/направляющие (ctrl - x10 размер шага), '<' и '>' переключаться между узлами (клавиатурой можно редактировать кривую, но пока что ввод цифрами не реализован).
Работает выделение рамкой и с shift/ctrl. Ctrl+C (копировать), Ctrl+V (вставить) тоже работают, при этом данные сохраняются в буфере в текстовом виде, и его можно сохранить в каком-нибудь текстовом файле и использовать позже.
Колесо - Изменение масштаба, +Shift = только горизонтальное, +Ctrl = только вертикальное.
Двойной клик - раздвигает график по вертикали(остальные "скукоживаются"). Это если нужно более подробно проработать.

Filter list: RMB = контекстоном меню (добавить/удалить/изменить цвет/изменить тип фильтра).

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

ВременнОй указатель можно перемещается при щелчке левой кнопкой над или под графиком (под графиком убрал - т.к. это порой вызывает нежелаемые перемотки). Его, кстати, можно перемещать и во время воспроизведения. Если во время воспроизведения менять параметры кривой, то это будет сразу отражаться на звуке, но изменение типа фильтров происходит только во время начала воспроизведения (когда фокус на графике - клавиша Space).
Учитывая то, что графики и фильтры по своей длительности могут быть совершенно произвольной длины, не зависимы друг от друга, то это создает ситуацию "плавающих" периодов. В этом смысле нужно быть осторожными чтобы разные параметры одного фильтра не уплыли друг от друга на "недокументированное" расстояние :).
За счет этого, кстати, полный ОБЩИЙ цикл для всех параметров может оказаться больше нескольких часов или даже суток.

Время от времени могут вылазить "щелчки" (как правило из-за несовпадения циклов и резкого "переключения" основной частоты фильтра), и в принципе могут выскакивать "исключения". Если найдутся четкие повторяемые сочетания - сообщайте.
В архив включен демонстрационный файлик. Там простенький быстро наброшеный шумовой "рисунок". Формат файла пока что текстовый, потом скорее всего это поменяю.
Стерео как таковое пока что никак не реализовано. Все параметры фильтров дублируются на левом и на правом канале, но сам шум - стерео.

Программа пишется на дельфи, но в принципе возможно ее переписать на сях и портировать на маки (если найдутся добровольцы). Также неплохо было бы заиметь что-то типа домашней странички (проект-то все-таки не совсем отстойный, хоть и на совсем ранней стадии). Изначально кстати была мысль о том чтобы было 2 версии, одна - сам редактор, другая - сверхоблегченная, консольная, типа SBaGen'а. Сам принцип изменения параметров и использования фильтров - ОЧЕНЬ простой. И мне честно говоря очень странным кажется тот факт, что такого никто не делал. Может быть этот "хитрый" шум и правда нафиг никому не нужен? Лично для меня это замена музыки, когда нужно заблокироваться от фоновых окружающих шумов и сосредоточиться на своей задаче.

В будущем, если идея не окажется загубленной и зарубленной, планируется сделать этот "шум" - лишь шаблоном, коих в рамках одного "пресета" можно будет использовать энное количество. Кроме того должно быть полностью независимые левый-правый канал, или же с каким-то коэффицентом смешивания. А также добавить к этому всему бинауральные и возможно изохронические треки. Также есть мысль сделать что-то вроде линии задержки (чтобы шум левого и правого канала отличались на некоторую, ПАРАМЕТРИЧЕСКУЮ величину). В этом смысле, будучи совмещенным с плавающими пиковыми фильтрами звук можно сделать "трехмерным", HRTF подобным.

Пишите если есть какие мысли или замечания или предложения.
Последний раз редактировалось Волутар Ср сен 30, 2009 15:05, всего редактировалось 7 раз.
Эйкс
Сообщения: 11
Зарегистрирован: Ср сен 23, 2009 19:44

Сообщение Эйкс »

Отлично вышло ! Прочувствовал нечто непонятное (Морской прибой на взлетной полосе во время шторма) :)

1. Возможно ли сделать рандомайз скорости фильтров ?
2. Возможно ли приделать ещё полоску для строб сигнала ?
Волутар
Сообщения: 62
Зарегистрирован: Пт сен 25, 2009 6:12

Сообщение Волутар »

1. Рандомайз скорости фильтров? В принципе какую то вариативность можно добавить. У меня была про это мысль, но проблема в том, что значения параметров идут по дискретным временным отметкам (сейчас - 20 раз в секунду), если пытаться сокращать очень "плотный" фильтр, то значения могут "склеиться". Какой-то более изящный способ на ум не приходит. А вообще конечно это штука важная.

2. Стробы конечно можно, только я не знаю каким образом он вообще должен действовать.

Сейчас чуточку "улучшил". Сделал более плавное движение временнОй метки и анимации графика АЧХ (побочный эффект этого - перемотка во время воспроизведения глючит - буду править.). Еще сделал что при переходе времени "за экран" он переключается на "следующий экран". Правда пока что это сделано втупую. Буду менять.
Эйкс
Сообщения: 11
Зарегистрирован: Ср сен 23, 2009 19:44

Сообщение Эйкс »

2. Стробы конечно можно, только я не знаю каким образом он вообще должен действовать.
http://www.mindmachine.ru/viewtopic.php?t=16

Моя идея такова : Пустить ещё один генератор на частоте 19200 Гц (не пропуская его через фильтры , а накладывать на выходной сигнал),
1. а его громкость привязать каким-то образом к фильтрам (отмечать , к каким фильтрам его привязывать ).
2. Использовать кривую.
Волутар
Сообщения: 62
Зарегистрирован: Пт сен 25, 2009 6:12

Сообщение Волутар »

Эйкс, Для начала это только шумогенератор. Пока что одноканальный.
Какие-то дополнительные каналы, в т.ч. бинауральные и другие шумы - дело будущего. Туда же можно будет пристыковать и аудостробовый канал. По крайней мере его можно будет проэмулировать обычным бинауральным тоном с несущей частотой в 19.2КГц и с частотой биения в 0 ГЦ.

В любом случае вслепую я вряд ли это буду делать.
Волутар
Сообщения: 62
Зарегистрирован: Пт сен 25, 2009 6:12

Сообщение Волутар »

Вроде разобрался с "перемоткой". Сейчас должно по идее без глюков перематывать во время воспроизведения (в пределах экрана).
График АЧХ сделал логарифмическим и сделал подобие "шкалы".
Аватара пользователя
Джим
Сообщения: 210
Зарегистрирован: Пт июн 15, 2007 23:03

Сообщение Джим »

Волутар
Есть мнение, что в альфа-диапазоне ЛЮБОЙ вид слышимой на слух модуляции звука имеет эффект, т.е. ББ или пульсирующий звук равно эффективны или наоборот.
Сюда же относятся БИХ-фильтры малых порядков, хрюкающие (например) "окрашенный" шум.
(На самом деле эффект от "фильтровой" модуляции, как показывают практики, хуже всех).
Т.е. Вы на технически правильном пути, на мой вкус, но please, take a look for the "long" FIR filters...
Удачи.
(на самом деле -- сколько шум не модулируй -- лучше, чем у Андрея Патрушева не получится :) )
Последний раз редактировалось Джим Вс сен 27, 2009 2:53, всего редактировалось 1 раз.
Гость

Сообщение Гость »

[quote="Джим"]Волутар
Есть мнение, что в альфа-диапазоне ЛЮБОЙ вид слышимой на слух модуляции звука имеет эффект, т.е. ББ или пульсирующий звук равно эффективны или наоборот.
Сюда же относятся БИХ-фильтры малых порядков, хрюкающие (например) "окрашенный" шум.
(На самом деле эффект от "фильтровой" модуляции, как показывают практики, хуже всех).
Т.е. Вы на технически правильном пути, на мой вкус, но please, take a look for the "long" FIR filters...
Удачи.
ЗЫ: и не зарубайтесь на модуляции шума, если можно :)
Волутар
Сообщения: 62
Зарегистрирован: Пт сен 25, 2009 6:12

Сообщение Волутар »

Джим, не вполне понимаю вашего языка. Что за хрюкающие шумы? Что за фильтровая модуляция?
FIR фильтры вообще нельзя плавно параметризировать, так что это не подходит.
Если есть примеры обратного - продемонстрируйте.
И что значит "зарубаться на модуляции шума"?
Please be more specific.

P.S.: Шумов Андрея Патрушева не видел нигде, и не слышал о них. Так что плиз, можно примеры?

P.P.S.: по поводу того почему я начал с шума - я в первом сообщении написал - потому что в иных программах шумовая составляющая вообще чуть ли не целиком опущена. Мне самому это нужно для создания бесхарактерного фонового шума (вместо музыки), когда надо заглушить посторонние отвлекающие звуки чтобы сконцентрироваться на задаче.
Эйкс
Сообщения: 11
Зарегистрирован: Ср сен 23, 2009 19:44

Сообщение Эйкс »

Волутар
Если возможно - можно ссылочку на доработанную версию ?
Старая ссылка не работает .
Волутар
Сообщения: 62
Зарегистрирован: Пт сен 25, 2009 6:12

Сообщение Волутар »

Эйкс, должна работать. Если пишет forbidden - нужно просто повторно "Вперед" нажать.
Сделаю-ка страничку со ссылкой (провайдер на не хтмл докуметы без "Reference" не впускает).
В общем, можно и нужно брать тут
Буду вести что-то вроде change history.
Волутар
Сообщения: 62
Зарегистрирован: Пт сен 25, 2009 6:12

Сообщение Волутар »

Поправил глюк с исходящим тангентом (иногда глючил).
Амплитудный параметр теперь тоже действует.

Еще хотелось бы сделать чтобы undo/redo работал на удаление/добавление фильтров, но это непросто и поэтому подождет.
Аватара пользователя
Джим
Сообщения: 210
Зарегистрирован: Пт июн 15, 2007 23:03

Сообщение Джим »

Волутар
Джим, не вполне понимаю вашего языка. Что за хрюкающие шумы? Что за фильтровая модуляция?
FIR фильтры вообще нельзя плавно параметризировать, так что это не подходит.
Если есть примеры обратного - продемонстрируйте.
И что значит "зарубаться на модуляции шума"?
Please be more specific
Видите ли, из всего, что здесь написано, я сделал вывод, что Вы собиратесь менять параметры шума с характерными частотами (альфа и все, что вокруг).
Оно, конечно, интересно и полезно (во всех отношениях -- в первую очередь -- для Вашей квалификации), но и не более того.
Т.е. это как я понял. "Еще одна разновидность" "пульсирующего" звука никак ни приведет к революции -- лучше потратить силы и время на что-нибудь пооригинальнее.
А КИХ-фильтры -- да, особенно "длинные" (2К-8К) о да, не любят перестраиваться.
А понимать не обязательно -- ну подумайте -- все виды "механистических" модуляций, управляемых во времени, исчерпаны "всякими там..."...
А с другой стороны, человечество, совершенно без физиологических исследований, столетиями (тысячелетиями??) изобретало музыку. И достигло некоторых результатов. Что забавно -- существует целая отрасль знания, называющая себя "философия эстетики" -- ее нельзя назвать законченной, но музыка, как "эстетический объект" выпадает из всех ее построений.
А что до КИХ-фильтров -- если у Вас получится получить более менее точно (+-0.2 дБ во всей полосе и лучше) комплексный сигнал из... источника -- будет Вам счастье. А может -- и не будет. В моем кругу есть люди, которые меня почти убедили, что копать в этом направлении почти преступно -- надеюсь, Вас убеждать не будут.
Менее витиевато и более последовательно -- к сожалению, не могу.
Аватара пользователя
Джим
Сообщения: 210
Зарегистрирован: Пт июн 15, 2007 23:03

Сообщение Джим »

Волутар
Кстати, а проги я не заметил, посему посчитал все Ваши построения умозрительными. Скачал и посмотрю. Насколько я знаю, в столь законченном виде -- Вы это сделали первым. (Правда, в виде незаконченном -- попытки были -- не слишком вдохновляющие на то, чтобы их заканчивать.)
Волутар
Сообщения: 62
Зарегистрирован: Пт сен 25, 2009 6:12

Сообщение Волутар »

Джим, я вот ничегошеньки не знаю про какие-то эдакие особенности длинных (до 1/5с) КИХ-фильтров... и что это за сигналы из "источника"? Может быть какие нибудь ссылки есть?
Кстати генерация сигналов с таким длинным фильтром в рилтайме (если этот фильтр будет каким-то чудом добыт) - нетривиальна. Без хитрых оптимизаций проц может и не справиться..
А что до "еще одна разновидность" - дык нету! Нету ни одной софтовой _генерилки_ (не воспроизводилки) релаксационных звуков, в которых было бы что-то отличное от банального однородного розового или белого шума с бинауральными или изохроническими пульсациями.

От законченности проект весьма далек, и не знаю, станет ли закоченным когда-либо вообще. Это довольно сильно зависит от обратной связи.
Аватара пользователя
Джим
Сообщения: 210
Зарегистрирован: Пт июн 15, 2007 23:03

Сообщение Джим »

Волутар
Я уже примерно ознакомился. Вы сделали довольно забавный синтезатор.
Джим, я вот ничегошеньки не знаю про какие-то эдакие особенности длинных (до 1/5с) КИХ-фильтров... и что это за сигналы из "источника"? Может быть какие нибудь ссылки есть?
Источник == музыка. Любая, какая нравится -- ссылки см. сами.
Кстати генерация сигналов с таким длинным фильтром в рилтайме (если этот фильтр будет каким-то чудом добыт) - нетривиальна. Без хитрых оптимизаций проц может и не справиться..
В реалтайме большинство процов справляется -- и немногим более. Нащет чуда не знаю. :( :( :(
А что до "еще одна разновидность" - дык нету! Нету ни одной софтовой _генерилки_ (не воспроизводилки) релаксационных звуков, в которых было бы что-то отличное от банального однородного розового или белого шума с бинауральными или изохроническими пульсациями.
Ну не знаю -- у меня в почтовой базе есть...

В общем, для генерации ФОНА (которым многие пренебрегают) все, кажется, хорошо, но. Для ФОНА (на мой вкус) шумоподобные "звуки природы" (будучи тщательно подобранными) на мой вкус не хуже. (ФОН, разумеется, для ББ и/или как предмет для фазовой и другой модуляции.)
Еще раз -- ритмы, сочетающиеся с физиологическими -- можно получать по всякому -- на сколько я понял, Ваша прога на это (пока?) не претендует.
Тем не менее я вот чего не догоняю -- поскольку всякие там альфа/тета, судя по всему -- вне Ваших интересов, что, конечная точка траектории -- создать синтезатор "просто" релаксационных звуков??
Волутар
Сообщения: 62
Зарегистрирован: Пт сен 25, 2009 6:12

Сообщение Волутар »

Как я уже говорил - есть мысль развить ее до стадии перекрывающей и превосходящей BWGen по возможностям и удобству.
По сути этот Noise Constructor - это небольшой "подраздел". А сам этот шумовой рисунок - нечто вроде шаблона, который в главном таймлайне можно помещать как "клип" с модифицируемыми параметрами (через т.н. guide curves).

Всякие альфа-тета - в интересах, но не в основных. На эту тему достаточно уже было сделано, и я просто решил начать так сказать с другого, более сложного конца. К тому же был личный интерес в "фоноглушилке".

По поводу звуков природы в качестве фона... Они в любом случае будут отдавать искусственностью и зацикленностью, что не есть гуд. Неповторяющиеся качественные звуки природы, которые не будут капать на мозг внезапными звучками, да длительностью в несколько часов... Вы о таком слышали? Я - нет.
Лично мне 30-45 минутных треков маловато. Мне несколько часов подавай :)
Аватара пользователя
Джим
Сообщения: 210
Зарегистрирован: Пт июн 15, 2007 23:03

Сообщение Джим »

Волутар
Ну чтож, на данный момент мне осталось добавить совсем немного -- когда Вы пишите подобные программы и у Вас что-то получается -- все хорошо, и Вы испытываете много больше чем просто релакс от самого процесса (особенно, если есть обратная связь -- все больше "давай-давай!", к сожалению).
К сожалению, (всякое бывает, но я основываюсь на своем опыте) -- с какого-то момента все почемуто начинает идти не так -- вплоть до закидывания дохлыми кошками со стороны совершенно неожиданных людей и еще хуже -- например, пресловутый и-досер, не будучи в состоянии написать свой синтезатор ББ, попер, как известно, таковой из sbagen'а -- представляете, как хорошо было автору??
С другой стороны, конечно, не принимайте слишком глубоко -- по любому приятно во всех отношениях видеть человека в рунете, который что-то пытается сделать, причем обязательно нетривиальное.
В общем, удачи. А насчет обратной связи -- будем посмотреть.
Андрей Патрушев
Автор сайта
Сообщения: 10763
Зарегистрирован: Вт май 30, 2006 19:17
Откуда: Екатеринбург
Контактная информация:

Сообщение Андрей Патрушев »

Не знаю, в тему ли... Но в одной из модификаций Нейрофона есть, так называемый F-шум, построенный не на случайной последовательности, а на ряде Фибоначи. На слух приятнее розового и как-то завораживает что-ли...
Я много экспериментировал с различными медленными модуляциями (понятно, что у Вас не совсем это), но когда сделал что-то вроде синуса (я его назвал асинус :)), но с вершиной сдвинутой вперед (в первом полупериоде) по принципу 1/e (или F, если больше нравится), то вся эта моя какофония вдруг стала похожа на музыку...
Удачи Идущим! :)
Волутар
Сообщения: 62
Зарегистрирован: Пт сен 25, 2009 6:12

Сообщение Волутар »

Джим, насчет iDoser'ского автора это разговор вообще скорее не о программистах, а предпринимателях-мошенниках и пиарщиах.
SBaGen изначально был в исходниках зарелизен, и допускал подобное использование, вроде.

Я пока исходники выкладывать не собираюсь (разве что только частично, для того чтобы можно было что-то вроде плеера плеера сделать).
Сейчас вот немного приткнулся на расширении интерфейса для того чтобы для левого и правого каналов делать свои шумы..
Первый вопрос - сделать их совершенно независимыми, на левом один набор фильтров, а на правом другой? В этом есть смысл?
Второй вопрос - сделать набор фильтров общим для левого и правого каналов, но независимые кривые?
Третий вопрос - амплитудные кривые левого и правого - независимы?
Четвертый вопрос - каким образом такое разнообразие вариантов в интерфейсе реализовать?

В текущей схеме справа наверху селектор фильтров, справа внизу АЧХ текущего/совокупного. Пока ума не приложу как в эту схему удобным образом встроить left/right. :(

В текущей версии есть глюк - 47 минутный прыжок места проигрывания. Из-за глюка с waveoutgetposition. Но это и хорошо что есть такой глюк. У меня он будет корректно отображать место проигрывания хоть целую неделю. Через час обновление выложу.

Добавлено:
Андрей Патрушев, любой шум с относительно статическим АЧХ (F-шум скорее всего статичный) можно просимулировать набором фильтров. Я таким образом и коричневый и розовый и оранжевый и зеленый шум создавал. Интересно было бы глянуть на АЧХ этого F-шума.

Еще добавлено:
Почитав про приборы, определяющие начало REM фазы, пришла на ум мысль, что было бы неплохо, чтобы они будучи встроенными в звуковой тракт просто на пару секунд прерывали бы звук, и снова его возобновляли. И так многократно. Относительно резкое прекращение фонового шума действует на сознание "ободряюще". Я просто не очень уверен, что вспыхивани лампочек в этой же ситуации сознанием всегда воспринимается как надо. Хотя тут полагаю возможны и гибридные решения. (На мой взгляд пытаться уснуть в "очках" - гораздо больше мазохизм, чем пытаться уснуть в небольших наушниках).
Аватара пользователя
Джим
Сообщения: 210
Зарегистрирован: Пт июн 15, 2007 23:03

Сообщение Джим »

Волутар
Джим, насчет iDoser'ского автора это разговор вообще скорее не о программистах, а предпринимателях-мошенниках и пиарщиах.
SBaGen изначально был в исходниках зарелизен, и допускал подобное использование, вроде.
Самый короткий ответ -- нет. Подробности -- см. в mail-list'е SBG + GNU GPL, конечно.
Я пока исходники выкладывать не собираюсь (разве что только частично, для того чтобы можно было что-то вроде плеера плеера сделать).
Сейчас вот немного приткнулся на расширении интерфейса для того чтобы для левого и правого каналов делать свои шумы..
Первый вопрос - сделать их совершенно независимыми, на левом один набор фильтров, а на правом другой? В этом есть смысл?
Второй вопрос - сделать набор фильтров общим для левого и правого каналов, но независимые кривые?
Третий вопрос - амплитудные кривые левого и правого - независимы?
Четвертый вопрос - каким образом такое разнообразие вариантов в интерфейсе реализовать?
На самом деле, на мой взгляд это -- один и тот же вопрос -- "как организовать пользовательский интерфейс и согласовать его с неограниченно растущими потенциальными фичами?" -- не знаю. Лично для себя полагаю, что если надо делать что-то хорошее, с одной стороны -- нельзя лишать юзера возможности "программирования мышью". С другой -- нельзя лишать юзера возможности расписывания всего и вся "на бумаге", т.е. в виде скрипта. Как скрестить human-readable script с графическим редактором -- вот на этот вопрос, кажется, еще никто не оветил.
Кстати, я отстал от жизни -- что есть оранжевый и зеленый шумы?
ps: была в свое время классная (к сожалению, win16) бесплатная прога, игравшая что-то вроде случайным образом синтезируемой, но вполне гармоничной музыки (убойно скучной, но не раздражающей, и никогда не повторяющейся). Называлась не то WindChimes, ни то WingChimes... Распространялась через ныне покойный syntrillium.com. Играла через MIDI. Мне бы ее сейчас, в смысле в исходниках, или хотя бы идею -- как написать. Чего и всем ищущим желаю, не умаляя достоинств (или, во всяком случае, оригинальности) Вашего синтезатора.
pps: не надо повторять путь первопроходцев стереозвука -- каналы у Вас, кажется, не имеют права быть полностью независимыми.
Удачи. :o
Последний раз редактировалось Джим Чт окт 01, 2009 0:01, всего редактировалось 1 раз.
Аватара пользователя
Джим
Сообщения: 210
Зарегистрирован: Пт июн 15, 2007 23:03

Сообщение Джим »

Забавно, но Wind Chimes я нашел. Ссылку, к сожалению, не запомнил. Искал wc1setup.exe. Заняло минут 20. Прога оказалась shareware и win32 (ту, с которой я был знаком звали win16 и freeware).
Судя по интерфейсу -- одно и то же. Играет то, что надо (на мой вкус).
Т.е. Очень рекомендую всем заинтересованным в ветке найти и ознакомиться. Хотя бы для общего развития.
Лучше, если кто-то поймет, как она устроена -- в интересах генерации осмысленного шума тоже не помешает, кстати.
Волутар
Сообщения: 62
Зарегистрирован: Пт сен 25, 2009 6:12

Сообщение Волутар »

Учитывая, что у меня в основу взяты кривые безье, то их текстовое скриптование будет смахивать на попытку рисовать векторные рисунки в блокноте. В принципе, можно взять основой таймлайн с бинауральными и изохроническими тонами в текстовой форме, аналогичной SBaGen (именованные блоки), но один фиг сопровождающий шум должен быть не плоским розовым, а "окрашенным", который будет задаваться в отдельной части текстового файла. Т.е., сплайны неизбежны.
Есть мысль разделить сам файл на две секции. В первой будут задаваться "паттерны" (для начала - шумовые) в сплайновом виде. А во второй секции будут подобные SBaGen строки тоно-шумовых последовательностей.
В этом смысле если первая секция не задана, то можно использовать какой-нибудь "дефолтовый" шум вместо обычного SBaGen'овского розового, при этом формат можно попытаться сделать совместимым, чтобы те же .sbg файлы можно было грузить в мою программу. Обратная совместимость здесь сомнительна. Даже если сделать первую секцию в комментах, то паттерны шумов должны ведь как-то именоваться в строках последовательностей...

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

В свое время увидев в первый раз BWGen был весьма удивлен тем, что звук в нем воспроизводится скачкообразно, будто значения всех генерилок модифицируются ПЛАВНО в рилтайме, но заполнялка звукового буфера берет только то значение, которое приходится на начальный момент, и размазывает его на всю длину буфера.
Мне подобный подход показался жутким ламерством. Это ощущение усугублял редактор графиков, который при при редактировании "фликерит" и не дает возможности хоть как-то скрулять и редактировать более короткие временнЫе промежутки.

Рандомные тона - вещь забавная (и гармоническое округление вполне простая вещь, реализуется через кросс-таблицу вариаций), но вряд ли удобная для того чтобы под это дело расслабляться. Лично меня даже "рывочное" изменение параметров при воспроизведении тонов и шумов в BWGen постоянно раздражали, не говоря уж о том чтобы беспрерывно "трынькать".

ЗЫ: По поводу "полностью незавимых" каналов - согласен, мне кажется более правильной мысль, что по-умолчанию все эти шумовые рисунки и на левый и на правый канал должны идти одинаковые (ведущий канал, допустим, левый, он же и на правый канал "размазывается"), но с возможностью для правого канала "подменять" определенные кривые. В том же HemiSync основное шумовое сопровождение представляет собой очень мягкий розово-коричневый шум, в котором в определенном диапазоне синусоидально плавают 3 notch фильтра (или пиковых с определенным отрицательным гейном, что в АЧХ выглядит практически так же) с фазовым смещением в 90 градусов левого относительно правого. В данном случае в фильтрах будет пара shelf фильтров (для придания АЧХ розово-коричневой формы), и трех пиковых, в которых частотные параметры будут различаться для левого и правого каналов.
ЗЗЫ: Colors of noise
Последний раз редактировалось Волутар Чт окт 01, 2009 8:45, всего редактировалось 1 раз.
Гость

Сообщение Гость »

Джим писал(а):Забавно, но Wind Chimes я нашел. Ссылку, к сожалению, не запомнил. Искал wc1setup.exe. Заняло минут 20. Прога оказалась shareware и win32 (ту, с которой я был знаком звали win16 и freeware).
Судя по интерфейсу -- одно и то же. Играет то, что надо (на мой вкус).
Т.е. Очень рекомендую всем заинтересованным в ветке найти и ознакомиться. Хотя бы для общего развития.
Лучше, если кто-то поймет, как она устроена -- в интересах генерации осмысленного шума тоже не помешает, кстати.
А как вам нравятся "FractMus 2000" и "Fractal Tune Smithy"?
Есть еще довольно интересная "musinum208"...
Волутар
Сообщения: 62
Зарегистрирован: Пт сен 25, 2009 6:12

Сообщение Волутар »

В ближайших планах:
1) добавить вариативность параметров для левого/правого каналов.
2) для демонстрации наваять шаблон фонового сопровождения, подобного HemiSync'овскому.
3) добавить параметрическую задержку для звука левого и правого каналов. Для эмуляции 3D позицируемого звука (HRTF) разница задержки между левым и правым "импульсом" должна быть в пределах 0-0.64мс, что составляет всего лишь 28 тактов от 44100Гц частоты. Без кубической инерполяции значений основного сигнала (шума) тут не обойтись. Это в некоторой степени поднагрузит процессор. Но полагаю (надеюсь) не сильно. В данном случае источник шума для левого и правого уха будет один, только для каждого канала будет производиться слегка разные манипуляции.
4) для демонстрации наваять шаблон "трехмерного" фонового шума, прослушивая который создавалась бы максимально подробная иллюзия перемещения источника фонового шума вокруг головы.
Ответить

Вернуться в «Приборы и программы»