|
|
  |
USB-AUDIO-MIDI и как с этим жить дальше, Есть проект, а куда его деть не знаю... |
|
|
|
Nov 1 2004, 12:25
|

Частый гость
 
Группа: Свой
Сообщений: 82
Регистрация: 22-10-04
Из: Moscow
Пользователь №: 954

|
Я не очень понимаю, что понимается под "интермодуляционно-шумовым пъедесталом". У меня, в том файле, что я выкладывал, уровень спектральной плотности шума полной петли, который геометрически складывается из шумов ЦАП и АЦП, в районе 20 Гц -125дб, и на 1Кгц стоит "палка" по -111дб. Но это именно спектральная плотность, и она зависит от порядка FFT применяемого при анализе, поэтому конечно, это не вполне корректно... "Палка" в 1КГц понятно откуда, это модуляция всего питания USB активностью SOF пакетов, у меня это можно устранить ценой себестоимости...но незачем... т.к. это всё равно никто и никогда не услышит, и может представлять лишь академический интерес. А по поводу VCO, я уже говорил, что дело в основном в параметрах его петли обратной связи, и методах управления ею. Теперь по поводу USB-AUDIO. Ещё раз заверяю, что так называемый протокол USB-AUDIO никоим образом не "ущербный" и в нём, в некотором смысле ВООБЩЕ не заложено никаких механизмов которые так или иначе касаются качества как такового. Это просто транспортный уровень передачи данных, которые потом предполагается выдавать на ЦАП, и наооборот с АЦП в компьютер. Это если рассматривать адаптивный режим. В синхронном, да (моя плата как раз работает в нём) можно ухитриться как-то испортить что-то вкупе с SRC от MSWIN. И более того, самый гнусный вклад в качество звука под USB вносит как раз SRC от MS и никуда от этого не денешься. Сама спецификация, ни в чём не виновата, она только доставляет данные в нужном темпе, и никак не влияет на джиттер клока звукового кодека, это уже дело исключительно хозяйское. В начале, когда я только задумывал свой дивайс, я вообще, хотел поставить АЦП от Crystal CS5396, и никаких проблем с джиттером у меня бы не было 100%, просто посчитал, что не прохожу по потреблению, пришлось бы питать систему снаружи, а это неприемлимо.... И ещё, на сайте Rightmark я буквально сейчас зашёл в раздел результатов тестов и был приятно удивлён, что моя плата, работающая на этом самом "ущербном" USB-AUDIO превосходит почти ПО ВСЕМ аудио характеристикам многие другие полу и профессиональные платы, в том числе и PCI, например: Hoontech/STAudio DSP24 MKII, Roland UA-30, Audiotrak ProDigy 192, Creative Audigy Platinum eX, Creative SoundBlaster Extigy и очень близка по параметрам, к например: RME DIGI96/8 PST Вот такие дела... ещё раз говорю, если бы мне это было надо, можно было бы ещё что-то улучшать, но я уже ничего не слышу дальше, да и источников звука таких взять неоткуда....
|
|
|
|
|
Nov 1 2004, 12:46
|
Частый гость
 
Группа: Свой
Сообщений: 90
Регистрация: 27-10-04
Пользователь №: 990

|
Цитата Ещё раз заверяю, что так называемый протокол USB-AUDIO никоим образом не "ущербный" и в нём, в некотором смысле ВООБЩЕ не заложено никаких механизмов которые так или иначе касаются качества как такового. Ущербность выражена в отсутствии выделенной синхронизации, синхронизация передается в одном потоке с данными, что вынуждает использовать для восстановления тактовой PLL, приводящую к увеличению джиттера. Конечно можно реализовать PLL с джиттером 10-20пс, но это весьма сложно и дорого. Говоря об ущербности, я рассматриваю этот вопрос с хай-эндной стороны, для звуковух он вполне применим
|
|
|
|
|
Nov 1 2004, 13:10
|

Частый гость
 
Группа: Свой
Сообщений: 82
Регистрация: 22-10-04
Из: Moscow
Пользователь №: 954

|
В адаптивном режиме нет НИКАКОЙ необходимости в выделенной синхронизации. Все клоки МОИ СОБСТВЕННЫЕ с наименьшим возможным джиттером который позволяет природа-мать и НИ С ЧЕМ они не синхронизируются. Просто вводится обратный канал, по которому плата ссобщает драйверу USB о том, сколько данных на следующий слот ей надо, плюс ФИФО и всё остальное по барабану... Я этот режим реализовывать не стал, т.к. пришлось бы здорово вылизывать программу по скорости и объёму, а у меня там ещё и МИДИ, не полезло бы в ПЗУ наверняка, хотя... глаза боятся, а руки делают, может дойдут руки...позабыл уже многое, 2 года назад я это всё делал... Таким образом, этот самый USB, при правильной реализации доставляет хлопот не более чем любой PCI. А если ещё и приспичит, то можно написать свой драйвер и тогда вообще никакая спецификация USB-AUDIO НЕ НУЖНА! Со всеми вытекающими последствиями... никакого "родного" SRC от MS, данные будут приходить "бит в бит". Я-то как-раз хотел чтобы никаких сторонних драйверов не было. Это довольно удобно, таскаю с собой ноутбук и свою плату, или вообще только с одной платой, на любом компьютере с XP всё живёт отлично...
|
|
|
|
|
Nov 2 2004, 13:36
|

Частый гость
 
Группа: Свой
Сообщений: 82
Регистрация: 22-10-04
Из: Moscow
Пользователь №: 954

|
Сразу оговорюсь, для USB-AUDIO никаких специальных драйверов не нужно, они встроены в WIN. А с дискретизацией как раз проблем нет никаких, кроме одной, но очень большой  Дискретизацию можно поставить какую угодно, а лучше, из соображений здравого смысла и пропускной способности USB, например 96КГц. Беда в том, что какую бы вы ни поставили частоту в железе, WIN всё равно БУДЕТ её передискретизировать. То есть, задействует внутренний алгоритм "Sample Rate Conversion" (SRC), который представляет из себя тяжёлую программу DSP, в зависимости от некоторых обстоятельств, применяются разные алгоритмы. Наиболее распространённый - полифазный фильтр с отводами и т.д. Всё это очень здорово расходует ресурс процессора (хотя на современных компьютерах не так и страшно) и более того, работает на уровне кернела и в мониторе производительности НЕ ОТОБРАЖАЕТСЯ! Теперь ещё момент, это 24 бита. С этим ещё туманнее... Когда я отлаживался (2 года назад) у меня была WIN ME, и там запустить 24 бита так и не удалось. Видимо, и не удастся в рамках USB-AUDIO. Может быть в WinXP что-то и поменялось, но проверять уже нету сил просто. Поэтому, я советую ограничиться 16 бит, 96 КГц, это по крайней мере точно работать будет. Теперь о чипах. Как вы сказали "дёшево и без проблем" скорее всего не получится. Если нет времени разбираться с внутренностями USB-AUDIO, есть в природе разные микросхемы, в которых вся энумерация скрыта и остаётся её только правильно включить в схему. Например, как у коллеги в этом топике PCM27xx. Но похоже, проблем "второго порядка" там немало, как я понял... Я применял TUSB3200. В её составе обычный процессор семейства x51 плюс мощная хардверная поддержка в виде аппаратного DMA, между внутренними буферами памяти и USB контроллером. Микросхема полностью программируемая, но обратная сторона медали в том, что вам самим придётся прописывать практически ВСЁ!. В общем, каждый решает сам, что ему нужно и удобно. По поводу информации - надо читать сам стандарт, (Audio Class) не поленитесь, окупится. http://www.usb.org/developers/devclass_docs#approvedА выбор микросхемы, не знаю, дело хозяйское, смотря какие характеристики требуется получить...
|
|
|
|
|
Nov 2 2004, 16:17
|
Группа: Banned
Сообщений: 5
Регистрация: 2-11-04
Пользователь №: 1 022

|
Пришлите краткое описание, если Вам не трудно, на адрес micro51@nm.ru Данную разработку можно использовать (если я правильно понял) в настольных МИДИ-пианино с молоточковой клавиатурой (импортные аналоги ОЧЕНЬ дорогие). Можно организовать поштучное производство, имея связь с заводом. Какова цена Вашей платы?
|
|
|
|
|
Nov 3 2004, 08:58
|

Частый гость
 
Группа: Свой
Сообщений: 82
Регистрация: 22-10-04
Из: Moscow
Пользователь №: 954

|
Для micro51. Если в клавиатуре уже есть МИДИ интерфейс, то да, несомненно будет очень удобно через мою плату подключить к USB такую клавиатуру. Главное же, то что одновременно с этим можно в полном дуплексе оцифровывать внешние сигналы и выводить звук наружу. Сразу оговорюсь, у меня, в этой плате НЕТ МИДИ-синтезатора, только контроллер, если это важно. Хороший МИДИ-синтезатор очень сильно нагружает по себестоимости, а качество увы на всех не угодишь. Да к тому же, современные компьютеры по производительности таковы, что в настоящий момент музыканты предпочитают использовать такие гибкие программы как Gigasempler и иже с ними. Я попробую порыться дома, я делал небольшое описание на страничку, сегодня вечером вышлю, наверное...
|
|
|
|
|
Nov 8 2004, 22:23
|
Группа: Новичок
Сообщений: 1
Регистрация: 8-11-04
Пользователь №: 1 074

|
Случаино увидел эту тему и хотел бы собрать такое устройство для себя. Или куплю уже готовое такое устройство устройство. Я так понимаю что микроконтролер имеет защиту, так что вопроса с авторскими провами не возникнет. И если устройство действительно работает так как вы пишите, то я думаю стоит подумать о начале мелкосерийного производства. Спрос думаю будет. Прошу Вас выслать ответ мне по адресу alexagap@inbox.ru
|
|
|
|
|
Dec 2 2004, 05:18
|
Just me
 
Группа: Свой
Сообщений: 121
Регистрация: 23-11-04
Пользователь №: 1 201

|
Цитата Если кому-то вдруг приспичит делать что-то подобное хочу предупредить о следующем: реализация USB-AUDI в системе WIN это что-то... короче, сделать 24 бита без глюков мне так и не удалось. А почемубы не передать компу частоту дискретизайии 72 кг вместо 24бита. Реально паковать в этот поток 24битные данные. Передаёш два семпла а потом 16 бит где 8 бит расширяют первый семпл а другие 8 бит второй. В реальном времени это не послушать но зато можно сливать на диск или конвертировать. А можно состряпать прогу которая будет конвертить на ходу.
|
|
|
|
|
Dec 2 2004, 15:54
|
Just me
 
Группа: Свой
Сообщений: 121
Регистрация: 23-11-04
Пользователь №: 1 201

|
Цитата(alexdsp @ Dec 2 2004, 18:02) Это всё просто замечательно, но только очень жалко, что драйвер USB-AUDIO об этом ничего не знает, и объяснить ему всё это не представляется возможным. Вся эта кухня была затеяна как раз и ради того, чтобы никаких драйверов никуда не устанавливать, а пользоваться встроенными Так драйвер можно и оставить а вот программу клиент написать
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|