Автор Тема: Цифровое аудио своими руками (интерфейсы, эффекты, процы и подобное).  (Прочитано 15900 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Tander Автор темы

  • Ветеран форума
  • ******
  • Сообщений: 3731
  • Репутация: +475/-0
    • Efremoff
Поменял название темы, т.к. беседа плавно переросла из аудио-интерфейса на общие аналого-цифровые-аналоговые решения, которые можно попробовать реализовывать собственными силами.


Изначатально - хотелось бы собрать аудио-интерфейс, который не будет уступать тем же FocusRite и подобным карточкам, для игры/записи гитары. Чтобы подключалась по USB, имела 2 входа и 2 выхода (т.е. стерео полное). Было бы замечательно если бы эти входы-выходы (или хотя бы выходы) были differential (балансные), но это не обязательное условие. ну и чтобы умело 24 бита/48кгц (можно и больше). Желательно уместится по бюджету до 50 баксов. (больше - не имеет смысла, т.к. за $80-90 можно найти б.у. фокусрайт 2i2).

Может не полностью своими руками, может из готовых модулей с известного китайского сайта Али.
Из общей дискуссии вынес следующее.

1. Готовых USB девайсов, с ЦАП - навалом. А вот ЦАП-АЦП - я честно с ходу не нашел.
2. Для реализации данного проекта нужен USB <-> I2C мост, который будет уже дальше работать с нужным кодеком (чипом, который будет заниматся конвертацией аудио в i2c). Своего рода базовая платформа. Есть много готовых плат на Али, есть разные проекты под STM32 и прочее.
3. Кодек. Собственно то, что делает из аналога цифру и обратно. Их много, разных. Наиболее популярные CS4272 (2 диф.входа, 2 диф.выхода. стоит в тех же фокусрайтах например, имеет отличные характеристики, а вот с i2c у него - я не понял....). PCM3060 (2 SE входа и 2 SE выхода) и куча других.

В качестве платформы из п.1 думаю выбрать готовый модуль XMOS XU208 (https://www.aliexpress.com/item/4000116593738.html) кстати, есть совместимая плата на каком-то чипе BRAVO SA9023 - в 2 раза дешевле - какие ее плюсы и минусы? будет ли ее достаточно для поставленной задачи?

С кодеками сложнее. Их реально много... Конечно - хотелось бы использовать кодеки от Cirrus Logic (CS4272, CS4271, CS4270) - но у меня нет никакого понятия как их связать с XMOS "базой". А вот для PCM3060 я нашел немного информации:
схема: https://thexmoschallenge.files.wordpress.com/2009/12/dac.pdf
плата (односторонняя) - https://thexmoschallenge.files.wordpress.com/2009/12/new-4.png

Конечно в случае гитары нужно будет добавить еще буфер по входу. Только вот купить PCM3060 достаточно сложно...

В общем - нужна помощь в окончательном выборе платформы и кодека (желательно в корпусе SSOP или подобном, чтобы хоть как-то руками его паять можно было), а так же помощь - как это все соеденить в одно целое.  :)
« Последнее редактирование: Марта 17, 2021, 13:37:09 от Tander »

Оффлайн tube-freak

  • Эксперт
  • *****
  • Сообщений: 1060
  • Репутация: +365/-2
  • yo yoda
Re: Аудио-интерфейс своими руками
« Ответ #1 : Марта 10, 2021, 13:00:53 »
И еще одно - драйвер для винды!
Нужен ли ASIO, или пойдет просто нейтив UAC2 от Win10 ?

От этого будет зависить выбор моста USB-I2S (не I2C) ;)


Оффлайн Tander Автор темы

  • Ветеран форума
  • ******
  • Сообщений: 3731
  • Репутация: +475/-0
    • Efremoff
Re: Аудио-интерфейс своими руками
« Ответ #2 : Марта 10, 2021, 13:23:53 »
Ну как бы ASIO хотелось бы. С другой стороны Asio4all - решают проблемы с не-асио девайсами вроде. )


... и добавил:

Второй важный момент - хочется сделать девайс, который и с Win7 будет дружить, а там нативно UAC2 вроде не поддерживался.


... и добавил:

Я не сильно понял по поводу различий XMOS и BRAVO SA9023 платы по входам-выходам выглядят подобно - т.е. предполагается что более простая SA9023 - будет тянуть +/- те же задачи что XMOS, и по идее ее должно хватить. Прав ли я? Мне просто не очень хочется доплачивать вторую стоимость ради функционала, который я не буду использовать.
Задача на самом деле простая - играть через "плагины" и DAW с минимальной задержкой (64-128 сэмплов, на 48000кгц).
« Последнее редактирование: Марта 10, 2021, 16:19:33 от Tander »

Оффлайн AZG

  • Живу на форуме
  • *******
  • Сообщений: 89929
  • Репутация: +9879/-1413
  • Санкт-Петербург
    • AZG CUSTOM
Re: Аудио-интерфейс своими руками
« Ответ #3 : Марта 10, 2021, 16:24:23 »
Про asio2all забудь, кривая прослойка в нашем применении. Лучше с нормальным родным ASIO.

Мосты на STM32 тоже ОК, если качество выше 24/96 не требуется. В принципе они даже проще в примении. Но я не копал особо на предмет ASIO родного под них.

У Атмелов (Amanero) и XMOS драйвера с ASIO уже. Тут один момент, про Амореру можно забыть, она только для ЦАП. АЦП-части у нее нет. Остается XMOS. Есть все, под 7-кой живет без проблем и т.п.
По итогу копаешь транспорты в таком варианте.
Ну и С-Медиа, которые я ранее написал. там тоже все ОК, но требуют правильную прошивку чипа.

Готовый транспорт где сразу все ОК (кроме клока, но для гитары это не страшно): https://www.minidsp.com/products/usb-audio-interface/usbstreamer
Но не знаю на сколько впишется в бюджет.

Есть еще варианты. Поищу...

Оффлайн Tander Автор темы

  • Ветеран форума
  • ******
  • Сообщений: 3731
  • Репутация: +475/-0
    • Efremoff
Re: Аудио-интерфейс своими руками
« Ответ #4 : Марта 10, 2021, 18:12:08 »
по ссылке - USB стриммер - без аналогового аудио. т.е. мало того, что 95 баксов + доставка только за плату "транспорта", так еще и кодек прикручивать.

CM6631 - есть куча продуктов, но вот чот на сайте C-Media о данном чипе - ни слова..., а читая инфо на готовые продукты - получается что все вот такие подобные (https://www.aliexpress.com/item/1005001299904407.html) - работают только как DAC? там нет возможности прикрутить ввод аудио?

Оффлайн tube-freak

  • Эксперт
  • *****
  • Сообщений: 1060
  • Репутация: +365/-2
  • yo yoda
Re: Аудио-интерфейс своими руками
« Ответ #5 : Марта 10, 2021, 18:12:58 »
Мосты на STM32 тоже ОК, если качество выше 24/96 не требуется. В принципе они даже проще в примении. Но я не копал особо на предмет ASIO родного под них.
... нет в открытом доступе. Если нужен Асио, то стм отпадает. Ну или есть спец-знания, чтоб сделать самому ;)

Китайские ХМОS поделки - по мне это самый подходящий вариант.

Если есть навыки работы с периферией в микроконтроллерах, то подогнать/сделать драйвер для кодека будет просто.
Особенно если есть готовый пример, любой.
Там разница будет не большая. Так что выбор кодека я бы не ограничивал доступностью кода


Оффлайн Tander Автор темы

  • Ветеран форума
  • ******
  • Сообщений: 3731
  • Репутация: +475/-0
    • Efremoff
Re: Аудио-интерфейс своими руками
« Ответ #6 : Марта 10, 2021, 18:18:15 »
Спец-знаний чтобы писать асио под STM32 - нету.

Китайские XMOS поделки - а можно конкретно примеры готовых продуктов? К которой можно будет подтянуть кодек с ADC/DAC?

А то пока больше вопросов чем ответов. )) и м-аудио м-трек соло2 за 50 баксов новый - уже не выглядит так уж и плохо. )))



« Последнее редактирование: Марта 10, 2021, 18:23:58 от Tander »

Оффлайн AZG

  • Живу на форуме
  • *******
  • Сообщений: 89929
  • Репутация: +9879/-1413
  • Санкт-Петербург
    • AZG CUSTOM
Re: Аудио-интерфейс своими руками
« Ответ #7 : Марта 10, 2021, 18:24:35 »
tube-freak, Китайские поделки не работают на ввод. В этом основная проблема. Долго искал варианты для одного знакомого, так и не нашел. Все под ДАК-и.

Tander, Ну я показал просто вариант где есть все. Цена там за АДАТ, оптику и т.п. Если без всего этого, то будет дешевле. Главное найти. Тем более я помню где ты находишься и выискиваю варианты с адекватной доступностью.

По поводу С-Медиа я же сразу сказал, там все упирается в прошивку. Чип то умеет туда-сюда плюс СПДИФ, но на вход девайсов мало встречается.

... и добавил:

Просто смотри, для утилитарных дел хватит и простой готовой звуковухи с родным АСИО. б/у можно найти за твой бюджет вполне адекватное решение.

Оффлайн Tander Автор темы

  • Ветеран форума
  • ******
  • Сообщений: 3731
  • Репутация: +475/-0
    • Efremoff
Re: Аудио-интерфейс своими руками
« Ответ #8 : Марта 10, 2021, 18:41:55 »
Просто хочется попробовать сделать лучше, или хотя бы так же, как бюджетные готовые звуковые, а получается - что как-то мало вероятно... ))

Просто вчера обсуждали беринжер UCA222 - там вообще просто PCM2902 за... 30 баксов в среднем...  ???

За 50 баксов можно взять или м-трек соло (там вроде нет асио), или беринжер UM2, или поискать старый M-audio Fast Track mk2 б.у. за те же 50 баксов (там уже 24 бита - единственный, кто из этих трех предлагает 24 бита и там есть асио... зачем я его продал 3 года назад...).


... и добавил:

Нашел вот такую штуку.

https://www.aliexpress.com/item/1005001604756841.html

вроде вменяемые кодеки заявлены (отдельно на ADC и DAC). В качестве "транспорта" стоит Bravo SA9023 (24 бит/48кгц максимум), или SA9123L (24 бит/192кгц максимум) в зависимости от версии и возможноетй,  в качестве DAC - уже вспоминаемый раньше - ES9023, в качестве ADC - CS5341.



... и добавил:

Встречаются отдельно модули транспорта готовые на базе тех же чипов Bravo, которые заточены под вход и выход.
например - вот:
https://www.aliexpress.com/item/1005002004092263.html
« Последнее редактирование: Марта 10, 2021, 19:15:28 от Tander »

Оффлайн AZG

  • Живу на форуме
  • *******
  • Сообщений: 89929
  • Репутация: +9879/-1413
  • Санкт-Петербург
    • AZG CUSTOM
Re: Аудио-интерфейс своими руками
« Ответ #9 : Марта 10, 2021, 19:18:43 »
Кстати да, видел такой. Что-то забыл про него. Вот на 9123 вполне можно. Но опять же, смотри АСИО родное есть ли. Я в своих поисках именно это ставил во главу.

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

... и добавил:

Кстати, там в описании на картинках есть АСИО для Вин7. Но правда или нет, проверяй.
« Последнее редактирование: Марта 10, 2021, 19:20:41 от AZG »

Оффлайн Tander Автор темы

  • Ветеран форума
  • ******
  • Сообщений: 3731
  • Репутация: +475/-0
    • Efremoff
Re: Аудио-интерфейс своими руками
« Ответ #10 : Марта 11, 2021, 12:00:36 »
Ну, как выяснилось по поискам у чипов от Savitech (выше упомянутые Bravo SA9023, SA9123 и прочие) есть асио. Проблема в том, что купить чип - например более простой 9023 - достаточно сложно (я так сходу чот не нашел...), на оф. сайте документации на чипы нету (https://www.savitech.co/usb-products), а интернет помогает, но даташиты достаточно бедные ( * SA9023-20150430-JPv1.1.pdf (1894.86 КБ - загружено 1965 раз.) - хорошо что хоть ножки расписали где какие, а вот типовой схемы включения нету).
В общем - доступность этих чипов под большим сомнением. Конечно - можно купить 1 штуку и забить, или даже купить готовую платку транспорта на данном чипе. Но вот не хочется как-то основывать устройство на труднодоступном железе. ) если не дай Бог кто захочет повторить - вспомнит меня не сильно хорошо... )))


... и добавил:

Нашел достаточно большое сообщество, которые пробуют реализовать аудио на ARM, используя Teensy
Есть достаточно объемная библиотека аудио https://www.pjrc.com/teensy/td_libs_Audio.html, стандартные шилды работают на 16/44,1, но есть более интересные варианты на АК4558 https://hackaday.io/project/8567-hifi-audio-codec-module или совсем уж навороченный на CS4272 - https://hackaday.io/project/5912-teensy-super-audio-board

Можно в качестве эксперимента взять стандартный шилд (15 баксов) и MCU - (20 баксов) - и если опыты будут удчаные - тогда уже занятся о  том, чтобы либо сделать, либо купить  шилд на АК4558  или CS4272 - благо есть вся документация на гитхабе.

Но опять же - там вряд ли будет асио. С другой стороны - беринжер к своей UM2 у себя на сайте в качестве асио-драйверов предлагает скачать Asio4all и не парится. ) так что для действительно бюджетного решения - может быть неплохо. Плюс использования микроконтроллера ARM - можно повесить например 2 шилда - и получить 4 входа и 4 выхода (и тем самым организовать, например, стерео-петлю в конечном девайсе). И к микроконтроллеру можно прикрутить энкодеры-кнопки и отдавать действия по ним - как миди-команды. т.е. один девайс будет управлять и звуком и миди (там есть режим миди+аудио+сериал). Хотя конечно тут уже вопрос - сможет ли оно работать без затыков и с тем и другим.

« Последнее редактирование: Марта 11, 2021, 13:33:54 от Tander »

Оффлайн AZG

  • Живу на форуме
  • *******
  • Сообщений: 89929
  • Репутация: +9879/-1413
  • Санкт-Петербург
    • AZG CUSTOM
Re: Аудио-интерфейс своими руками
« Ответ #11 : Марта 11, 2021, 14:13:20 »
Tander, Странным путем пошел. Тут надо именно проверенное решение от чипа. Всякие шилды это самопальство с неизвестным результатом. На XMOS тоже проектов навалом. И там родной драйвер от Tessycon уже нормальный и с АСИО.

Для серьезной работы асио4олл не катит вообще, кривая прослойка. Это не дома в риг играть или еще что.

Оффлайн Tander Автор темы

  • Ветеран форума
  • ******
  • Сообщений: 3731
  • Репутация: +475/-0
    • Efremoff
Re: Аудио-интерфейс своими руками
« Ответ #12 : Марта 11, 2021, 14:33:33 »
Я не нашел проектов на XMOS с реализацией ADC/DAC стерео, покажешь? т.к. я нашел только один проект с микшером, который реально достаточно сложный.

Зато я нашел отличный мультиканальный проект на базе той же Teensy  https://hackaday.io/project/2984-teensy-audio-library/log/57537-tdm-support-for-many-channel-audio-io

... и добавил:

Это не дома в риг играть или еще что.
Как раз девайс для того чтобы дома (ну и не дома) играть в риг.  :) ну только не Guitar Rig а в другие вещи (образно - в DAW). Для дома у меня такие же требования что и для концерта. т.к. программа отрабатывается 1:1.  :)
« Последнее редактирование: Марта 11, 2021, 14:35:20 от Tander »

Оффлайн AZG

  • Живу на форуме
  • *******
  • Сообщений: 89929
  • Репутация: +9879/-1413
  • Санкт-Петербург
    • AZG CUSTOM
Re: Аудио-интерфейс своими руками
« Ответ #13 : Марта 11, 2021, 14:36:43 »
Tander, ну тогда проще свисток купить что ты ранее показывал.  ???

Оффлайн Tander Автор темы

  • Ветеран форума
  • ******
  • Сообщений: 3731
  • Репутация: +475/-0
    • Efremoff
Re: Аудио-интерфейс своими руками
« Ответ #14 : Марта 11, 2021, 14:45:55 »
Так чтобы было понятно - конечный девайс - это напольник, с PC-компом внутри (Intel Nuc + Win10 + набор VST через хост), сенсорным экраном 7кой, аудио-интерфейсом, и AVR-миди контроллером, подключенным к тому же компу. Если функции кнопок-крутилок получится переключить к тому же мк, что будет управлять звуком - то будет -1 девайс, что хорошо. Как я писал выше - с головой хватит 24бит/48кгц.

Честно говоря я не думаю что в Live кто-то услышит разницу даже между 16/44,1 и 24/48. Тем более у баса, тем более в миксе.

А вот хорошее соотношение сигнал-шум (SNR) и динамический диапазон (Dynamic Range) - уже важно - тут я стараюсь чтобы ADC обеспечивало SNR/Dynamic Range - хотя бы от 90дБ и более. Если при этом будет возможность сразу с прибора, без дополнительной работы получить баласные выходы (всяко лучше получить симмеричный сигнал с DAC, чем ставить DRV134 или делать с помощью ОУ из unbalanced делать balanced) - то вообще замечательно. Но - опять же - все это условности на которые, на уровне прототипа - можно закрыть глаза.

О, я еще не смотрел встроенную карту компа. )

... и добавил:

Tander, ну тогда проще свисток купить что ты ранее показывал.  ???
Свисток шумит. Причем сильно.

... и добавил:

Возможно проблема свистка, т.к. после разборки - там просто микросхема в виде капельки компаунда с дорожками, минимальным обвесом на вход-выход. ))
Можно в любой момент можно купить карточку готовую на CM6206-LX за 12 баксов. )) только это не интересно. )
« Последнее редактирование: Марта 11, 2021, 14:51:25 от Tander »