Клуб DiyAudio

Источники аудиосигнала => Цифровые => Тема начата: blindman от 24 Июля 2013, 16:40:04

Название: Сервер/рендерер/плеер на Cubieboard
Отправлено: blindman от 24 Июля 2013, 16:40:04
Прикупил я себе вот такую игрушку - Cubieboard. Плата на основе SOC (system-on-chip) Allwinner A10. Такие чипы стоят во многих андроид-планшетах начального уровня - ARM Cortex A8, GPU Mali 400.  Имеются 2 USB  2.0 host, один USB OTG, 100 MBit Ethernet, HDMI, SATA. Симпатичный корпус.


(Извините, но у Вас нет доступа в Галерею)
(Извините, но у Вас нет доступа в Галерею)

Планирую сделать на его основе аудио рендерер и/или сервер, с использованием UPnP AV. Вкратце о том, что это такое. Universal Plug and Play (UPnP) - это набор сетевых протоколов для использования в локальной сети. Эти протоколы позволяют различным устройствам, таким как компьютеры, принтеры, точки доступа, и т.п., автоматически обнаруживать друг друга и устанавливать соединения для передачи данных. Нас интересует UPnP AV - расширение UPnP для построения сетей передачи аудио/видео контента. В первом приближении, основные компоненты UPnP AV - это сервер (Media Server), рендерер (Media Renderer) и устройство управления (или точка управления, Control Point).

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

Рендерер отвечает за преобразование цифровых данных в собственно звук и/или изображение. Современные модели телевизоров например могут иметь функцию UPnP AV рендерера.

Устройство управления используется для поиска контента на одном или нескольких серверах, и выдачи команд на воспроизведение рендереру. А также может управлять параметрами рендерера - громкость, перемотка и т.п.

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

В данный момент меня интересует только воспроизведение аудио. Я провел некоторые эксперименты по использованию Cubieboard в качестве рендерера и сервера. Результаты вполне положительные. На данный момент я могу воспроизводить аудиофайлы, хранящиеся на ноутбуке, через USB ЦАП, к ноутбуку непосредственно не подключенный, и вообще расположенный в другой комнате. Хочу попробовать довести это до логического завершения, и в итоге иметь набор программ, который можно записать на карту памяти, воткнуть в Cubieboard - и получить готовый к использованию рендерер или сервер (или и то и другое в одном флаконе).

Планируемые функции

Работа в качестве сервера UPnP AV
Работа в качестве рендерера UPnP AV
Работа с устройствами управления UPnP AV
Поверялось с программой BubbleUPnP под андроидом. Возможно управление из-под Windows (foobar2000) или Linux (rhythmbox)
Использование проводной сети
Использование беспроводной сети
Нужно тестирование с разными адаптерами, пока наверняка можно сказать только, что работает с тем что есть у меня
Вывод звука через встроенный аудиокодек
Проверено на FLAC 16/192
Вывод звука через USB ЦАП.
Тестировалось до 16/48. Нужно проверять с хайрез ЦАПами
Вывод звука через HDMI.
Не тестировалось
Различные форматы файлов
Проверены WAV, MP3, FLAC
Сервер может читать файлы с HDD или USB флэшки
Теоретически ясно как сделать, практически не проверял
?При использовании в качестве сервера, контент можно заливать через сеть
Нужно выбрать способ. Вероятнее всего SAMBA - проще всего монтировать. Но надо рассмотреть варианты
?Использование ИК ДУ
Приемник ДУ имеется на плате, есть поддержка в ядре. Пока неясно, как привязать к архитектуре UPnP
?WEB-интерфейс для настройки
Принципиальных сложностей не предвидится. Сначала нужно окончательно устаканить основные программые компоненты

Жду вопросов, комментариев, предложений

PS Наверняка существуют готовые решения. Но мы не ищем легких путей  ;)
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: rubenlukin от 24 Июля 2013, 18:31:22
Вывод звука через встроенный аудиокодек
Как звучит, по сравнению с внешним ЦАПом?
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: blindman от 24 Июля 2013, 19:04:00
Так себе. Хотя и ЦАП у меня не супер пупер.  Но напрямую не сравнивал - с ЦАПа через усилитель на колонки, а с встроенного выхода - на наушники
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: IronYorick от 24 Июля 2013, 21:15:07
Андрей, если я правильно понимаю - Кубик отдельного чипа аудиокодека не имеет, он интегрирован в ЦПУ?
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: yooree от 24 Июля 2013, 21:36:32
А я баловался таким экспериментом :

к ЦАПчику китайскому SMSL SD-1955+ (довольно хороший из коробки даже, 100-баксового уровня ЦАПчик, кстати) -
http://www.aliexpress.com/item/Optical-Coaxial-USB-DAC-SMSL-SD-1955-DIR9001-AD1955-24bit-96kHz-Decoder/669829944.html
стыканул по коаксиалу простенький и недорогой плеерок VOTO VT-1073, в России его братом-близнецом является
Qumo Home Pro HP001 - http://www.qumo.ru/catalogue/products/292.xhtml
А для визюального контроля к плееру прицепил еще такой маленький китайский мониторчик -
http://item.taobao.com/item.htm?spm=a230r.1.0.0.zaPcRC&id=16936223381
Играет. Трудно сказать насколько скромнее такой вариант играет в сравнении с вариантом подключения источников к усилителю по аналогу. По аналогу на мой ух играет интереснее.
Скорее всего самым важным звеном тут выступает ЦАП.
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: blindman от 25 Июля 2013, 05:31:34
отдельного чипа аудиокодека не имеет, он интегрирован в ЦПУ?
В принципе верно. Если точнее - на одном кристалле выполнены процессор, сопроцессоры и всевозможные периферийные устройства. Для построения полноценного компьютера нужно лишь 2-3 дополнительных микросхемы - память и контроллер питания.

и добавил...
Типа апдейт


Работа в качестве сервера UPnP AV
Работа в качестве рендерера UPnP AV
Работа с устройствами управления UPnP AV
Поверялось с программой BubbleUPnP под андроидом. Возможно управление из-под Windows (foobar2000) или Linux (rhythmbox)
Использование проводной сети
Использование беспроводной сети
Нужно тестирование с разными адаптерами, пока наверняка можно сказать только, что работает с тем что есть у меня
Вывод звука через встроенный аудиокодек
Проверено на FLAC 16/192
Вывод звука через USB ЦАП.
Тестировалось до 16/48. Нужно проверять с хайрез ЦАПами
Вывод звука через HDMI.
Не тестировалось
Различные форматы файлов
Проверены WAV, MP3, FLAC
Сервер может читать файлы с HDD или USB флэшки
С флэшками протестил, все окей. HDD на очереди
?При использовании в качестве сервера, контент можно заливать через сеть
Нужно выбрать способ. Вероятнее всего SAMBA - проще всего монтировать. Но надо рассмотреть варианты
?Использование ИК ДУ
Приемник ДУ имеется на плате, есть поддержка в ядре. Пока неясно, как привязать к архитектуре UPnP
?WEB-интерфейс для настройки
Принципиальных сложностей не предвидится. Сначала нужно окончательно устаканить основные программые компоненты

Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: xar от 25 Июля 2013, 20:57:23
Андрей, на счет контроллера питания. что то типа там замутить реально?
в данный момент тоже на эту платку смотрю. корпус у меня mini-itx с бп соответствующим. в нем сейчас лежит усилок (та2020). рулит всем твоя плата регулятора громкости (запитана по дежурке, контролирует работу бп в целом). получится ли с кубиком подобное сотворить?
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: blindman от 26 Июля 2013, 02:43:29
Ренат, я не понял, что ты имеешь в виду. Распиши подробнее
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: xar от 26 Июля 2013, 06:57:49
допустим где то в софте есть кнопка которая выполняет shutdown для оси и после завершения дергает какую то ногу на гпио, говорящую о том что питание можно вырубить. внешняя схема сообразив что можно это сделать вырубает бп (который обычный ATX в моем случае) и остается питаться от дежурки
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: blindman от 26 Июля 2013, 07:15:38
там присутствует контроллер питания AXP209. Документация только на китайском. Доки на похожую AXP202 гуглятся на английском. У AXP209 есть кнопка включения и выход PWROK, на плате можно к нему прицепиться. Этот сигнал можно использовать для управления питанием. Запитываем плату от дежурки, при нажатии кнопки активируется PWROK, по нему включаем основной источник питания. После шатдауна PWROK деактивируется - отключаем основной питальник, остается только дежурка. Драйвер кнопки для Linux имеется, можно организовать шатдаун по нажатию
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: khvilon от 26 Июля 2013, 08:54:52
Андрей, а в каком формате передаются данные на рендерер?
(не существует-ли тут потерь качества)
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: motiv от 26 Июля 2013, 13:51:40
Нужно не с пульта, а с планшета какого-нибудь. А контент с сервачка в сети. Типа как linn akurate ds  :v:
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: blindman от 26 Июля 2013, 14:06:39
в каком формате передаются данные на рендерер
В исходном, какой есть на сервере. Если только не настроена перекодирование

и добавил...
Нужно не с пульта, а с планшета какого-нибудь. А контент с сервачка в сети. Типа как linn akurate ds  :v:
Вообщето об этом и разговор. Ежели кто не понял :)
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: khvilon от 26 Июля 2013, 14:12:18
В исходном, какой есть на сервере. Если только не настроена перекодирование
т.е. передаётся файл, а не поток?
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: motiv от 26 Июля 2013, 14:58:21
Вообщето об этом и разговор. Ежели кто не понял
Просто в заглавном сообщении есть такой пункт
Использование ИК ДУ
И непонятно зачем он нужен  :)
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: blindman от 26 Июля 2013, 15:19:06
Мне тоже пока непонятно, потому и под вопросом.


передаётся файл, а не поток?
Женя, на этот вопрос можно ответить, только определившись с терминологией :) Что есть файл, а что поток ?

Используется обычный протокол HTTP. Сервер может взять файл из библиотеки и отдать его как есть, может перекодировать. Можно с этим вопросом не париться. В большинстве случаев - файл с сервера без всяких изменений.
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: xar от 26 Июля 2013, 15:23:05
motiv, мне вот нравится всем с пульта от телека управлять. кнопок там много
blindman, тогда думаю внешнему контроллеру питания говорить что пора вырубать, а кнопку не использовать. шутдаун только софтово
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: blindman от 26 Июля 2013, 15:48:56
xar, а включать после шатдауна как будешь?
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: motiv от 26 Июля 2013, 16:20:44
xar, ты просто не видел как оно с планшета управляется ;)
blindman, по идеи там Linux с стандартным софтом uPnP, просто правильно настроенный и проверенный?
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: xar от 26 Июля 2013, 16:40:34
motiv, ну пульт всегда на месте. а планшет занят может быть
blindman, смотри. есть бп с каналом дежурки. есть кубик и куча железа. есть контроллер, который помимо питания еще много чем занят. он сидит на дежурке. собственно увидев ноль на пврок оно вырубит основное питание. когда нажмем кнопочку на корпусе оно подаст питание на все, включая кубик. кубик включится и поднимет пврок. по крайней мере я так понял.
только вот я думал по поверок бп дает знать матери что питание в идеале и давай заводись. твой вариант поведения это уже подстройка под свои нужды?
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: blindman от 26 Июля 2013, 16:53:40
по идеи там Linux с стандартным софтом uPnP, просто правильно настроенный и проверенный?
Ну да. Как раз основная работа - этот софт отобрать, если надо - допилить, сконфигурировать, и связать между собой
я думал по поверок бп дает знать матери что питание в идеале и давай заводись
Совершенно верно. контроллер питания выдает выходные напряжения, потом дергает PWROK, система выходит из состояния сброса. А когда например делаем shutdown -h now , последнее, что делает ОС при завершении - это сообщает контроллеру питания, что все, туши свет. Тот переводит PWROK в 0 - система входит в состояние сброса, затем снимает питающие напряжения. Как  ты все это будешь использовать - решай сам.
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: xar от 26 Июля 2013, 17:35:18
ну в целом все вроде получается складно.
место куда припаять есть?
и почему кстати на а10 взял? вроде на а20 есть уже.
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: blindman от 26 Июля 2013, 17:43:16
Потому что "вроде" . Том Кьюби объявил о начале поставок только 19 июня. У меня 3 ревизия на A10, если я не ошибаюсь. И то косяки аппаратные присутствуют. Как минимум - нет возможности подключить батарейку для часов. После пары ревизий можно будет и на вторую посмотреть. А так пока по рынку гуляли, заскочил в waveshare да купил.

место куда припаять есть?
Там конденсатор и резистор на этом выводе висят. Больше негде подпаяться.

и добавил...
Почему еще удобно подключиться к наплатной кнопке - можно внешним контроллером выдать сигнал завершения работы ОС
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: khvilon от 26 Июля 2013, 18:45:19
только определившись с терминологией :) Что есть файл, а что поток ?
я понимаю, что файл в терминологии unix и есть поток.
в том вопросе содержался контекст "раскодированный поток" или "поток звуковых ДАННЫХ"
или
файл, как он есть flac, ape,...

я задумался вообще над unpnp технологией и над приложением оной для меня.
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: blindman от 26 Июля 2013, 19:04:24
Тогда файл передается. Оригинальный или транскодированный. Но все равно в определенном формате. Раскодирование - задача рендерера
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: khvilon от 26 Июля 2013, 19:06:32
спс! всё в голове потихоньку устаканивается...
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: motiv от 05 Августа 2013, 00:54:24
Андрей, а можно попросить тебя добавить пожалуйста в список "Проверить вывод звука через i2s", если он разведен на плате конечно. Я знаю что он не может тактоваться от источника, это не принципиально в данном случае  :)
Так-же была бы очень интересна возможность проигрывания SACD  ;)
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: blindman от 05 Августа 2013, 04:50:10
Григорий, с IIS облом. Он просто не выведен от чипа наружу
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: motiv от 05 Августа 2013, 12:38:07
blindman, можешь посоветовать какую-нибудь ARM плату с выведенным I2S под похожие цели(upnp/dlna рендер)? И с каким набором софта у тебя получилась устойчивая работа, если не секрет? :)
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: blindman от 09 Августа 2013, 10:14:42
можешь посоветовать какую-нибудь ARM плату с выведенным I2S

Не могу, к сожалению. Я их не изучал специально, подвернулась под руку кьюби, посмотрел - под мои цели подходит

с каким набором софта у тебя получилась устойчивая работа


Сервер - minidlna
Рендерер - взял пример из Platinum UPnP SDK (http://www.plutinosoft.com/platinum), прикрутил к нему mplayer. До этого пробовал gmrender-resurrect, но с ним есть проблемы, точнее с используемым им gstreamer'ом. Рендерер еще "обвернут" в BubbleUPnP Server (http://www.bubblesoftapps.com/bubbleupnpserver/), для решения проблемы с плэйлистами
Управлялка - BubbleUPnP под Android


Все это сутками работает. Пока единственное нарекание - это то, что MP3 изредка слегка "захлебывается". С FLAC такой проблемы нет
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: xar от 09 Августа 2013, 20:54:37
слегка "захлебывается"
это как? О_о
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: blindman от 10 Августа 2013, 03:22:25
Останавливается воспроизведение на долю секунды. Бывает очень редко, закономерность не выявил пока
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: slonspb от 13 Августа 2013, 17:54:13
приветствую
тоже недавно заинтересовался темой вывода звука (emu1212 ушла в историю вместе с PCI разъёмом)
чуть чуть копнул тему, насколько хватило сил перемалывать тонны руды в интернете, благо prom_pc занимался

IMHO я больше склоняюсь к высказываниям Lynx-a в плане плееров: они устареют раньше, чем вы проект закончите. Вчера все любили британский rapsberry, сегодня китайский cubie, завтра ещё что. Мощность и память нарастить не проблема. Легче взять готовую планшетку за 50$ и там всё будет сразу. Кроме того, что нужно: асинхронный i2s, поддержка дровами.

Я копал неделю, но так и не выкопал ни одного проекта-компьютерика, который выводил бы i2s асинхронно, с возможностью внешнего клока. Cubieboard кажется вообще i2s не вывел (или даже не сконфигурил выводы проца), Rapsberry под давлением общественности вывел, но синхронный, от клока проца. Есть мнение, что вообще архитектура AllWinner A10 не позволяет тактовать i2s снаружи, а это значит что практически все устройства от китайцев сразу идут в сад.

Поэтому все платки - да, они красивые и DIYшные - интересны заставить сборку линукса залезть в NAS storage и вытащить поток аудио в ... Вот куда? Опять в USB? Тогда я возвращаюсь копать тему XMOS за вменяемые деньги или товарищей на любом USB2->i2s проце (NXP,STM) и подключать его к компу.

PS: как вариант могу рассмотреть тот же rapsberry с заменённым кварцем на более стабильный, хотя там всёравно много мест, где нахватать джиттера. Так что XMOS от китайцев наверное будет дешевле и получше.
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: motiv от 13 Августа 2013, 18:28:39
slonspb, хреново копали. Rapsberry имеет вывод, проблема в дровах. И там он умеет тактоваться от ЦАПа, на форуме были картинки как выставить+даташиты broadcom. Другое дело что того кто это писал не особо интересует что-то отличное от 16\44.1 и TDA1541.

К тому же совершенно не понимаете смысл разрабатываемого устройства. А если снимут плату с производства - софт можно запустить на любой. Но автору это не нужно, он делает для себя, ему и одной платы хватит  ;D
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: blindman от 13 Августа 2013, 19:48:01
они устареют раньше, чем вы проект закончите
В смысле? протухнут что ли? Мне пофиг что та или иная система станет немодной. У меня кьюби работает, и меня устраивает. Понадобится еще одну комнату или балкон озвучить - возьму еще одну такую же. Или любую другую подходящую.
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: Eugene Balakin от 14 Августа 2013, 13:01:33
Я копал неделю, но так и не выкопал ни одного проекта-компьютерика, который выводил бы i2s асинхронно, с возможностью внешнего клока.

Вы бы точнее выражались - что значит синхронно/асинхронно. Что и по отношению к чему синхронно/асинхронно. ЧТо такое "синхронный" интерфейс, и к какому классу интерфейсов относится кв. шина звуковая.  А то прямо - махровая путаница какая-то....асинхронный вывод по квадратной шине звуковой и при этом при наличии внешнего клока :)

Т.е. - я за чистоту терминологии и более-менее точные определения.
А то уже наелись - по-типу "СПДИФ - асинхронный интерфейс"...
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: slonspb от 14 Августа 2013, 14:26:40
Rapsberry имеет вывод, проблема в дровах. И там он умеет тактоваться от ЦАПа, на форуме были картинки как выставить+даташиты broadcom. Другое дело что того кто это писал не особо интересует что-то отличное от 16\44.1 и TDA1541.

... софт можно запустить на любой.

ну так ссылку в студию! что ж Вы не делитесь!
заодно хочется посмотреть на человека, запаривающегося с внешним клоком, но довольствующимся "16\44.1 и TDA1541"

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

Вы бы точнее выражались - что значит синхронно/асинхронно.
общепринятое упортебление, по аналогии с синхронным/асинхронным USB->i2s конвертором: процесс вывода i2s по отношению к процессам самого проца.
синхронный - проц весь тактуется от своего клока, в том числе и i2s
асинхронный - проц от одного клока, i2s - от другого, возможно от внешнего
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: Eugene Balakin от 14 Августа 2013, 14:49:51

Вы бы точнее выражались - что значит синхронно/асинхронно.
общепринятое упортебление, по аналогии с синхронным/асинхронным USB->i2s конвертором: процесс вывода i2s по отношению к процессам самого проца.
синхронный - проц весь тактуется от своего клока, в том числе и i2s
асинхронный - проц от одного клока, i2s - от другого, возможно от внешнего

Я суть понимаю, Вы суть понимаете. Но определения неточны. Это часто приводит к тааакой каше в голове доверчивых самодельщиков. Мы же не можем передать "понимание", мы пользуемся определениями. Ну - это я так -  размечтался...
Вот даже вышеотковоченное - проц тактируется от своего клока - это понятно, но дальше - собственно интерфейс не тактируется, тактируется, например - FIFO буфер, от другого, возможно внешнего генератора. Человек с опытом и практикой все поймет. А вот желающий разобраться в предмете от начала его наверняка столкнется с некоторыми трудностями.
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: blindman от 14 Августа 2013, 15:12:23
поэтому и рождаются каждый год проекты "правильный вывод звука а теперь и на такой вот штуке"
Молодой человек, вместо того, чтобы писать на форумах о том, как все плохо, выдали бы проект "правильный вывод звука на любой штуке". Или там "штука для правильного вывода звука на все времена". Чтоб не надо было допиливать, а тем более, не к ночи будет сказано, разбираться
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: motiv от 14 Августа 2013, 16:31:43
blindman, Андрей, по теме - жаль ты сначала разработал USB интерфейс, а потом уже принялся за upnp рендер   ;-[
Вот такая штука идеальна, жаль стоит очень не гуманно: http://www.abc-pcb.com/?page_id=192
Зато дрова бы под windows не пришлось бы искать\дорабатывать\тестировать\etc  ;D
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: blindman от 14 Августа 2013, 16:38:19
Почему жаль?
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: xar от 14 Августа 2013, 16:50:26
slonspb, определение по сути не верно. тактирование процессора и тактирование иис на соке связаны лишь первичным источником (кварц/генератор) дальше каждому свой плл. более уместны будут такие понятия как внешнее и внутреннее тактирование транспорта(?)
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: motiv от 14 Августа 2013, 16:52:49
blindman, я бы с руками оторвал, для чистого аудио - идеальный источник. Самому сделать слабо, я веб-программист и админ( :-X ), а не системный программист  :)

slonspb, http://www.raspberrypi.org/phpBB3/viewtopic.php?f=44&t=8496&start=300
Где-то в этой теме, вроде на моменте запуска дал ссылку.

заодно хочется посмотреть на человека, запаривающегося с внешним клоком, но довольствующимся "16\44.1 и TDA1541"

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

Очевидно что для этого существует операционная система, которая и создает прослойку между железом и софтом. Софту по барабану что там за звуковая карта, он с ней напрямую не работает.

и рождаются каждый год проекты "правильный вывод звука а теперь и на такой вот штуке"

Критерии вывода качественного звука давно выработаны, никакие "новые" устройства не появляются каждый год. То что их несколько - воля разработчиков, пригодные для вывода качественного звука построены на одних и тех же принципах. За последние годы только увеличивалась выводимая частота дискретизации и разрешение(например flamenco->bolero) , да DSD начинают выводить напрямую
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: hippo64 от 14 Августа 2013, 16:57:16
slonspb,  Игорь, ни один из постов нашего форума не является офертой, человек, делящийся своими конструкциями, делает их для себя, поэтому ваш тон абсолютно неуместный.
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: blindman от 14 Августа 2013, 17:06:59
Самому сделать слабо, я веб-программист и админ( :-X ), а не системный программист  :)
Я на работе тоже типа веб-программист. Все остальное в порядке хобби
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: xar от 14 Августа 2013, 18:13:36
запустил таки своего кубика (вторая версия на A20). 31го заказал, вчера получил (RT178858151HK - почта как то удивила даже). долго не мог понять почему не стартует. оказалось банально хдми разъем туговато заходит  :wall:
в общем буду пытаться повторять подвиги  :D
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: blindman от 06 Сентября 2013, 11:33:54
Приделал простенький интерфейс для конфигурирования
(Извините, но у Вас нет доступа в Галерею)

На выходных буду цеплять винт
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: aleyer от 09 Сентября 2013, 21:48:17
Купил куби, рассчитывая, что смогу ее подключить к монитору с DVI входом при помощи кабеля HDMI-DVI. Как бы не так.... :) Придется распаивать VGA-выход... Но работает, вроде бы, вполне шустро. Поставил с официального сайта Лубунту 12.04 версии 1.03. Может, есть что-то лучше? Интересует стабильная работа, минимум багов в выводе картинки. Из ПО надо по сути только браузер и плеер, чтобы онлайн-радио запустить.
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: xar от 10 Сентября 2013, 08:20:02
Как бы не так....
а что не так?
Может, есть что-то лучше?
почитай форумы. там вариантов поболее. но нужно смотреть есть ли поддержка аппаратного ускорения видео.
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: aleyer от 10 Сентября 2013, 21:34:54
а что не так?
Я не знал, что через HDMI изображение может передаваться в двух цветовых моделях - YUV или RGB, в то время как для DVI стандарт - только RGB. Увы, поиск выдал информацию, что куби поддерживает только YUV, ни один монитор, который я пробовал к нему подключить, YUV не поддерживал.
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: aleyer от 21 Сентября 2013, 20:04:30
Столько времени убил на вывод с платы VGA.... Может хоть мой опыт кому-то пригодится.
В интернете лежат пару схем с использованием логики, но они не работают, по крайней мере с моей ревизией платы.
Для платы версии 2012-09-09 нужно подключиться к пинам (http://linux-sunxi.org/Cubieboard/ExpansionPorts):
PD27 (LCDVSYNC)-VGA-VSYNC
PD26 (LCDHSYNC)-VGA-HSYNC
VGA-R
VGA-G
VGA-B
Ground
От линий RGB - по 75-омному резистору на землю, синхронизацию - напрямую на VGA разъем и вуаля.
Плату рисовал ногами руками.
(Извините, но у Вас нет доступа в Галерею)
(Извините, но у Вас нет доступа в Галерею)
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: khvilon от 04 Октября 2013, 16:52:15
Андрей, а не было-ли мыслей, сделать на этой плате програмный I2S?
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: blindman от 04 Октября 2013, 17:37:58
Мыслей таких не возникало. Но однозначно могу сказать - и не надо, чтобы они возникали. Ничего путного не выйдет
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: khvilon от 04 Октября 2013, 18:14:18
Мыслей таких не возникало. Но однозначно могу сказать - и не надо, чтобы они возникали. Ничего путного не выйдет
я сильно несведущь в этих процессорах...
но всё равно почему? (если не лень писать)

и добавил...
просматривал Cubieboard-овский сайт и обнаружил:
A20-Cubietruck

While a10/a20-cubieboard very suitable for student, software/hardware hackers, a20-cubietruck is suitable for us to make real product.
Cubietruck is the 3rd board of Cubieteam, so we also name it Cubieboard3. It's a new PCB model adopted with Allwinner A20 main chip,just like Cubieboard2. But it is enhanced with some features, such as 2GB memory, VGA display interface on-board, 1000M nic, WIFI+BT on-board, support Li-battery and RTC,SPDIF audio interface.
Hardware Specs

    Ordered List ItemAllWinnerTech SOC A20 ARM® Cortex™-A7 Dual-Core ARM® Mali400 MP2 Complies with OpenGL ES 2.0/1.1
    Ordered List Item1GB/2GB DDR3@480MHz
    Ordered List ItemHDMI&VGA 1080P display output on-board
    10M/100M/1G Ethernet
    Wifi+BT wireless connection with antenna on-board
    SATA 2.0 interface support 2.5’ HDD (for 3.5’ HDD, only need another 12V power input)
    Storage solution NAND+MicroSD or TSD+ MicroSD or 2*MicroSD
    2 x USB HOST 1 x OTG 1 x SPDIF 1 x IR 4 x LEDs 1 Headphone 3 x Keys
    Power DC5V @ 2.5A with HDD support Li-battery & RTC
    54 extended pins including I2S, I2C, SPI, CVBS, LRADC x2,UART, PS2, PWMx2, TS/CSI, IRDA, LINEIN&FMIN&MICIN, TVINx4 with 2.0 pitch connectors
    PCB size 11cm *8cm*1.4mm very suite for installing a 2.5’ HDD

Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: blindman от 05 Октября 2013, 03:03:36
Женя, в этой теме уже несколько раз писали - I2S есть, и использовать его, наверно, можно. Но только с синтезированным внутри процессора мастерклоком. А почему программная реализация будет хуже аппаратной - я думаю, очевидно. Более того, без отказа от операционной системы она, вероятнее всего, вообще невозможна.
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: khvilon от 05 Октября 2013, 08:52:27
Женя, в этой теме уже несколько раз писали - I2S есть, и использовать его, наверно, можно. Но только с синтезированным внутри процессора мастерклоком.
Я то и имел ввиду с внешним клоком!!!
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: xar от 05 Октября 2013, 14:21:55
khvilon, программный и внешний клок имхо несовместимые вещи. все равно оно в конечном итоге будет подвязано на клок процессора. и, само собой, программная реализация будет не лучше аппаратной
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: blindman от 18 Октября 2013, 14:28:22
Цитировать (выделенное)
- Клёвые шузы! Где взял?
Васька дал погонять

Все руки не доходят сделать себе hires ЦАП. А тут хороший человек дал погонять Lynx D29. Ну и конечно я с ним потестил свои (недо)рендерер и USB транспорт. Результаты очень обрадовали. WAV и FLAC 24/192 эта коробочка тянет совершенно не напрягаясь.  Надо доводить до ума. Жаль времени как всегда не хватает.

Кстати, еще приятная штука -  при переходе между треками плейлиста пауз нет
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: xar от 22 Октября 2013, 12:14:21
http://g2labs.org/2013/10/17/cubienos-for-cubieboard-2/
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: blindman от 22 Октября 2013, 13:03:00
Запросил у них, что такое "Philips D/A converters". Моя догадка - TDA1543
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: xar от 22 Октября 2013, 13:27:56
blindman, ну и тактирование думаю с родного и2с выхода. я вообще к чему. можешь свой шилд придумать ;)
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: blindman от 22 Октября 2013, 13:41:14
тактирование думаю с родного и2с выхода
Нету его там, вот кусок схемы кьюби. А SPDIF присутствует

(Извините, но у Вас нет доступа в Галерею)

А на самой платке похоже слева два 8-ногих ЦАПа, и справа конвертер SPDIF-I2S.

(Извините, но у Вас нет доступа в Галерею)
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: xar от 22 Октября 2013, 13:47:16
blindman, смущает что B это небалансные выходы. зачем они с крайне левой части потянули дороги к правой :d_know: ну и количество перемычек, заявленных как "конфигурация i2s" три.

и добавил...
мутная какая то хрень в общем
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: blindman от 22 Октября 2013, 13:58:59
зачем они с крайне левой части потянули дороги к правой
дык эта,  местов то на всех не хватает


и добавил...
Цитировать (выделенное)
I can tell you now the Philips D/A converters are of model TDA1387. We have tried out almost everything out there and TDA1387 was unexpected on of the best.
You are also correct about the S/PDIF. We use Cirrus Logic CS8422 Asynchronous convertion from S/PDIF to I2S.
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: xar от 22 Октября 2013, 19:59:35
TDA1387 was unexpected on of the best.
:-X
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: nikkov от 04 Февраля 2014, 04:00:40
Немного подниму тему.

Играюсь сейчас над подобным проектом на базе Cubietruck. Сначала хотел просто ограничится usb-audio девайсом, тем более, что одних audio-widget у меня не менее 2-х штук, но затем все же решил попробовать задействовать имеющийся на плате I2S. Для этого пришлось влезть в исходники соответствующего модуля ядра. Мастер режим I2S со встроенного клока сейчас побежден полностью, да самый интересный для качественного воспроизведения (да и записи) слэйв-режим протестирован тоже успешно. Требуется только в коде модуля добавить установку выбора нужной сетки и коэффициента деления для BCLK и сделать нормальный формирователь BCLK и LRCLK из внешнего мастерклока.

На мой взгляд, на базе этой платы можно сделать отличный проигрыватель, который играет все и отовсюду (в том числе и с собственного жесткого диска), может управляться с компа, со смартфона или просто пульта ДУ.

Есть конечно и недостатки - наиболее серьезный из которых, неудобство встраивания платы в готовый корпус, да и для вывода I2S на гребенку нужно перепаять несколько чип-резисторов перемычек размером 0402, к которым не очень удобно подлазить. Но эти проблемы все же решаемы.
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: blindman от 04 Февраля 2014, 14:47:20
добавить установку выбора нужной сетки и коэффициента деления для BCLK и сделать нормальный формирователь BCLK и LRCLK из внешнего мастерклока
А насколько плохо то, что внешний мастерклок будет не синхронизирован с PLL внутри процессора?
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: nikkov от 04 Февраля 2014, 15:11:55
А насколько плохо то, что внешний мастерклок будет не синхронизирован с PLL внутри процессора?

А почему это должно быть плохо? Абсолютно без разницы от чего будет тактироваться шина I2S, процессору главное в дма буфер вовремя данные подкладывать.
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: blindman от 04 Февраля 2014, 15:34:37
Ну ежели так, может имеет смысл и мне 3-ю версию платы приобрести
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: nikkov от 04 Февраля 2014, 15:48:00
Ну ежели так, может имеет смысл и мне 3-ю версию платы приобрести
Да, мне бы тоже соучастники пригодились  ;D , так как сам я в линуксах практически не ориентируюсь, а на родном куби-форуме тема использования кубиков для качественного воспроизведения звука не пользуется популярностью.
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: xar от 04 Февраля 2014, 22:18:35
blindman, и дрова под мали400мп2 как раз недавно вышли )
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: cu6apum от 03 Марта 2014, 11:31:45
О, включаюсь в тему. Мне как раз нужен dlna-renderer, и чтоб непременно клочил iis со стороны ЦАПы. Значит, truck умеет? Превосходно. Нужно ли к нему допаивать буфер (куби положил, цап забрал), или можно дать bclk прямо на куби?

и добавил...
Софт, если что, допилим: я старый линуксоид и, хотя сейчас в основном на перле пишу, можно и api повспоминать.
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: nikkov от 03 Марта 2014, 11:37:39
О, включаюсь в тему. Мне как раз нужен dlna-renderer, и чтоб непременно клочил iis со стороны ЦАПы. Значит, truck умеет? Превосходно. Нужно ли к нему допаивать буфер (куби положил, цап забрал), или можно дать bclk прямо на куби?
Так как проц не поддерживает внешней синхры в мастер-режиме, то нужно на CT подавать битклок и фрэймклок. Мастерклок не нужен.
Т.е. если смотреть со стороны куби, то у него битклок и фрэймклок это входы, а дата - выход. Никаких буферов не нужно.
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: cu6apum от 03 Марта 2014, 11:48:41
Отлично, спасибо. Может что-то и выйти... Пошел заказывать куби.
Вопрос к интересующимся: а как вообще вы видите этот рендерер? Если я ввяжусь в разработку, неплохо бы иметь пожелания к ТЗ.
Я вижу комбайн из куби (ethernet, wifi) и качественной ЦАПы (ES9018?) в одно-двухвершковом корпусе, с дисплейчиком где-то 3-4 дюйма для индикации и менюшки. Пульт для работы файловым плеером (SMB/NFS) и настроек. DLNA renderer as it is. Возможно, въезд USB async для работы с компом напрямую (ннада, нет?) Возможно, встроенный мощник для исключения необходимости строить/покупать отдельный. Получится клон наймовского unitilite, только понты зеленым светиться не будут.
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: blindman от 03 Марта 2014, 14:10:24
Мне не нравится сама идея асинхронности - все таки процессор использует для синхронизации свой внутренний PLL
Как по мне, USB интерфейс тут самое то

и добавил...
дисплейчиком где-то 3-4 дюйма для индикации и менюшки. Пульт для работы файловым плеером (SMB/NFS) и настроек. DLNA renderer as it is.
Не, не то. Это все к контрол поинту относится. А рендерер должен уметь только эта. как его. Рендерить.  Хотя, опять же, это я так думаю - ничто не мешает сделать по-другому
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: cu6apum от 03 Марта 2014, 14:19:54
Усб проще всего, да. Но тогда нужен ХМОС, чтоб перегонять данные в iis, реклочить их от ЦАПы и отдавать ей. Много накладных расходов.
А точно там свой pll на буфер? Я вот пока нигде толком не нарыл инфы про этот кусок куби. Потому как если точно придется городить реклок самому, проще и вправду готовый ХМОС впаять и не мучиться.
Если есть дока какая, ткните плз?

и добавил...
Про дисплейчик и файловый плеер. Можно и выкинуть, корпус тогда меньше будет. Вопрос только - а нужен ли уважаемому Оллу чисто рендерер, без возможности играть файло по самбе?
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: blindman от 03 Марта 2014, 14:27:36
Не знакомом с мистером Оллом, но лично мне точно нужен. Успел довольно долго попользоваться, понял, что разделение обязанностей сервер-рендерер-контролпоинт очень даже удобно
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: cu6apum от 03 Марта 2014, 14:41:38
Ну добро. Осталось только вдуплить реализацию i2s на куби. Что-то пока ничего толкового не гуглится.
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: nikkov от 03 Марта 2014, 14:45:40
Мне не нравится сама идея асинхронности - все таки процессор использует для синхронизации свой внутренний PLL
Как по мне, USB интерфейс тут самое то
А ничего, что USB еще более асинхронный по отношению к процессору  :)? Задача процессора вовремя подкидывать данные по мере их передачи ЦАП-у (хоть по USB, хоть по I2S). При этом от частоты процессора зависит только то, успеет ли он эти данные подкидывать или нет.

USB я подключал, там все работает, как и должно, вплоть до 24 бит, 192кГц, но подключение по I2S, на мой взгляд, имеет ряд преимуществ, в сравнении с USB
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: cu6apum от 03 Марта 2014, 14:49:06
Ясен красен. Например, потянет ли usb-хост полные 32/384 или dsd128? Думаю, с кряхтением, учитывая все преобразования по дороге. А тут - кидай себе по dma что хочешь. Если это всё работает так, как я мечтаю.
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: nikkov от 03 Марта 2014, 14:49:33
Мне не нравится сама идея асинхронности - все таки процессор использует для синхронизации свой внутренний PLL
Как по мне, USB интерфейс тут самое то

А ничего, что USB еще более асинхронный по отношению к процессору  :)? Задача процессора вовремя подкидывать данные по мере их передачи ЦАП-у (хоть по USB, хоть по I2S). При этом от частоты процессора зависит только то, успеет ли он эти данные подкидывать или нет.

USB я подключал, там все работает, как и должно, вплоть до 24 бит, 192кГц, но подключение по I2S, на мой взгляд, имеет ряд преимуществ, в сравнении с USB


Ну добро. Осталось только вдуплить реализацию i2s на куби. Что-то пока ничего толкового не гуглится.

Вот тема на форуме, где я писал: http://www.cubieforums.com/index.php?topic=1081.0. Над slave-режимом еще работаю, но предварительно он протестирован, проблем не обнаружено. Сейчас доделаю формирователь синхросигналов для I2S с генераторами сеток 44/48 и доведу до ума драйвер
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: blindman от 03 Марта 2014, 14:50:29
А ничего, что USB еще более асинхронный по отношению к процессору
USB предоставляет механизм синхронизации (который предполагает наличие буфера). IIS сам по себе - нет
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: cu6apum от 03 Марта 2014, 14:51:05
Хех, я как раз сижу в том же топике сейчас.  :laugh:
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: blindman от 03 Марта 2014, 14:51:30
потянет ли usb-хост полные 32/384 или dsd128
За это можно не переживать. Потянул бы процессор
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: cu6apum от 03 Марта 2014, 14:52:06
А ничего, что USB еще более асинхронный по отношению к процессору
USB предоставляет механизм синхронизации (который предполагает наличие буфера). IIS сам по себе - нет
Да не дай боги вам откопать обратно СИНХРОННЫЙ usb!!! Пфуй, бросьте каку.
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: nikkov от 03 Марта 2014, 14:52:56
Ясен красен. Например, потянет ли usb-хост полные 32/384 или dsd128? Думаю, с кряхтением, учитывая все преобразования по дороге. А тут - кидай себе по dma что хочешь. Если это всё работает так, как я мечтаю.
Пока не знаю, потянет ли I2S в слэйве 384кГц, в мастере точно нет, но это связано с внутренним формирователем мастерклока. Да и согласно скудной документации I2S поддерживает 24 бит в 32 битном фрэйме, так что космоса тоже не выходит.
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: blindman от 03 Марта 2014, 14:53:39
Да не дай боги вам откопать обратно СИНХРОННЫЙ usb!!! Пфуй, бросьте каку.
:d_know: не понял
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: nikkov от 03 Марта 2014, 14:53:50
А ничего, что USB еще более асинхронный по отношению к процессору
USB предоставляет механизм синхронизации (который предполагает наличие буфера). IIS сам по себе - нет
Так а буфер ДМА это что?
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: cu6apum от 03 Марта 2014, 14:54:35
Да не дай боги вам откопать обратно СИНХРОННЫЙ usb!!! Пфуй, бросьте каку.
:d_know: не понял
Google asynchronous usb audio.
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: nikkov от 03 Марта 2014, 14:55:32
Да не дай боги вам откопать обратно СИНХРОННЫЙ usb!!! Пфуй, бросьте каку.
:d_know: не понял
Google asynchronous usb audio.
Я думаю, все, кто хоть немного в теме понимают, что речь про асинхронную изохронную передачу  :)
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: blindman от 03 Марта 2014, 14:57:22
Я тоже думал, что тут вопросов быть не должно  :d_know:
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: cu6apum от 03 Марта 2014, 14:59:12
Ну славтеяйца. Дык какая синхра по усб?! Цап просит подкинуть, комп кидает. С реклоком iis почти та же петрушка, только в грамотной реализации fifo вырождается в регистр-защелку.
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: xar от 03 Марта 2014, 15:02:02
cu6apum, никто ни кого не просит. комп кидает и дай бог, чтоб цап не подавился.
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: blindman от 03 Марта 2014, 15:05:32
Что происходит на USB - неважно. Главное, чтобы в ЦАП данные поступали в соответствии с его генератором. Asynchronous isochronous именно для этого и придуман

и добавил...
xar, нет, не так. комп выдает столько, сколько ЦАП скажет (в определенных пределах). Иначе будет тот самый synchronous mode - PCM2702 например
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: cu6apum от 03 Марта 2014, 15:11:22
cu6apum, никто ни кого не просит. комп кидает и дай бог, чтоб цап не подавился.
Ренат, ну уж ты-то мог бы загуглить!! Я на этой собаке наелся уж костей, крупных и мелких. 

и добавил...
Николай, а ты круто продвинулся, судя по той ветке. Респектище! DoP еще не пробовал?
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: blindman от 03 Марта 2014, 15:14:13
Так а буфер ДМА это что?
Синхронизированный с PLL процессора
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: cu6apum от 03 Марта 2014, 15:18:40
Так, ветка кончилась, а про slave так ничего и не было. Ладно, фигли теоретизировать, трясти надо. Жду куби. В конце концов, для slave mode еще надо модуль клоков изобретать. Это хорошо, что ему mclk не надо!..
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: blindman от 03 Марта 2014, 15:19:25
Я вовсе не против вывода IIS из контроллера напрямую к ЦАПу. Но предпочитаю буферизованный вывод, синхронизированный с ЦАПом.


и добавил...
ему mclk не надо!
Вот я про то же. Мне это не нравится
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: xar от 03 Марта 2014, 15:21:13
xar, нет, не так. комп выдает столько, сколько ЦАП скажет (в определенных пределах).
а я почему то понял что цап сам решает что делать, чтоб переполнения буфера не было.
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: cu6apum от 03 Марта 2014, 15:24:13
Я вовсе не против вывода IIS из контроллера напрямую к ЦАПу. Но предпочитаю буферизованный вывод, синхронизированный с ЦАПом.
Брр. Я тоже. О чем спорим?!


и добавил...
ему mclk не надо!
Вот я про то же. Мне это не нравится
Почему? Разве bclk не подойдет? Они ж кратны полюбасу.
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: blindman от 03 Марта 2014, 15:24:21
а я почему то понял что цап сам решает что делать, чтоб переполнения буфера не было.
Чтобы не было переполнени или опустошения, ЦАП компу говорит, сколько он хочет данных в следующем (микро)фрэйме. Именно в этом и состоит суть асинхронного режима, в обратной связи

и добавил...
Разве bclk не подойдет? Они ж кратны полюбасу
Частота фрэймов USB тоже 1 кГц всяко разно. в теории. иначе бы не придумывали асинхронный режим
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: xar от 03 Марта 2014, 15:25:59
blindman, то есть "переполнение буфера" происходит на компе где то в цепочке проигрыватель->драйвер?
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: blindman от 03 Марта 2014, 15:38:08
В USB  устройстве может быть переполнение, если оно не успеет выплюнуть наружу все, что пришло от хоста по USB.

Грубо говоря: пусть в USB ЦАПе буфер 1024 байта. Чтобы не было переполнения, или опустошения, он его поддерживает заполненным, скажем на уровне 512 байт. По USB пакет передается каждые 125 мкС. При 44.1/16, каждые 125 мкС надо передать 5,5125 сэмплов. Вот девайс и следит за буфером. Если он больше 512 - говорит компу: в следующий раз передай мне 5 сэмплов.  Если меньше 512 - 6 сэмплов. Таким образом компенсируется как нецелое число сэмлов в пакете, так и разная точность опорных генераторов шины USB и девайса
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: nikkov от 03 Марта 2014, 17:07:58
Так, ветка кончилась, а про slave так ничего и не было.

Да там с форумом проблемы были, последние посты потерялись. Для проверки SLAVE-режима я использовал формирователь бит-клока и фрэйм-клока на ПЛИС-ке http://forum.vegalab.ru/showthread.php?t=52167&p=1859479&viewfull=1#post1859479.

По поводу синхронности/не синхронности клоков и PLL. Для меня сложно понять, что тут непонятного  :) . Даже не думал, что это требует пояснения.
Видимо нужно объяснять как работает ДМА. Так вот, если упрощенно, у ДМА есть два буфера в которые процессор кладет данные, а I2S интерфейс забирает с частотой, равной фрэйм-клоку. Как только один буфер опустошается ДМА переходит на чтение второго, а процессор снова накидывает данные в первый буфер. И так повторяется пока идет воспроизведение. Все гораздо проще и надежней, чем с USB. И, повторяю, никаких проблем в том, что данные с буфера читаются с одной частотой, а пишутся с другой, гораздо более высокой. Точно так же, как и нет проблем в USB устройстве, которое работает обычно с частотой кратной 12 МГц, а выдает на цап данные с частотой кратной 44100.
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: blindman от 03 Марта 2014, 17:42:43
Ну ежели так, то тогда да :) Но мне все же удобнее USB. Да и без ковыряния в драйверах задач нерешенных хватает
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: cu6apum от 03 Марта 2014, 20:38:38
Николай, ну ты просто всё за меня сделал.  :yah:
Осталось разобраться с ПЛИСиной (вообще никогда не работал с) - и дело, вроде, в шляпе. Дсд не мучил еще?
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: nikkov от 04 Марта 2014, 04:42:41
Николай, ну ты просто всё за меня сделал.  :yah:
Осталось разобраться с ПЛИСиной (вообще никогда не работал с) - и дело, вроде, в шляпе. Дсд не мучил еще?
Я для себя делал  :) . USB решения я освоил достаточно давно (поучаствовал в разработке open-source проекта SDR-Widget/Audio-Widget), поэтому это для меня пройденный этап. Да и куби я брал с целью скрестить его с USB Audio, но решил попробовать I2S, а так как получилось, то теперь это решение у меня в приоритете.
По поводу ПЛИС - я ее использовал для быстрой проверки slave-режима только потому, что у меня есть отладочная плата и сделать формирователь на ней очень просто. Целевое устройство я вижу иначе, так как, на мой взгляд, оно должно выполнять следующие функции:
1. формировать клоки
2. поддерживать внешний мастерклок
3. разнести кубик и цап в разные корпуса (т.к. соседство ЦПА-а и кубика с HDD в одном корпусе плохая идея)
4. обеспечивать гальваническую развязку с ЦАП-ом.

Поэтому сейчас я делаю это устройство как SPDIF-выход с внешней синхронизацией. В качестве SPDIF-передатчика и формирователя битклока и фрэймклока используется DIT4192, на плате стоят 2 генератора на 22.5792 МГц и 24.576 МГц, при подаче клока снаружи, встроенные гены отключаются и устройство тактируется внешним генератором. Выход SPDIF и вход внешнего мастер-клока развязаны трансформаторами, для переключения внешнего генератора (сетки 44/48) используется оптрон. Таким образом, без внешней синхронизации, устройство может использоваться для подключения к пром.устройствам с SPDIF входом, а с синхронизацией получаем бескомпромиссное устройство, гальванически развязанное от ЦАП-а.
С кубика к устройству, кроме I2S, подключаются 3 пина, на которые драйвер выводит сигналы переключения генераторов и делителей формирователя.

Со стандартом ДсД пока вообще не знаком, поэтому про него ничего не знаю.
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: cu6apum от 04 Марта 2014, 08:38:56
Ну что ж, пора кооперироваться. Если есть желание, конечно.
В моем видении спдиф отсутствует, частота мастерклоков вдвое больше (для es9018 sync mode), остальное 1:1. Скажи, а 4192 вместо ПЛМки ты заюзал только из соображений вывода спдифа, или вообще выходит проще и лучше? В сущности, я мог бы купить на веге платку генераторов на 4192 и тоже изгаляться с нею, а не изучать ПЛМки с нуля...
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: nikkov от 04 Марта 2014, 09:21:09
Ну что ж, пора кооперироваться. Если есть желание, конечно.
В моем видении спдиф отсутствует, частота мастерклоков вдвое больше (для es9018 sync mode), остальное 1:1. Скажи, а 4192 вместо ПЛМки ты заюзал только из соображений вывода спдифа, или вообще выходит проще и лучше? В сущности, я мог бы купить на веге платку генераторов на 4192 и тоже изгаляться с нею, а не изучать ПЛМки с нуля...
Я смысл в кооперации вижу в выборе софта для кубика, обмене опытом и информацией. А разработка универсального устройства, по моему, это утопия, так как у всех свое видение идеала.
4192 я использовал как устройство, убивающее всех зайцев, которых я хотел убить. Если ты хочешь использовать мастерклок более 25 МГц, то она уже не пойдет, надо смотреть что-то другое. Плата с веги (какая?) скорее всего не поддерживает мастера для I2S (по крайней мере я такую не видел).
Если не использовать SPDIF, то, опять же IMHO, лучше использовать простую ПЛИС. Это и более гибко, и компактно, плюс можно будет проверить поддержку 384 кГц (в мастере allwinner ее не поддерживает, но в слэйве очень даже может быть) и конфигурировать на разные мастерклоки. С ПЛИС-ами я тоже дела не имел, но такую простую задачу решить не сложно.
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: cu6apum от 04 Марта 2014, 10:48:39
Солидарен. Сейчас довыздоравливаю, начну потихоньку ковырять код. Пока мастером хотя бы попробую, есть платка pcm5102 временно ненужная.
Плата генераторов - от некоего Энергетика на веге. Тоже на 4192, так что не актуальна: я уже глянул даташит. Будем врубаться в ПЛИСки, пригодится.
Спасибо за хороший старт!
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: blindman от 04 Марта 2014, 14:30:20
По поводу софта

Я попробовал несколько реализаций рендерера, лучший вариант, по-моему - gmrenderer. Проект довольно старый, перестал поддерживаться. Один чувак из гугла его подхватил, довел до ума https://github.com/hzeller/gmrender-resurrect

Я туда еще добавил поддержку OpenHome https://github.com/ademenev/gmrender-resurrect-openhome

В чем преимущество OpenHome по сравнению со стандартом UPnP AV. Стандарт UPnP не предусматривает хранение плэйлистов на рендерере. Точнее, предусматривает, но реализация не стандартизирована, так что можно считать что поддержки нет. То есть чтобы проигрывать плэйлист, устройство управления должно следить за текущим трэком, и когда он закончился, подкидывать рендереру очередной. Если устройство управления не может следить за трэками, например мобильник отключился от сети, проигрывание прервется после окончания трэка. При использовании OpenHome, плэйлист хранится на рендерере. Можно накидать трэков, и отключить устройство управления - рендерер сам будет играть плэйлист
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: nikkov от 04 Марта 2014, 15:37:51
А в чем смысл использования рендерера? Я пока думаю использовать кубик со своим HDD как отдельный автономный плеер + NAS, чтобы подкидывать ему файлы.
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: blindman от 04 Марта 2014, 15:44:31
В том, что рендерер может быть в каждой комнате - или как я планирую, в комнате и на балконе, и играть файло с общего сервера. Что не мешает одному из рендереров иметь диск и работать также и сервером. Или иметь отдельный сервер. Или играть контент с 2 и более серверов.  И в то же время быть и контролпоинтом - в сумме эти 3 компонента и дают плеер. Захотел - управляй им непосредственно, с пульта. Или включил телефон с вафлей - и с него рули
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: nikkov от 04 Марта 2014, 15:51:51
В том, что рендерер может быть в каждой комнате - или как я планирую, в комнате и на балконе, и играть файло с общего сервера. Что не мешает одному из рендереров иметь диск и работать также и сервером. Или иметь отдельный сервер. Или играть контент с 2 и более серверов.  И в то же время быть и контролпоинтом - в сумме эти 3 компонента и дают плеер. Захотел - управляй им непосредственно, с пульта. Или включил телефон с вафлей - и с него рули
Если речь про несколько рендереров, то понятно. А вообще я рендерер понимал как устройство, выводящее звук, который транслируется с некоего сервера, а не как самостоятельный плеер.

Я пока на кубике с mpd тестирую, пока вроде все устраивает.
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: blindman от 04 Марта 2014, 15:57:41
устройство, выводящее звук, который транслируется с некоего сервера
Так и есть. Но это ж компьютеры. И есть такие понятия, как физическое устройство и логическое.

Я, честно говоря, не совсем понимаю, о чем разговор. Если просто непонятно что-то - давайте конкретные вопросы. Если же речь о том, что рендерер как таковой не нужен ... ну это как atmel vs pic. или байк супротив "табуретки".
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: nikkov от 04 Марта 2014, 17:34:24
устройство, выводящее звук, который транслируется с некоего сервера
Так и есть. Но это ж компьютеры. И есть такие понятия, как физическое устройство и логическое.

Я, честно говоря, не совсем понимаю, о чем разговор. Если просто непонятно что-то - давайте конкретные вопросы. Если же речь о том, что рендерер как таковой не нужен ... ну это как atmel vs pic. или байк супротив "табуретки".
По поводу нужен или не нужен спорить даже и мыслей не было, просто хотел уяснить что это и зачем. А после упоминания логического устройства стало все совсем понятно  :).
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: cu6apum от 04 Марта 2014, 17:36:55
Николай,  так 192 выводили, молотит без проблем? Я сейчас накапливаю первый ящик знаний по теме. Говорят, через XMOS+USB затыкается и ерзает, недостает мозгов.
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: blindman от 04 Марта 2014, 17:58:30
Говорят, через XMOS+USB затыкается и ерзает, недостает мозгов
Или брешут, или XMOS не тянет. С моим USB транспортом и Lynx D29 на флаках проблем не было
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: cu6apum от 04 Марта 2014, 18:09:40
Говорят, через XMOS+USB затыкается и ерзает, недостает мозгов
Или брешут, или XMOS не тянет. С моим USB транспортом и Lynx D29 на флаках проблем не было
У тебя именно третий куби?
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: blindman от 04 Марта 2014, 18:13:21
Первый
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: cu6apum от 04 Марта 2014, 18:19:00
Хм. Значит, недоткнуто где-то что-то у писавшего. А 384 - тянет?!
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: blindman от 04 Марта 2014, 18:21:34
Не знаю, не пробовал.
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: nikkov от 05 Марта 2014, 03:33:50
Николай,  так 192 выводили, молотит без проблем? Я сейчас накапливаю первый ящик знаний по теме. Говорят, через XMOS+USB затыкается и ерзает, недостает мозгов.
192 выводил, но пока только в мастере - проблем не было. С USB (который Audio-Widget) тоже не припомню, но его особо и не гонял. Вот с Raspberry проблемы были, но там USB не очень хорошо организован.
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: cu6apum от 05 Марта 2014, 19:38:07
Хорошие (для меня) новости. Кажется, встроенный реклок Сабри способен переварить джиттер куда больший, чем дает audio PLL в А20. Так что начнем с вылизывания в master mode.
Плохие новости. Нигде не нашел, как задавать частоту того audio PLL.
Николай, у тебя какой линух установлен? Я сейчас качаю федору 20, с завода залит ведроид.

и добавил...
Звыняйте за поспешность, клок нашел. С виду - крути как хошь, хоть на 384, хоть выше... Поглядим.
Вопрос про дистр остается актуальным.
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: blindman от 06 Марта 2014, 05:03:46
Я юзаю убунту от Linaro. Из-за привычки к дебиану в основном
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: nikkov от 06 Марта 2014, 06:22:45
Хорошие (для меня) новости. Кажется, встроенный реклок Сабри способен переварить джиттер куда больший, чем дает audio PLL в А20. Так что начнем с вылизывания в master mode.
Плохие новости. Нигде не нашел, как задавать частоту того audio PLL.
Николай, у тебя какой линух установлен? Я сейчас качаю федору 20, с завода залит ведроид.

и добавил...
Звыняйте за поспешность, клок нашел. С виду - крути как хошь, хоть на 384, хоть выше... Поглядим.
Вопрос про дистр остается актуальным.


Я экспериментирую с этим образом http://www.cubieforums.com/index.php?topic=1438.0, но это просто потому, что на момент начала моих работ с ним оказалось проще разобраться со сборкой ядра.
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: cu6apum от 06 Марта 2014, 10:43:34
Ну а я таки федору залил. Очень перегруженный ненужностями дистр, либо потом вычищу, либо после отладки другой натяну. Из коробки поддерживает только выход на наушники, UAC еще не дергал. 
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: cu6apum от 10 Марта 2014, 10:11:34
Убился я с этой федорой... Четверо суток пытаюсь въехать, почему родное ядро грузится ок, а пересобранное - шиш. К сожалению, форум там настолько вялый, что надежда на поддержку уже рассосалась.
Коллеги, у вас дистры поддерживают vga? Чтоб не напороться, лучше знать сразу. Чем собираете ядро? Я попытался сбилдить toolchain на своем маке, но это настолько тугой процесс, что я пока натянул gcc на саму куби, подцепил винт и компилю на ней.
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: blindman от 10 Марта 2014, 11:53:42
у вас дистры поддерживают vga
Не знаю, не смотрел,  не нужно было
Я попытался сбилдить toolchain на своем маке
Проще уж взять любой линукс - тулчейны готовые есть. Не забываем про поддержку hardfloat!
Чем собираете ядро
Тулчейн от проекта линаро.  https://releases.linaro.org/********/components/toolchain/binaries - смотрим внимательно, нужны gcc-linaro-arm-linux-gnueabihf
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: cu6apum от 10 Марта 2014, 12:02:48
Спасибо.
Блин, на ровном месте такие засады.
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: nikkov от 11 Марта 2014, 03:25:06
Убился я с этой федорой... Четверо суток пытаюсь въехать, почему родное ядро грузится ок, а пересобранное - шиш. К сожалению, форум там настолько вялый, что надежда на поддержку уже рассосалась.
Коллеги, у вас дистры поддерживают vga? Чтоб не напороться, лучше знать сразу. Чем собираете ядро? Я попытался сбилдить toolchain на своем маке, но это настолько тугой процесс, что я пока натянул gcc на саму куби, подцепил винт и компилю на ней.

Тот дистрибутив, с которым я экспериментирую, VGA поддерживает, естественно после смены script.bin.
Для сборки ядра я использую виртуалку с Ubuntu на Windows.
Для настройки сборки пользовался инструкциями: http://www.cubieforums.com/index.php/topic,1245.msg7515.html#msg7515 и http://www.cubieforums.com/index.php?topic=472.0.
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: cu6apum от 11 Марта 2014, 22:18:22
Фух. Прошло праздничное затмение, я за 15 минут поставил виртуалку с линарой и еще за час собрал рабочее ядро. Приношу извинения за тупняк. Пошел ковырять уже драйвер.

и добавил...
Угу, BCLK поймал осциллом. Спасибо всем!
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: nikkov от 12 Марта 2014, 11:35:54
Вчера, наконец, запустил ведомый режим с адаптером. И хотя с самим адаптером есть небольшие проблемы, все работает как и предполагалось. Бит-перфект при воспроизведении mpd проверен логическим анализатором, 16, 24 бит, 44100-192000 работают.
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: cu6apum от 12 Марта 2014, 11:55:26
Николай, поздравляю, сильная работа проделана. Много модификаций в драйвере? На кубифоруме патч не открывается. Я пока только клок отредактировал, чтоб завелось.
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: nikkov от 12 Марта 2014, 11:58:50
Николай, поздравляю, сильная работа проделана. Много модификаций в драйвере? На кубифоруме патч не открывается. Я пока только клок отредактировал, чтоб завелось.

Спасибо!
В каком смысле не открывается? Я скачал сейчас и распаковал без проблем.
Модификаций прилично, видно, что код делался методом copy/past так как присутствует куча не используемых и не инициализированных переменных.
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: cu6apum от 12 Марта 2014, 12:40:34
Странно, у меня 404, хотя я и зарегался. Можно тебя нагло попросить бросить его сюда? Все равно там ветка заглохла.
Мне придется еще дописывать к нему фичу регулировки громкости по i2c, попытаться сделать dsd passthrough и, может быть, удастся прикрутить 32/384, но в последнем я не уверен.
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: nikkov от 12 Марта 2014, 15:13:24
Странно, у меня 404, хотя я и зарегался. Можно тебя нагло попросить бросить его сюда? Все равно там ветка заглохла.
Мне придется еще дописывать к нему фичу регулировки громкости по i2c, попытаться сделать dsd passthrough и, может быть, удастся прикрутить 32/384, но в последнем я не уверен.

Продублировал.
Да, планы не слабые  :). Я пока не представляю, как это делается.
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: cu6apum от 12 Марта 2014, 19:14:42
ОГО ты там наисправлял. Спасибо огромнейшее. Сажусь ковырять...

и добавил...
Вот пока какая петрушка. 0,0 - ушной выход, 1,0 - IIS.

# ainfo hw:0,0
Device: hw:0,0 (type: HW)
Access types: MMAP_INTERLEAVED RW_INTERLEAVED
Formats: S16_LE
Channels: 1 2
Sample rates: 8000 11025 16000 22050 32000 44100 48000 96000 192000
Interrupt interval: 5333-512000 us
Buffer size: 21333-2048000 us

# ainfo hw:1,0
Device: hw:1,0 (type: HW)
Access types: MMAP_INTERLEAVED RW_INTERLEAVED
Formats: S16_LE [b]S24_LE[/b]
Channels: 1 2
Sample rates: 8000-192000
Interrupt interval: 2666-2048000 us
Buffer size: 10666-8192000 us

Но!
# aplay -v -D hw:1,0 test16.wav
Playing WAVE 'test16.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
Hardware PCM card 1 'sunxi-sndi2s' device 0 subdevice 0
Its setup is:
  stream       : PLAYBACK
  access       : RW_INTERLEAVED
  format       : S16_LE
  subformat    : STD
  channels     : 2
  rate         : 44100
  exact rate   : 44100 (44100/1)
  msbits       : 16
^C

# aplay -v -D hw:1,0 test24.wav
Playing WAVE 'test24.wav' : [b]Signed 24 bit Little Endian[/b] in 3bytes, Rate 44100 Hz, Stereo
aplay: set_params:1233: Sample format non available
Available formats:
- S16_LE
- [b]S24_LE[/b]

Получается, еще где-то нужно править. Копаюсь.

и добавил...
Кажись, пофиксил, клоки на осцилле видно. Посмотрим на днях, что цапа скажет.

# aplay -v -D hw:1,0 test24.wav
Playing WAVE 'test24.wav' : Signed 24 bit Little Endian in 3bytes, Rate 44100 Hz, Stereo
Hardware PCM card 1 'sunxi-sndi2s' device 0 subdevice 0
Its setup is:
  stream       : PLAYBACK
  access       : RW_INTERLEAVED
  format       : S24_3LE
  subformat    : STD
  channels     : 2
  rate         : 44100
  exact rate   : 44100 (44100/1)
  msbits       : 24
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: nikkov от 13 Марта 2014, 03:12:39
Поддержку 24 бит в 3 байтах я убрал, т.к. DMA с 3-байтными сэмплами заставить работать не вышло. Вместо этого поддерживается формат 24 значащих бита в 4 байтах (т.е. S24_LE).
Для проигрывания 24 бит файлов надо aplay-ю разрешить конвертацию формата, бит-перфект от этого не страдает.
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: cu6apum от 13 Марта 2014, 11:30:04
А в чем это выражается? На выходе ерунда? Потому что данные-то гонит, судя по клокам.
Впрочем, да, посмотрел про конвертацию, овчинка выделки не стоила. ХМОС мой вообще дает только S32_LE в форматах - и ничо...
Глуповато себя чувствую. Столько еще узнать нужно.
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: nikkov от 13 Марта 2014, 11:36:53
А в чем это выражается? На выходе ерунда? Потому что данные-то гонит, судя по клокам.
Впрочем, да, посмотрел про конвертацию, овчинка выделки не стоила. ХМОС мой вообще дает только S32_LE в форматах - и ничо...
Глуповато себя чувствую. Столько еще узнать нужно.
Да, данные конечно идут, но не те. Советую сначала собрать нормальный макет, чтобы можно было полностью контролировать правильность работы, а потом делать дальнейшие модернизации кода. Иначе можно снова ходить по тем же граблям, что пришлось пройти мне, а пользы от этого мало.
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: cu6apum от 13 Марта 2014, 16:59:25
Спасибо за совет. Собрал. Оторвал к свиньям площадку под перемыку mclk.  :facepalm: Получается, на PCM5102 поиграться не судьба. Сразу вставил в Сабрю.
Играет, чо. Только раз в полминуты раздается вдобавок к сигналу затухающее "хр-хр-хр-хр..." - как из противогаза в фильме "Ва-банк". Пока, разумеется, никакой АДУМки между Куби и ЦАПом нету.

Николай, можно я еще буду тут (поначалу глупые) вопросы задавать, во избежание грабель?
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: nikkov от 14 Марта 2014, 04:52:51
Спасибо за совет. Собрал. Оторвал к свиньям площадку под перемыку mclk.  :facepalm: Получается, на PCM5102 поиграться не судьба. Сразу вставил в Сабрю.
Играет, чо. Только раз в полминуты раздается вдобавок к сигналу затухающее "хр-хр-хр-хр..." - как из противогаза в фильме "Ва-банк". Пока, разумеется, никакой АДУМки между Куби и ЦАПом нету.

Николай, можно я еще буду тут (поначалу глупые) вопросы задавать, во избежание грабель?

Перепаивать чип-перемычки очень неудобно, я тоже оторвал одну площадку, правда уже не нужную.
По поводу mclk и pcm5102: я как раз играюсь с такой http://www.diyinhk.com/shop/audio-kits/31-384khz32bit-pcm5102a-dac-i2s-input-ultra-low-noise-regulator.html платой, mclk ей (pcm5102) не обязателен, она сама умеет генерить его из bclk. Играло в мастере у меня вообще без проблем на проводках, никаких посторонних звуков не было.

Вопросы задавать конечно же можно  :)
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: cu6apum от 14 Марта 2014, 10:50:40
Да я вот, посидевши вечерок, понял, что систематизация одних вопросов займет кучку времени. :) Начну с ALSы (давноооо я ее не мучил) и драйвера (все ж таки китайский код даже после твоего вычесывания выглядит страшновато), потом уже придет понимание, что мне нужно в качестве плеера. Пока натянул gstreamer, но куча плагинов выглядит весьма неряшливо - как бы не пришлось вычесывать еще и его. Или глянуть в сторону mpd, не знаю.
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: nikkov от 14 Марта 2014, 11:38:13
Да я вот, посидевши вечерок, понял, что систематизация одних вопросов займет кучку времени. :) Начну с ALSы (давноооо я ее не мучил) и драйвера (все ж таки китайский код даже после твоего вычесывания выглядит страшновато), потом уже придет понимание, что мне нужно в качестве плеера. Пока натянул gstreamer, но куча плагинов выглядит весьма неряшливо - как бы не пришлось вычесывать еще и его. Или глянуть в сторону mpd, не знаю.
Так как я в линуксах дуб-дубом, то использую mpd, т.к. ничего другого пока не знаю и не уверен, нужно ли что-то еще. Поэтому и надеюсь на помощь товарищей, которые в этом более продвинуты.
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: xar от 14 Марта 2014, 11:39:37
гстример у меня почему то ассоциируется с чем то тяжелым. типа кирпича. можно дом построить, можно дорогу покрыть, можно по морде дать, а можно труп утопить.
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: cu6apum от 14 Марта 2014, 18:43:18
Да нет, я в него не уперся, но gmrenderer выглядит пока единственным допиленным до ума пакетом.  Бум искать. Пока что к mpd такой надстройки нет, хотя сам он и нравится мне больше.

и добавил...
Есть библиотека upnp Platinum, http://sourceforge.net/projects/platinum/
Коль авторы не врут, что ею пользуются все линуховые и некоторые кроссплатформенные медиаплееры, можно подумать о союзе ее и mpd, хоть он изначально и не рассчитывался под стриминг.

и добавил...
Gmrenderer (или gstreamer, что более вероятно) даунсемплит всё до 16 бит. То ли он не может понять S24LE (действительно экзотический формат), то ли не сильно дружит с алсой. Частоту не меняет - стримит и 44 и 96 и 192.
Если будет время, попробую поменять в драйвере на S32LE, ибо это одно и то же, и глянуть.
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: cu6apum от 18 Марта 2014, 00:09:12
Хохо! Нашел.
http://www.lesbonscomptes.com/upmpdcli/upmpdcli.html - рендерер для mpd. Попррробуем.
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: nikkov от 18 Марта 2014, 09:41:26
На выходных переехал на новый дистрибутив http://www.cubieforums.com/index.php?topic=568.0 с ядром 3.4.79 и подключил диск SATA 2.5. Соответственно rootfs перенес на отдельный раздел диска. Протестировал пока в мастере, работает, интернет-радио играло пару часов без каких-либо артефактов, тестовые с HDD хай-резы тоже играет. Еще протестирую в слэйве и буду пытаться патч отдать для включения в ядро Патрика.
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: cu6apum от 18 Марта 2014, 12:18:42
Николай, а раз уж у тебя так здорово с кодом продвигается, может, подумаешь насчет объединения четырех модулей в один? Я в страшном сне не могу представить, за каким лешим китайцы сделали такую бзю. И памяти меньше будет лопать, и логичнее выглядеть. Я было начал это делать, но, видя твой прогресс, не хочу разводить клоны.
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: nikkov от 18 Марта 2014, 12:21:58
Николай, а раз уж у тебя так здорово с кодом продвигается, может, подумаешь насчет объединения четырех модулей в один? Я в страшном сне не могу представить, за каким лешим китайцы сделали такую бзю. И памяти меньше будет лопать, и логичнее выглядеть. Я было начал это делать, но, видя твой прогресс, не хочу разводить клоны.
Я, честно говоря, не пытался понять какие модули необходимы для реализации драйвера, т.к. это надо разбираться с идеологией построения модулей ALSA, а это вопрос не простой.
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: cu6apum от 21 Марта 2014, 21:45:03
Драйвер допиливаю, как допилю - покажу. В принципе, там развели много кода из ничего.

По поводу плеера - попробовал Squeezelite. Оооооченно рекомендую глянуть. Крошечный (90 килобайт!) самодостаточный бинарник на плеере, зверски шустрая и малоглючная управлялка для ятелефона. По крайней мере, PlugPlayer рядом с нею - явная гипотенуза (в смысле, не катет. :P)
Плеер кушает все форматы до 384к и ДСД, умеет ресемплить на лету и, что немаловажно, буферизовать поток в память куби, на что я собирался потратить кучку времени, допиливая upmpd.
Так что, возможно, в моем доме DLNA и не будет.
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: nikkov от 23 Марта 2014, 08:00:12
Драйвер допиливаю, как допилю - покажу. В принципе, там развели много кода из ничего.

По поводу плеера - попробовал Squeezelite. Оооооченно рекомендую глянуть. Крошечный (90 килобайт!) самодостаточный бинарник на плеере, зверски шустрая и малоглючная управлялка для ятелефона. По крайней мере, PlugPlayer рядом с нею - явная гипотенуза (в смысле, не катет. :P)
Плеер кушает все форматы до 384к и ДСД, умеет ресемплить на лету и, что немаловажно, буферизовать поток в память куби, на что я собирался потратить кучку времени, допиливая upmpd.
Так что, возможно, в моем доме DLNA и не будет.
Да, я глянул драйвер встроенного кодека, там все в одном файле, а все остальные драйверы раскиданы по 4-м. Будет интересно посмотреть,  что у тебя получится.

Он (Squeezelite) интернет-радио поддерживает? Чем он лучше mpd? Глубоко копать сейчас времени нет, да и я пока не ориентируюсь во всем множестве возможностей линуксовых плееров. Если бы mpd поддерживал cue, то меня он бы всем устраивал.
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: cu6apum от 23 Марта 2014, 08:07:30
У меня семья приболела, пока сильно не до кода было...
Сквизлайт поддерживает вообще почти всё, но, если я не успел сказать, - это безголовый плеер, работает только со своим сервером и управлялкой, которые, впрочем, есть для любой оси, т.е. никто не помешает гонять сервер на той же куби. Не уверен, впрочем, что тебе это сразу подойдет.
Название: Re: Сервер/рендерер/плеер на Cubieboard
Отправлено: cu6apum от 31 Марта 2014, 20:23:52
В каждой шутке есть доля шутки...

(Извините, но у Вас нет доступа в Галерею)