DragonBoard 410c

встраиваемые модели

Модераторы: Olej, vikos

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: DragonBoard 410c

Непрочитанное сообщение Olej » 21 янв 2019, 14:36

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

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

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: DragonBoard 410c

Непрочитанное сообщение Olej » 21 янв 2019, 14:47

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 КБ) 133 скачивания

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: DragonBoard 410c

Непрочитанное сообщение Olej » 28 янв 2019, 19:53

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

Ответить

Вернуться в «Одноплатные компьютеры»

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

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