Форум по операционной системе GNU/Linux и свободному программному обеспечению
Текущее время: 18 фев 2019, 07:11

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 13 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: DragonBoard 410c
Непрочитанное сообщениеДобавлено: 21 янв 2019, 14:36 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 11512
Откуда: Харьков
Понадобилось использовать звук на этой плате... именно применительно к вопросам распознавания: очень удобно, наглядно и эффектно сопровождать работу распознавателя звуками:
- не нужно всё время пялиться в монитор и читать выводимые отладочные сообщение;
- иногда (когда при распознавании запускаются дочерние исполнительные процессы) а). не так легко выводить диагностику в терминал родительского процесса и б). ожидание такого вывода из дочернего процесса может блокировать родительский ... или нужно всё это запускать в отдельном потоке и др. заметные усложнения.

Но ... Пришлось изрядно повозиться, разбираясь со звуком на DragonBoard 410c, всё это, относительно использования звука в одноплатных SBC, описано здесь: звуковые устройства ALSA.


Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
 Заголовок сообщения: Re: DragonBoard 410c
Непрочитанное сообщениеДобавлено: 21 янв 2019, 14:47 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 11512
Откуда: Харьков
Olej писал(а):
- иногда (когда при распознавании запускаются дочерние исполнительные процессы) а). не так легко выводить диагностику в терминал родительского процесса и б). ожидание такого вывода из дочернего процесса может блокировать родительский ... или нужно всё это запускать в отдельном потоке и др. заметные усложнения.

Вот такого сорта, примерно, тестовое дочернее приложение на Python:
Код:
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import sys, os, argparse, time
import subprocess

parser = argparse.ArgumentParser()                    # construct the argument parse and parse the arguments
parser.add_argument( '-d', '--delay', type = float, help = 'executing time, in sec.' )
parser.add_argument( '-s', '--sound', help = 'play sound file' )
parser.add_argument( '-r', '--reply', type = int, help = 'reply plaing time' )
args = vars( parser.parse_args() )

if args[ 'delay' ] != None:
    sec = args[ 'delay' ]
else:
    sec = 3.0 
if args[ 'reply' ] != None:
    srepl = str( args[ 'reply' ] )
else:
    srepl = '-'
#print( '|{}|'.format( srepl ) )
pid = 0
if args[ 'sound' ] != None:
    file = args[ 'sound' ]
    if not os.path.isfile( file ):
        print( 'illegal sound file name: {}'.format( file ) )
        exit( 1 )
    proc = subprocess.Popen( [ 'play', 'login.wav', '-q', 'repeat', srepl ], start_new_session=True )
    pid = proc.pid
#    print( proc.args )

#print( proc.pid )

print( '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++' )
# unlock ... wait
time.sleep( sec )                     # wait for sec (floating)
if pid != 0:
    if None == proc.poll():
        proc.kill()

print( '-------------------------------------------------------------' )

Код:
linaro@linaro-alip:~/FaceDL/locker$ time ./actps.py -d 5 -s login.wav -r 5
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
play WARN alsa: can't encode 0-bit Unknown or not applicable
-------------------------------------------------------------

real   0m5.236s
user   0m0.541s
sys   0m0.038s

Или даже так:
Код:
linaro@linaro-alip:~/FaceDL/locker$ time ./actps.py -d 5 -s login.wav -r 5 2>/dev/null
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-------------------------------------------------------------

real   0m5.233s
user   0m0.525s
sys   0m0.043s


Вложения:
actps.py [1.27 КБ]
Скачиваний: 3
Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
 Заголовок сообщения: Re: DragonBoard 410c
Непрочитанное сообщениеДобавлено: 28 янв 2019, 19:53 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 11512
Откуда: Харьков
Olej писал(а):
Вот такого сорта, примерно, тестовое дочернее приложение на Python:

Всё это нашло применение в распознавателе человеческих лиц, который при распознавании знакомого лица ещё и "поёт" - всё это подробно описано здесь: распознавание лиц


Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 13 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB
[ Time : 0.089s | 18 Queries | GZIP : On ]