Цифровой сумматор...

  • Автор темы Автор темы Дед
  • Дата начала Дата начала
Мне казалось, что эти механизмы обязаны сигналы одной частоты, например 44,1, полностью синхронизировать.
Увы....
У меня всё чуточку попроще, но работает без щелчков и выпадений.
Из источников есть рэковые Pod и Bass Pod, преамп (Михаилу не
читать!!!) dbx 376, финалайзер и интонатор от TC, и когда всё это
работает одновременно - оно работает по аналогу (запись групп
"пачкой", например). Когда запись происходит последовательно,
иногда включаю по цифре, мастером является пульт (Roland VM-7200),
комп слейвом от него (RME 9652) причём без вордклока, с самосинхрой!
Pod какой-нибудь тоже слейвом но уже с вордклоком. Никаких проблем.
Затем руками переключаю вордклок на другой прибор (синхронизатора у меня
нет, повторюсь) и "цифрую" его, и т.д... Но бывает такое редко (в случае,
если клиент непременно хочет именно так), чаще всего аналоговые выходы
банально втыкаю в финалайзер и оцифровываю им (он тоже слейвом от
пульта и сразу в карту по spdif). Вот такая немного замороченая схема,
но она работает так как мне надо...

зы: Разница между подом по цифре и по аналогу исключительно на
уровне наличия/отсутствия фоновых шумов - ЗВУЧАТЬ он от этого
лучше не будет! Вот ведь что самое главное! Чтобы гитара наконец-то
хоть как-то зазвучала, пришлось приобретать ламповую голову и
кабинет, снимать их парой микрофонов, и пусть шумов там В РАЗЫ
больше - ЗВУК наконец-то стал похож на настоящий, а под используется
исключительно "в подмесе", как "ужирнялка" и эффект-проц. Вобщем, вся
эта "чистая цифра" имхо поиск тараканов совсем не там, где они на самом
деле находятся... :this:
 
Александр! Вы удовлетворили свой теоретический интерес: вам подтвердили, что такой алгоритм возможен, и даже в реальном времени (в течение ограниченного, но достаточного для микширования трека времени). Не спорьте вы с Лонгом: он не хочет разбираться и так и будет узколобо твердить, что такое невозможно в принципе, т.к. таких устройств нету.
 
Уважаемые коллеги. Простите, что может неуместно (не смог прочитать все рассуждения - глаза закрываются), но кажется устройство от ТС как раз должно решать подобные задачи. http://www.tcelectronic.com/Default.asp?Id=11617

А если бы всёже прочёл, то не давал бы повторно ссылки -
http://forum.rmmedia.ru/showpost.php?p=630689&postcount=9
 
Александр! Вы удовлетворили свой теоретический интерес: вам подтвердили, что такой алгоритм возможен, и даже в реальном времени (в течение ограниченного, но достаточного для микширования трека времени). Не спорьте вы с Лонгом: он не хочет разбираться и так и будет узколобо твердить, что такое невозможно в принципе, т.к. таких устройств нету.
Alexey Lukin,
укладывание разного кол-ва сэмплов в один и тот-же промежуток времени и есть Sample Rate Converters. Алгоритм, что у софтовых SRC, что у аппаратных - одинаков, и какраз аппаратные и решают эту задачу с маленькой задержкой через внутренний буфер, на сколько я понимаю.
Никакого нового алгоритма никто не придумал, поэтому он и не реализован, иначе не продавались бы вот такие устройства -
Digital Routing
 
У меня всё чуточку попроще, но работает без щелчков и выпадений.
У вас не проще, а как у всех.
Синхронизация через DA-AD вообще не рассматривается, а запись одиночного цифрового сигнала задача банальная и не требует вообще никаких умственных напряжений.
Ну и ваши Рэковые POD-ы имеют WC In и для них всё что тут на многих страницах написали НАФИГ НЕ НУЖНО!!!!!!!
Речь шла о цифровых источниках у которых НЕТ возможности принять внешний опорный сигнал!!!
Вы в общем это понимаете?
Если понимаете, то тогда я не понимаю о чём вы тут столько писали????
Просумировать цифровые сигналы с ваших Рэковых Pod-ов, задача банальная и не требует вообще НИЧЕГО кроме как включить провода в их AES/SPDIF -- In-Out.
 
Александр! Вы удовлетворили свой теоретический интерес: вам подтвердили, что такой алгоритм возможен, и даже в реальном времени (в течение ограниченного, но достаточного для микширования трека времени). Не спорьте вы с Лонгом: он не хочет разбираться и так и будет узколобо твердить, что такое невозможно в принципе, т.к. таких устройств нету.
Алексей, мне кажется что разговор этот выходит за рамки чистого
теоретизирования, и для практиков он тоже может быть интересен.
А что касается спорить или нет - да и не спорю я особо, просто некую
истину хочется найти :girl_crazy: И это не юношеский максимализм, это
просто не привык я так, вопросы без ответов для себя оставлять -
я ведь тоже инженер по образованию (2201, разработчик ЭВМ),
а по профессии да ещё и метролог (6 лет на военном заводе). Сейчас уже
лет 10 паяльник в руках не держу и работаю только со звуком, многое "чисто
инженерое" давно забылось конечно же, но общее понимание надеюсь что
осталось всё-таки...
Если разговор идёт исключительно в некоем конструктивном русле (без
лишних эмоций и посылов "в сад учить матчасть") - не знаю кому как, а
мне лично это интересно... Вобщем, имхо нормально всё :yes3:

зы: По крайней мере я для себя однозначно определился, что бигбен
покупать уж точно не буду, хотя до последнего времени такие мысли
иногда одолевали. Спасибо этому топику и Александру Олейнику лично!
Штукарь ведь сэкономил фактически! :yes:
 
Речь шла о цифровых источниках у которых НЕТ возможности принять внешний опорный сигнал!!!
Вы в общем это понимаете?
Если понимаете, то тогда я не понимаю о чём вы тут столько писали????
Просумировать цифровые сигналы с ваших Рэковых Pod-ов, задача банальная и не требует вообще НИЧЕГО кроме как включить провода в их AES/SPDIF -- In-Out.
Стоп. Ещё раз - RME-шка у меня хоть и имеет WC In, но туда НИЧЕГО
не включено! Финалайзер - аналогично. И параллельно с этим работает
Pod, в который включен WC с пульта - всё чисто по цифре и всё синхронно.
Помогает в этом отличная самосинхронизация в RME.
 
зы: По крайней мере я для себя однозначно определился, что бигбен
покупать уж точно не буду, хотя до последнего времени такие мысли
иногда одолевали.

Ну и зачем вам нужен БигБэн, если у вас уже два есть?
 
Помогает в этом отличная самосинхронизация в RME.

Нет у RME никакой самосинхронизации, если она у вас слэйв, то синхроимпульс по цифре она получает от пульта, если она мастер, то свой опорный сигнал она раздаёт всем устройствам подключенным к ней по цифре!!!!!!!
Чтож вы взялись обсуждать эти вещи не имея простых, базовых знаний? :sad:
 
Aleksandr_Oleynik написал(а):
укладывание разного кол-ва сэмплов в один и тот-же промежуток времени и есть Sample Rate Converters.
Предложение Александра - суммировать потоки поотсчетно, невзирая на разницу частот дискретизации - как раз не требует никакого SRC (и не вызывает связанного с SRC ухудшения качества).
 
Предложение Александра - суммировать потоки поотсчетно, невзирая на разницу частот дискретизации - как раз не требует никакого SRC (и не вызывает связанного с SRC ухудшения качества).

Давайте вы для начала напишите математическую формулу в которой будет некое уравнение из которого будет видно, что изменение кол-ва сэмплов за еденицу времени не потебует изменения частоты дискретизации.
Ну или без формулы - точно сопоставте два цифровых сигнала в которых в одном за Одну секунду получилось 100 сэмплов, а во втором 101, но так, чтобы размер сэмпла по оси Х и в одном и во втором фрагменте осталась не изменными.
 
Каким образом можно ПРОГРАММУ жёстко привязать к сетке синхросигналов? (а точнее - огромную кучу программ).

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

Вы правда никогда не слышали, как пердят и скрипят в реалтайме (даже с буфером!) мультитреки, когда кончаются ресурсы ЦП?!

А синхронизация здесь причём-то?

А при баунсинге тем не менее всё и всегда гладко! Значит к чему всё это привязано?

- Именно привязанно!

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

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

зы: Или например оверсемплинг в тех же УАД-ах? Работая на частоте 44.1 кГц юзер зачастую даже и не знает, что его звук внутри некоторых из его обработок находится уже в 88 или 96!
В случае некой "жёсткой" привязки такое было бы в принципе невозможным!


А почему 88 или 96? Не 72, 83 и т.д? Или, скажем, почему бы не обсчитывать отдельные треки с полностью произвольным для каждого оверсемплингом? - Как раз потому, что всё привязывается кратно к синхре проекта.

Частоты гуляют внутри проектов туда-сюда - и ничего, никто не разъезжается и не щёлкает при этом!

Вот это была бы задача для программистов - написать настоящий аналоговый магнитофон!!!
 
Последнее редактирование:
  • Like
Реакции: RomanD
Aleksandr_Oleynik написал(а):
Ну или без формулы - точно сопоставте два цифровых сигнала в которых в одном за Одну секунду получилось 100 сэмплов, а во втором 101, но так, чтобы размер сэмпла по оси Х и в одном и во втором фрагменте осталась не изменными.
А нам и не нужно их "сопоставлять, чтобы размер сэмпла не изменился". Из каждого сигнала берется по 100 отсчетов и они микшируется. А 101-й - записывается в буфер и используется далее (либо не используется, если сигнал закончился).
 
Так ведь 101-й присутствовал в данной текущей (!) временной выборке. По каким законам Вы предлагаете его перенести (или не переносить) в другую временную выборку? И это ж сколько ошибок будет накоплено в треке, если поступить таким образом?!
 
А нам и не нужно их "сопоставлять, чтобы размер сэмпла не изменился". Из каждого сигнала берется по 100 отсчетов и они микшируется. А 101-й - записывается в буфер и используется далее (либо не используется, если сигнал закончился).
Ха, ну так и что вы в итоге получите? Ужасные цифровые артефакты, которые и получаете с не синхронизированными цифровыми источниками.
Если вы станете часть "лишних" сэмплов выкидывать, получите цифровые щелчки, а если сдвигать - цифровой джитер с флэнджером в придачу.
Попробуйте, для простоты понимания, пропустить один и тот-же сигнал звуковой, через не синхронизированные между собой цифровые примочки и послушайте что получиться при их сумировании - будет нечто среднее между хорусом, джитером и ещё и фазными эффектами.
Я, кстати, пробовал - ужасный звук выходит.
Пока писал, Pan W уже частично ответил :hi:
 
Pan W написал(а):
И это ж сколько ошибок будет накоплено в треке, если поступить таким образом?!
Скажите, вот у вас кварцевые часы на руке сильно спешат? Наверное, на секунду в день или около того. Вот и кварцы в цифровых устройствах вряд ли разойдутся в частоте более, чем на 1 Гц. Т.е. за 5-минутный сеанс микширования расхождение будет в пределах 7 мс.

Aleksandr_Oleynik написал(а):
Ха, ну так и что вы в итоге получите? Ужасные цифровые артефакты
Никаких артефактов не будет, с чего вы взяли??. Возможно лишь небольшое расхождение по времени (да и то - его может не быть, в зависимости от того, как оцифровывались записи).

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

Aleksandr_Oleynik написал(а):
Попробуйте, для простоты понимания, пропустить один и тот-же сигнал звуковой, через не синхронизированные между собой цифровые примочки и послушайте что получиться при их сумировании - будет нечто среднее между хорусом, джитером и ещё и фазными эффектами.
Я, кстати, пробовал - ужасный звук выходит.
Да я охотно верю! Ведь в этих примочках не реализовано предложение Александра.
 
Ещё как будут, и артефакты и фленжер... Я ведь это тоже практикой проверял, как и Александр. Дошло до того, что впоял панельку под кварц и с десяток перепробовал в надежде найти такой же. Потом уже сам понял свою ошибку: опоздание приходимого кванта в незаклоченном потоке на сравнительно малую величину (тобишь на сколько отличаются кварцы) относительно основного потока приведёт к артефакту заметному в полный (!) звуковой квант основного потока а не на эту, сравнительно малую величину расхождений (так, как поезд уже ушёл с предыдущим синхросигналом, а следующий будет только по приходу следующего клока). Чувствуете разницу? А практически, так это было слышно на обыкновенном бытовом оборудовании.
 
Я вам про Фому, вы мне - про Ерему! Артефакты у вас оттого, что в ваших устройствах нет такого алгоритма, про который вам рассказывают. Что у вас с логикой???
 
Я не намерен обсуждать с вами мою логику. И, вообщем-то, мне не понятен смысл "алгоритма Фомы", который якобы будет присутствовать в "ваших устройствах".

За сим позвольте откланяться, либо дальнейшее обсуждение в такой плоскости для меня превращается в обыкновенный флуд.
 
Алексей, пока вы с Александром не остались один на один с найденным вами чудо-алгоритмом, ответте на совсем простой вопрос -
почему это до такого "решения" никто до сих пор не додумался и не реализовал его ХОТЯБЫ в софтовом варианте?
 
Alexey Lukin :
Из каждого сигнала берется по 100 отсчетов и они микшируется. А 101-й - записывается в буфер и используется далее (либо не используется, если сигнал закончился).

-- Алексей, Вы меня извините, плз, но - Вы не спятили, часом?
Или _этот_ Alexey Lukin - есть подмена того, которго знаем как известного программиста, и который неспособен нести подобный бред?... :(
 
Alexey Lukin,
Не спорьте вы с Лонгом: он не хочет разбираться
-- Чёрт, не заметил сей перл.
Если Вы считаете, что тупое хамство заменяет аргументацию - то мне очень жаль!
А уж бред насчёт
будет твердить, что такое невозможно в принципе, т.к. таких устройств нет
Будьте добры, отнесите к себе, пожалуйста!
 
Long, отсутствие аргументации мы видим именно у вас (как и - повторяю - нежелание разбираться). Стыдитесь! :rtfm: С вашим-то авторитетом в аналоговой электронике - аргументы "бред" и "в сад" слышать странно.

Long написал(а):
Будьте добры, отнесите к себе, пожалуйста!
Что мне надо относить к себе? Я не утверждаю, что такого невозможно.
 
Последнее редактирование:
Нет у RME никакой самосинхронизации, если она у вас слэйв, то синхроимпульс по цифре она получает от пульта, если она мастер, то свой опорный сигнал она раздаёт всем устройствам подключенным к ней по цифре!!!!!!!
Чтож вы взялись обсуждать эти вещи не имея простых, базовых знаний? :sad:
Александр, давайте всё-таки пожалуйста не будем торопиться с выводами
относительно базовых знаний - как моих, так и Ваших... Давайте разбираться,
вобщем. Итак, самосинхронизация. Она присутствует в самом стандарте
AES/EBU (SPDIF) изначально, а в общем случае представляет собой функцию
кода, которая позволяет выделять синхросигнал непосредственно из потока
данных, без использования каких-либо отдельных синронизирующих
проводников/потоков. Другими словами, когда в одном потоке закодированы
и данные, и их синхронизация - это и есть самосинхронизирующийся код.
В стандарте AES/EBU (SPDIF) используется Biphase Mark Code (бифазный код),
самосинхронизирущийся, разумеется. Цитирую музыченковский FAQ по
цифровому представлению:

Оба интерфейса являются последовательными и используют одинаковый формат сигнала и систему кодирования - самосинхронизирующийся код BMC (Biphase-Mark Code - код с представлением единицы двойным изменением фазы), и могут передавать сигналы в формате PCM разрядностью до 24 бит на частотах дискретизации до 48 кГц.

Каждый отсчет сигнала передается 32-разрядным словом (кадром), в котором 20 разрядов используются для передачи отсчета, а 12 - для формирования синхронизирующей преамбулы, передачи дополнительной информации и бита четности. 4 разряда из служебной группы могут использоваться для расширения формата отсчетов до 24 разрядов.

192 последовательных кадра образуют блок, начало которого отмечается специальным кодом преамбулы первого кадра.

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

В служебную часть слова входят также биты C (Channel Status - состояние канала) и U (User Bit - бит пользователя). Последовательная цепочка каждого из этих битов, взятых по одному из каждого кадра блока, образует 192-разрядное слово служебных битов блока, где передается информация о названии произведения, номере дорожки, идентификаторе передающего устройства, субкодах компакт-диска и т.п. В S/PDIF передаются параметры защиты от копирования (SCMS).

Стандартно формат кодирования предназначен для передачи одно и двухканального сигнала, однако при использовании служебных разрядов для кодирования номера канала возможна передача многоканального сигнала.

Таким образом, без использования всяческих дополнительных WC-линий,
комп (rme) самосинхронизируется от источника (в моём случае - пульта),
физически это происходит по первой adat-оптике. От пульта же
точно таким же образом через spdif самосинхронизируется и финалайзер,
(который выходом тоже заведён в RME по spdif), и посредством WC
синхронизируется (именно синхронизируется, а не самосинхронизируется -
это важный момент!) какой-нибудь из Pod-ов, который по AES/EBU заходит в
цифровой вход пульта. Вот моя схема, которая оказалась максимально
"цифровой" и при этом единственно рабочей при моём сетапе - все прочие
варианты (WC пытался раздавать на все приборы последовательно через T-
коннекторы и т.п. извраты) - неизбежно давали щелчки и выпадания.
Вобщем, самосинхронизация рулит... :)

Насчёт бигбенов - нет их у меня ни одного. Зачем хотел купить? Чтобы
каждую синхроверёвку цеплять к каждому прибору индивидуально, без
использования T-коннекторов. Топология "звезда", если говорить
инженерным языком ;)

зы: Многоуважаемые, давайте только не будем ругаться и наезжать
друг на друга из-за всяческих пустяков. В мире ведь столько интересного,
и мы ведь здесь чтобы познавать это вместе, а не растопыривать пальцы
у кого ширше... Ваше право считать оппонента тупым, но давайте
делать это как минимум корректно, плз...
 
ответте на совсем простой вопрос - почему это до такого "решения" никто до сих пор не додумался и не реализовал его ХОТЯБЫ в софтовом варианте?
В софтовом варианте - это самый обычный мультитрекер.
С его помощью можно просуммировать всё что угодно - даже 44 и 48! :)
Только если слушать результат на частоте 44 - будет корректно играться
в сумме трек с исходной частотой 44, а на чатоте 48 - наоборот!
Но! Щелчков и выпадений НЕ БУДЕТ!

А в харварном варианте почему такой штуки нет - я на этот вопрос уже
отвечал: "в таком случае пропадёт реалтайм, и это будет уже нестандартный
spdif, и для всех прочих опрережающих (аналоговых, например) потоков
придётся вводить что-то типа компенсации задержки (как в компьютерных
мультитреках)". То бишь неуловимый Джо - нафиг никому такое не надо :)
 
отсутствие аргументации мы видим именно у вас (как и - повторяю - нежелание разбираться).
-- Как видно, написав откровненный БРЕД - Вы не нашли ничего лучшего, как откровеннно НАЕЗЖАТЬ. Это Ваша замена аргументации?
Браво! :clapping:

Из каждого сигнала берется по 100 отсчетов и они микшируется. А 101-й - записывается в буфер и используется далее (либо не используется, если сигнал закончился).
-- Лучше бы стёрли эту (и прочую) написанную Вами чушь, чем продолжать позориться.
 
Так ведь 101-й присутствовал в данной текущей (!) временной выборке. По каким законам Вы предлагаете его перенести (или не переносить) в другую временную выборку?
Вот ведь в чём непонятка главная у нас, имхо! При выделении самосинхры
и складывании в буфер каждого потока реалтайм убивается! Всё,
нет больше никакой "временнОй выборки", нет больше ПОТОКОВ
ВО ВРЕМЕНИ - есть ФАЙЛЫ с данными, вавки другими словами!
Выборка осуществляется исключительно по фактическому приходу
первого слова с каждого из потоков, а затем уже для сложеных в
буферы/файлы данных время останавливается! Ведь нету в самых
обычных вавках никакого такого "времени", не так ли? Есть просто
ПРОПИСАНАЯ В ЗАГОЛОВКЕ частота семплирования, с которой этот
самый файл ДОЛЖЕН воспроизводиться. Просто подставьте туда
другую частоту - все ведь знают что будет, не так ли? "Разрыв/сжатие
времени" что ли случится по вашему? :))

Таким образом самосинхронизация выделит некое "абсолютное" время,
и получившиеся в буферах вавки а-приори корректны. Затем они тупо
складываются (первая с первой, вторая со второй и т.п.) и выводятся с
внутренней частотой системы (ну или не выводятся, а также тупо
складываются в файл).
 
Вот вам ещё аналогия - берём кучу цифровых источников, и кучу
записыващих устройств с цифровым входом. Соединяем каждый
с каждым и в один момент времени запускаем всю эту трехомудию:
источники на воспроизведение, а приёмники на запись. Пишем
какое-то время, и также синхронно всё останавливаем. Затем
получившиеся ФАЙЛЫ (вероятнее всего одинаковой длины,
либо пренебрежимо малых расхождений в ~пару-тройку семплов)
РУКАМИ переносим из каждого рекордера в отдельный проект в
компьютерный мультитрекер и там суммируем. На выходе получаем
сумму. Ну просто самая прямая аналогия, причём вполне подлежащая
проверке на практике! Опровергайте!
 
Alexander Yakuba,
согласен..., больше про "базовые знания" и всё такое... - не буду.
Тэрмина самосинхронизация не существует, а БигБэна у вас даже больше чем два, оброзно говоря, естественно. Один стоит в вашем Пульте (там есть Clock), второй стоит в вашей звук. карте RME, ещё по одному в каждом Рэковом Pod-е.
Цифровым устройствам современным пофиг по какому шнурку передавать опорный сигнал, что по отдельному кооксиалу, что по любому из цифровых шнурков с данными. В AES/EBU (SPDIF) нету никакой самосинхронизации, в этих стандартах просто, кроме полезного сигнала, выделяется несколько бит для передачи Синхроимпульсов от того Clock-а, который вы назначите Мастером.
 
Вот ведь в чём непонятка главная у нас, имхо! При выделении самосинхры
и складывании в буфер каждого потока реалтайм убивается! Всё,
нет больше никакой "временнОй выборки", нет больше ПОТОКОВ
ВО ВРЕМЕНИ - есть ФАЙЛЫ с данными, вавки другими словами!

Ошибаетесь, и термин РиалТайм не правильно понимаете.
 

Сейчас просматривают