Страница 2 из 9
Re: Orange Pi Zero в качестве терминала?
Добавлено: Пн дек 26, 2016 2:21 pm
savenko_egor
Понял. Тогда как будет время, буду сам развивать тему.
Как говорил ранее, с музыкой проблем не будет. А вот с голосом... Тут пока не понятно.
Re: Orange Pi Zero в качестве терминала?
Добавлено: Пн дек 26, 2016 6:09 pm
vova5049
можно. Но у зеро нет аудиовыхода и микрофона надо будет подключать юсб звуковую карту.
Как это нет аудиовыхода?
Есть и выход и микрофонный вход, и вход для ИК приемника, и еще дополнительно 2 USB.
Только не распаяны разьемы. Все это и еще композитный видеовыход выведено на гребенку с 13 пинами.
Re: Orange Pi Zero в качестве терминала?
Добавлено: Пн дек 26, 2016 8:49 pm
C_3AXAPOB
Вы правы.Я имел ввиду именно разъемы.
Re: Orange Pi Zero в качестве терминала?
Добавлено: Пт дек 30, 2016 4:27 am
layet
Тоже тестируют OrangePi Zero в качестве сетевых колонок. И Алиса через них вполне говорит [emoji1]
Отправлено с моего Nexus 4 через Tapatalk
Re: Orange Pi Zero в качестве терминала?
Добавлено: Пт дек 30, 2016 10:47 am
savenko_egor
layet, рассказывайте как и спрячьте под спойлер изображение.

Re: Orange Pi Zero в качестве терминала?
Добавлено: Пт дек 30, 2016 12:07 pm
chief
Тоже тестируют OrangePi Zero в качестве сетевых колонок. И Алиса через них вполне говорит
А можно подробнее (установленая система, приложения, выход на колонки ...).
Re: Orange Pi Zero в качестве терминала?
Добавлено: Пт дек 30, 2016 5:05 pm
layet
- Подключаем колонки к OrangePi Zero. Распиновку однорядной колодки (уже впаяна) посмотреть можно здесь. Нас интересуют пины 7,8 - это левый/правый канал и пин 2 - земля. Первый пин всегда обозначен квадратной контактной площадкой.
- Я установил обычный Armbian отсюда
- Устанавливаем дополнительный библиотеки:
Код: Выделить всё
sudo apt-get install -y libflac-dev libfaad2 libmad0
- Скачиваем squeezelite
Код: Выделить всё
mkdir squeezelite
cd squeezelite
wget -O squeezelite-armv6hf http://ralph_irving.users.sourceforge.net/pico/squeezelite-armv6hf-noffmpeg
- Копируем в bin и делаем исполняемым
Код: Выделить всё
sudo mv squeezelite-armv6hf /usr/bin
sudo chmod a+x /usr/bin/squeezelite-armv6hf
- Качаем alsa-oss для программного микширования
- Настраиваем программный микшер (создаем файл /etc/asound.conf и пишем конфиг)
Код: Выделить всё
pcm.ossmix {
type dmix
ipc_key 1024
ipc_key_add_uid false
slave {
pcm "hw:0,0"
period_time 0
period_size 2048
buffer_size 32768
}
bindings {
0 0
1 1
}
pcm.dsp0 {
type plug
slave.pcm "ossmix"
}
ctl.mixer0 {
type hw
card 0
}
}
- Смотрим на какое устройство будем выводить звук
Код: Выделить всё
Output devices:
null - Discard all samples (playback) or generate zero samples (capture)
ossmix
default:CARD=audiocodec - audiocodec, - Default Audio Device
sysdefault:CARD=audiocodec - audiocodec, - Default Audio Device
dmix:CARD=audiocodec,DEV=0 - audiocodec, - Direct sample mixing device
dsnoop:CARD=audiocodec,DEV=0 - audiocodec, - Direct sample snooping device
hw:CARD=audiocodec,DEV=0 - audiocodec, - Direct hardware device without any conversions
plughw:CARD=audiocodec,DEV=0 - audiocodec, - Hardware device with all software conversions
default:CARD=sndhdmi - sndhdmi, - Default Audio Device
sysdefault:CARD=sndhdmi - sndhdmi, - Default Audio Device
dmix:CARD=sndhdmi,DEV=0 - sndhdmi, - Direct sample mixing device
dsnoop:CARD=sndhdmi,DEV=0 - sndhdmi, - Direct sample snooping device
hw:CARD=sndhdmi,DEV=0 - sndhdmi, - Direct hardware device without any conversions
plughw:CARD=sndhdmi,DEV=0 - sndhdmi, - Hardware device with all software conversions
Нашли -> dmix:CARD=audiocodec,DEV=0
- Запускаем 2 копии плеера: один для музыки, второй для голоса Алисы:
Код: Выделить всё
squeezelite-armv6hf -o dmix:CARD=audiocodec,DEV=0 -n test1 -m 00:00:00:00:00:01 & squeezelite-armv6hf -o dmix:CARD=audiocodec,DEV=0 -n test2 -m 00:00:00:00:00:02 &
- Параметры -n и -m - обязательно указывать разные (это имя плеера и мак-адрес)
- Тест я проводил пока только проигрывая mp3 из папки cached/voice с одновременным проигрывании музыки. Библиотеку PHP для Logitech Media Server'а смотрим во вложении. Код тестового файла:
Код: Выделить всё
<?php
include('lib/squeezephpapi/class.SqueezeConnection.php');
include('lib/squeezephpapi/class.SqueezeCenter.php');
include('lib/squeezephpapi/class.SqueezePlaylist.php');
$mySqueezeConnection = new SqueezeConnection("192.168.0.5","9090","","");
if ($mySqueezeConnection->connect())
{
$mySqueezeCenter = new SqueezeCenter($mySqueezeConnection);
}
echo("<pre>");
$myPlaylist = new SqueezePlaylist($mySqueezeConnection, "00:00:00:00:00:02");
$filename = md5(urlDecode($_GET['ph'])).'_yandex.mp3';
//$myPlaylist->save("temp");
$myPlaylist->play("http://192.168.0.5/cached/voice/".$filename);
//sleep(5);
//$myPlaylist->clear();
echo("</pre>");
$mySqueezeConnection->disconnect();
- на этом пока все(( Новогодняя суета
Re: Orange Pi Zero в качестве терминала?
Добавлено: Пт дек 30, 2016 5:22 pm
savenko_egor
Ааааа. Ну так и я могу сделать на MPD. Я думал там без костылей Алиса заговорила.
Но всё-равно спасибо за описание! Кому-то это точно будет полезным.
Re: Orange Pi Zero в качестве терминала?
Добавлено: Пт дек 30, 2016 5:23 pm
layet
А где костыли?) Надо разобраться и модуль писать для вывода голоса)
Отправлено с моего Nexus 4 через Tapatalk
Re: Orange Pi Zero в качестве терминала?
Добавлено: Пт дек 30, 2016 5:25 pm
savenko_egor
Костыль в виде дополнительной библиотеки для управления сквизом.
Я думал что получилось заставить говорить Алису без этого.