
Сообщение от
Eugene Balakin
Я, видимо, чего-то недопонял...
У меня уже очень давно работает 0404 юсб, на воспроизведение ессно, с тактированием через СПДИФ - читай от внешнего ЦАП, при этом исправно показывает, экстернл, мол,синхронизация,- еще и сэмпл рэйт определяет правильно.
Ну да, всё верно, я имел в виду тактирование данных, которые поступают с компа. Т.е. нельзя тактировать данные поступающие с USB посредством внешнего SPDIF клока.

Сообщение от
SergVKS
Ага, большое спасибо, буду разбираться.
Я так понял, что под виндой EMU работает исключительно со своим драйвером и со стандартным usb audio не совместима ?
Я бы не сказал, что продукты EMU-USB полностью несовместимы со спецификацией usb-audio. Например, по ControlEndpoint0 ExtraInfo можно построить корректную структурную диаграмму типичного usb-audio устройства:
Код:
** UNRECOGNIZED: 0a 24 01 00 01 66 00 02 01 02
** UNRECOGNIZED: 0c 24 02 01 01 01 00 02 03 00 00 00
** UNRECOGNIZED: 0d 24 06 04 01 02 01 00 02 00 02 00 00
** UNRECOGNIZED: 0c 24 02 02 01 06 00 02 03 00 00 00
** UNRECOGNIZED: 0d 24 04 05 02 04 02 02 03 00 00 00 00
** UNRECOGNIZED: 0f 24 08 0c 01 e3 01 05 02 03 00 00 01 07 00
** UNRECOGNIZED: 09 24 03 08 01 03 00 0c 00
** UNRECOGNIZED: 09 24 03 07 02 03 00 0c 00
** UNRECOGNIZED: 09 24 03 0a 01 01 00 02 00
Здесь все описания блоков полностью соответствуют спецификации.
Исходя из анализа исходников драйверов под Linux и OS/X несоответсвие стандарту состоит в определении корректного размера URB:
These devices return the number of samples per packet instead of the number of samples per microframe.
и, собственно, SampleRate assignment. Т.е. по стандарту sample rate задается для каждого endpoint*а отдельно, а железки EMU устанавливают SampleRate для устройства целиком.
В остальном, все корректно, не смотря на:
bFunctionClass 255 Vendor Specific Class
bFunctionSubClass 255 Vendor Specific Subclass
bFunctionProtocol 255 Vendor Specific Protocol
Т.е. инженеры Creative перестраховались, и из-за нескольких нестандартных фич пометили устройство как Vendor Specific.
Хотя у меня так и не дошли руки до доводки Linux драйвера, при записи на 176 и 192 идет белый шум, может ещё и там есть "отход" от стандарта.
Offтопик:
Если не секрет, что заставило углубиться в данную тему?

Меня, например, достало, что я не могу под линуксом слушать что-то кроме 24/44, вот благодаря Mellowman*у, напару сварганили патч, и теперь есть "счастье" вплоть до 192.
Кстати вот кто полностью забил на стандарты, так это Terratec со своей DMX6Fire-USB. Жуткое устройство, она была у меня "в руках" в течение 4 дней, по звуку, как-бы претензий никаких, но делал её явно какой-то гик. Такое впечатление, что тупо взяли и написали задней левой ногой враппер PCI в USB. Стандартный виндовый микшер вообще не может активировать ни один контрол. Все регулировки только через "свою" control-panel
Социальные закладки