Оглавление:

Голосовая камера с использованием Raspberry Pi: 6 шагов
Голосовая камера с использованием Raspberry Pi: 6 шагов

Видео: Голосовая камера с использованием Raspberry Pi: 6 шагов

Видео: Голосовая камера с использованием Raspberry Pi: 6 шагов
Видео: Камера высокого разрешения и объективы для Raspberry Pi. Железки Амперки 2024, Июль
Anonim
Камера с голосовым управлением с использованием Raspberry Pi
Камера с голосовым управлением с использованием Raspberry Pi

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

Шаг 1. Руководство по оборудованию

Руководство по оборудованию
Руководство по оборудованию

VDC разработан на Raspberry Pi (модель B) и требует некоторого дополнительного оборудования, такого как Wi-Fi-адаптер (опционально) и USB-микрофон. Предлагаемое оборудование указано ниже со ссылками для получения дополнительных сведений. Вы можете попробовать оборудование разных производителей / спецификаций. VDC не связана ни с одним из связанных поставщиков оборудования.

Полный список

  1. Raspberry Pi Модель B
  2. Picamera
  3. USB-мини-микрофон
  4. SD Card
  5. сетевой кабель
  6. Адаптер Mini-USB (дополнительно)
  7. Micro USB - настенное зарядное устройство
  8. Динамики, которые работают через аудиоразъем Raspberry Pi (вероятно, должны иметь автономное питание)

Список проверенных периферийных устройств Raspberry Pi может быть полезен для поиска заменителей продуктов, рекомендованных выше.

сборка

Сборка необходимых компонентов проста. Вставьте микрофон, SD-карту, беспроводной адаптер (если он у вас есть), кабель micro-USB, кабель Ethernet и динамики в Raspberry Pi. Настенный USB-адаптер для зарядки рекомендуется использовать в качестве автономного устройства.

Кабель Ethernet будет использоваться для входа в систему Pi с компьютера на этапе установки программного обеспечения. После установки, если вы предпочитаете использовать беспроводное соединение, этот кабель можно отключить.

Интернет-соединение

Как упоминалось выше, беспроводной адаптер не является обязательным. Он отлично работает при проводном соединении (через Ethernet), поэтому вы можете выбирать между двумя настройками в зависимости от того, что лучше всего подходит для вас.

Шаг 2: Установка ОС на Raspberry Pi

Установка ОС на Raspberry Pi
Установка ОС на Raspberry Pi

Вступление

Raspberry Pi - это микропроцессор размером с кредитную карту, доступный в разных моделях с разной скоростью обработки, начиная с 700 МГц. Независимо от того, используете ли вы модель B или модель B + или очень старую версию, процесс установки остается прежним. Люди, которые заходили на официальный сайт Raspberry Pi, могли видеть, как они рекомендуют операционную систему NOOBS или NOOBS LITE (также известную как «ОС») для начинающих. Но использовать Pi очень просто, и, будучи новичком, можно быстро стать профессионалом. Итак, лучше использовать более мощную и эффективную ОС - Raspbian. Основная причина, по которой Raspbian настолько популярен, заключается в том, что в нем есть тысячи встроенных библиотек для выполнения множества задач и оптимизации ОС. Это дает огромное преимущество при создании приложений.

Скачивание Raspbian и Image writer

Загрузите последнюю версию Raspbian отсюда. Вы можете скачать его напрямую или через торренты.

Raspbian страница

Ссылка для скачивания Raspbian OS

Вам понадобится средство записи изображений для записи загруженной ОС на SD-карту (микро SD-карта в случае модели Raspberry Pi B +). Так что скачайте отсюда "win32 disk imager".

Написание изображения

Вставьте SD-карту в ноутбук / компьютер и запустите программу записи изображений. После открытия найдите и выберите загруженный файл изображения Raspbian. Выберите правильное устройство, то есть диск, представляющий SD-карту. Если выбранный диск (или устройство) отличается от SD-карты, другой выбранный диск будет поврежден. Так что будь осторожен.

После этого нажмите внизу кнопку «Написать». В качестве примера см. Изображение ниже, где SD-карта (или micro SD) диск обозначена буквой «G: \».

После завершения записи извлеките SD-карту, вставьте ее в Raspberry Pi и включите. Он должен начать загрузку.

Настройка Pi

Помните, что после загрузки Pi могут возникнуть ситуации, когда будут запрошены учетные данные пользователя, такие как «имя пользователя» и пароль. Raspberry Pi поставляется с именем пользователя и паролем по умолчанию, поэтому всегда используйте их всякий раз, когда его спрашивают. Учетные данные:

логин: пи

пароль: малина

Когда Pi загружается в первый раз, должен появиться экран конфигурации под названием «Параметры настройки», который будет выглядеть, как на изображении ниже.

Если вы пропустили экран «Параметры установки», это не проблема, вы всегда можете получить его, набрав следующую команду в терминале.

sudo raspi-config

Как только вы выполните эту команду, появится экран «Параметры установки», как показано на изображении выше.

Теперь, когда окно параметров настройки открыто, нам нужно будет настроить несколько вещей. После выполнения каждого из следующих шагов, если он просит перезагрузить Pi, сделайте это. Если после перезагрузки вы не видите экран «Параметры установки», следуйте приведенной выше команде, чтобы получить экран / окно.

Первое, что нужно сделать:

выберите первую опцию в списке окна опций настройки, то есть выберите

Развернуть файловую систему

вариант и нажмите клавишу ввода. Мы делаем это, чтобы использовать все пространство на SD-карте как полный раздел. Все, что нужно сделать, это расширить ОС, чтобы уместить все пространство на SD-карте, которое затем можно использовать в качестве памяти для хранения Pi. Второе, что нужно сделать:

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

В окне «Выбор варианта загрузки» выберите вторую опцию, то есть «Рабочий стол, войдите в систему как пользователь 'pi' на графическом рабочем столе» и нажмите кнопку ввода. После этого вы вернетесь на страницу «Параметры настройки», если нет, нажмите кнопку «ОК» в нижней части этого окна, и вы вернетесь в предыдущее окно. Мы делаем это, потому что хотим загрузиться в среду рабочего стола, с которой мы знакомы. Если мы не сделаем этот шаг, Raspberry Pi каждый раз загружается в терминал без параметров графического интерфейса. После того, как оба шага будут выполнены, нажмите кнопку «Готово» внизу страницы, и программа перезагрузится автоматически. Если это не так, используйте следующую команду в терминале для перезагрузки.

перезагрузка sudo

Обновление прошивки

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

На рабочем столе откройте терминал и введите следующую команду, чтобы обновить прошивку Pi.

sudo rpi-update

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

вот ссылка на видео:

Установка и настройка операционной системы Raspbian Jessie на Raspberry Pi (щелкните ссылку)

Шаг 3. Настройте VNC на Raspberry Pi для удаленного управления

Настройка VNC на Raspberry Pi для удаленного управления
Настройка VNC на Raspberry Pi для удаленного управления

VNC (виртуальные сетевые вычисления)

Иногда неудобно работать непосредственно на Raspberry Pi. Возможно, вы захотите поработать с ним с другого устройства с помощью пульта дистанционного управления.

VNC - это графическая система совместного использования рабочего стола, которая позволяет удаленно управлять интерфейсом рабочего стола одного компьютера (с запущенным VNC Server) с другого компьютера или мобильного устройства (с запущенным VNC Viewer). VNC Viewer передает события клавиатуры и мыши или касания на VNC Server и в ответ получает обновления на экран.

Вы увидите рабочий стол Raspberry Pi внутри окна на вашем компьютере или мобильном устройстве. Вы сможете управлять им, как если бы вы работали с самим Raspberry Pi.

VNC Connect от RealVNC входит в состав Raspbian. Он состоит из VNC Server, который позволяет удаленно управлять Raspberry Pi, и VNC Viewer, который позволяет удаленно управлять настольными компьютерами с Raspberry Pi, если вы захотите.

Перед использованием VNC Server необходимо включить его: инструкции для этого приведены ниже. По умолчанию VNC Server предоставляет вам удаленный доступ к графическому рабочему столу, который работает на вашем Raspberry Pi, как если бы вы сидели перед ним.

Включение VNC-сервера

На своем Raspberry Pi выполните следующие команды, чтобы убедиться, что у вас установлена последняя версия VNC Connect:

sudo apt-get update

sudo apt-get install realvnc-vnc-server realvnc-vnc-viewer

Теперь включите VNC Server. Вы можете сделать это графически или из командной строки.

Включение VNC Server графически

На вашем Raspberry Pi загрузитесь в графический рабочий стол.

Выберите Меню> Настройки> Конфигурация Raspberry Pi> Интерфейсы.

Убедитесь, что VNC включен. Включение VNC-сервера в командной строке

Вы можете включить VNC Server в командной строке, используя raspi-config:

sudo raspi-config

Теперь включите VNC Server, выполнив следующие действия:

Перейдите к параметрам интерфейса

Прокрутите вниз и выберите VNC> Да. Подключение к Raspberry Pi с помощью VNC Viewer

Есть два способа подключиться к Raspberry Pi. Вы можете использовать один или оба варианта, в зависимости от того, что вам больше подходит.

Установление прямого подключения

Прямое подключение выполняется быстро и просто, если вы подключены к той же частной локальной сети, что и ваш Raspberry Pi. Например, это может быть проводная или беспроводная сеть дома, в школе или в офисе).

На вашем Raspberry Pi (с помощью окна терминала или через SSH) используйте эти инструкции или запустите ifconfig, чтобы узнать свой частный IP-адрес.

ifconfig

На устройстве, которое вы будете использовать для управления, загрузите VNC Viewer. Для достижения наилучших результатов используйте совместимое приложение от RealVNC.

Введите частный IP-адрес вашего Raspberry Pi в VNC Viewer:

Установление облачного соединения

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

Облачные соединения удобны и зашифрованы от начала до конца. Их настоятельно рекомендуется использовать для подключения к Raspberry Pi через Интернет. Нет никакого брандмауэра или перенастройки маршрутизатора, и вам не нужно знать IP-адрес вашего Raspberry Pi или указывать статический.

Зарегистрируйте учетную запись RealVNC здесь: это бесплатно и занимает всего несколько секунд.

На своем Raspberry Pi войдите на VNC Server, используя свои новые учетные данные RealVNC:

На устройстве, которое вы будете использовать для управления, загрузите VNC Viewer. Вы должны использовать совместимое приложение от RealVNC

Войдите в VNC Viewer, используя те же учетные данные RealVNC, а затем либо коснитесь, либо щелкните, чтобы подключиться к Raspberry Pi:

Аутентификация на VNC-сервере

Чтобы выполнить прямое или облачное соединение, вы должны пройти аутентификацию на VNC Server.

Если вы подключаетесь из совместимого приложения VNC Viewer из RealVNC, введите имя пользователя и пароль, которые вы обычно используете для входа в свою учетную запись на Raspberry Pi. По умолчанию это учетные данные pi и raspberry.

Если вы подключаетесь из приложения, отличного от RealVNC Viewer, вам сначала необходимо понизить схему аутентификации VNC Server, указать пароль, уникальный для VNC Server, а затем ввести его. Для этого откройте диалоговое окно VNC Server на Raspberry Pi, выберите Меню> Параметры> Безопасность, и выберите пароль VNC в разделе «Аутентификация».

Чтобы включить эту функцию:

На Raspberry Pi откройте диалоговое окно VNC Server.

Перейдите в Меню> Параметры> Устранение неполадок и выберите Включить экспериментальный режим прямого захвата.

На устройстве, которое вы будете использовать для управления, запустите VNC Viewer и подключитесь.

Примечание. Чтобы изменения вступили в силу, необходимо перезапустить существующие подключения.

Если производительность кажется сниженной, попробуйте выполнить эти действия по устранению неполадок или сообщите об этом RealVNC.

Создание виртуального рабочего стола

Если ваш Raspberry Pi обезглавлен (то есть не подключен к монитору) или управляет роботом, вряд ли он будет работать с графическим рабочим столом.

VNC Server может создать для вас виртуальный рабочий стол, предоставляя вам графический удаленный доступ по запросу. Этот виртуальный рабочий стол существует только в памяти вашего Raspberry Pi:

Чтобы создать виртуальный рабочий стол и подключиться к нему:

На вашем Raspberry Pi (с помощью терминала или через SSH) запустите vnc server. Обратите внимание на IP-адрес / номер дисплея, который VNC Server напечатает на вашем терминале (например, 192.167. **. **).

На устройстве, которое вы будете использовать для управления, введите эту информацию в VNC Viewer. Чтобы уничтожить виртуальный рабочий стол, выполните следующую команду:

vncserver -kill:

Это также остановит все существующие подключения к этому виртуальному рабочему столу.

Шаг 4: Конфигурация камеры

Конфигурация камеры
Конфигурация камеры

Настройка оборудования камеры

Предупреждение: камеры чувствительны к статическому электричеству. Заземлите себя перед тем, как брать печатную плату. Если у вас нет заземляющего браслета, подойдет кран для раковины или аналогичный.

Плата камеры подключается к Raspberry Pi с помощью 15-жильного ленточного кабеля. Осталось сделать всего два подключения: ленточный кабель необходимо подключить к печатной плате камеры и к самому Raspberry Pi. Вам нужно правильно протянуть кабель, иначе камера не будет работать. На печатной плате камеры синяя подложка кабеля должна быть обращена в сторону от печатной платы, а на Raspberry Pi она должна быть обращена к соединению Ethernet (или к тому месту, где будет разъем Ethernet, если вы используете модель A).

Хотя разъемы на плате и Pi разные, они работают одинаково. На самом Raspberry Pi потяните за выступы на каждом конце разъема. Он должен легко скользить вверх и иметь возможность слегка поворачиваться. Полностью вставьте ленточный кабель в разъем, убедившись, что он установлен прямо, затем осторожно нажмите на выступы, чтобы защелкнуть его на месте. Для разъема печатной платы камеры также необходимо оттянуть выступы от платы, аккуратно вставить кабель, а затем отодвинуть выступы назад. Разъем для печатной платы может быть немного более неудобным, чем на самом Pi.

Установка программного обеспечения камеры

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

sudo apt-get update

sudo apt-get upgrade

Теперь вам нужно включить поддержку камеры с помощью

raspi-config

программа, которую вы использовали при первой настройке Raspberry Pi.

sudo raspi-config

С помощью клавиш курсора перейдите к параметру камеры и выберите «включить». При выходе из raspi-config он попросит перезагрузить компьютер. Опция включения гарантирует, что при перезагрузке правильная прошивка графического процессора будет работать с драйвером камеры и настройкой, а разделение памяти графического процессора будет достаточным, чтобы камера могла получить достаточно памяти для правильной работы.

Если он не включен, включите его и перезагрузите Pi, чтобы начать

Чтобы проверить, что система установлена и работает, попробуйте следующую команду:

raspistill -v -o test.jpg

На дисплее должен отобразиться пятисекундный предварительный просмотр с камеры, а затем сделать снимок, сохраненный в файле test.jpg, с отображением различных информационных сообщений.

РАСПИВИД

Raspivid - это инструмент командной строки для захвата видео с помощью модуля камеры.

Когда модуль камеры подключен и включен, запишите видео с помощью следующей команды:

распивид -о вид.х264

Не забудьте использовать

-hf

а также

-vf

при необходимости перевернуть изображение, например, с

распистил

Это сохранит 5-секундный видеофайл по указанному здесь пути как vid.h264 (продолжительность по умолчанию).

Укажите длину видео

Чтобы указать длину снятого видео, передайте флаг -t с числом миллисекунд. Например:

raspivid -o video.h264 -t 10000

Будет записано 10 секунд видео.

Формат видео MP4

Pi записывает видео как необработанный видеопоток H264. Многие медиаплееры отказываются воспроизводить его или воспроизводят его с неправильной скоростью, если он не «завернут» в подходящий контейнерный формат, такой как MP4. Самый простой способ получить файл MP4 из

резкий

команда использует MP4Box.

Установите MP4Box с помощью этой команды:

sudo apt-get install -y gpac

Захватите свое необработанное видео с помощью raspivid и оберните его в контейнер MP4 следующим образом:

# Захватить 30 секунд необработанного видео с разрешением 640x480 и скоростью передачи данных 150 кБ / с в файл pivideo.h264:

raspivid -t 30000 -w 640 -h 480 -fps 25 -b 1200000 -p 0, 0, 640, 480 -o pivideo.h264 # Обернуть сырое видео в контейнер MP4 MP4Box -add pivideo.h264 pivideo.mp4 # Удалить исходный необработанный файл, оставив оставшийся файл pivideo.mp4 для воспроизведения rm pivideo.h264

В качестве альтернативы оберните MP4 вокруг существующего вывода raspivid, например:

MP4Box -добавить video.h264 video.mp4

Шаг 5: Установка и настройка

Следуйте этим инструкциям, только если вы хотите скомпилировать свое программное обеспечение с нуля. Следующие ниже шаги необходимы и рекомендуются, как и тот же процесс установки на Raspberry pi.

Установка зависимостей

Установка Sphinxbase / Pocketsphinx

Во-первых, вам нужно установить Pocketsphinx. Если вы используете Debian Sid (нестабильный) или Jessie (тестируемый), вы можете просто сделать:

sudo apt-get update

sudo apt-get install pocketsphinx

Начните с установки некоторых зависимостей:

sudo apt-get install subversion autoconf libtool automake gfortran g ++ --yes

Затем перейдите в свой домашний (или Jasper) каталог, чтобы проверить и установить CMUCLMTK:

svn co

cd cmuclmtk /

./autogen.sh && make && sudo make install

CD..

Затем, когда вы выйдете из каталога CMUCLTK, загрузите следующие библиотеки:

Установка Phonetisaurus, m2m-aligner и MITLM

Чтобы использовать движок Pocketsphinx STT, вам также необходимо установить MIT Language Modeling Toolkit, m2m-aligner и Phonetisaurus (и, следовательно, OpenFST).

Если вы не используете Debian, выполните следующие действия:

# -оригинал:

# wget

#-новый:

wget

wget

wget

wget

Разархивируйте загрузки:

tar -xvf m2m-aligner-1.2.tar.gz

tar -xvf openfst-1.3.4.tar.gz

tar -xvf is2013-conversion.tgz

tar -xvf mitlm-0.4.1.tar.gz

Соберите OpenFST:

компакт-диск openfst-1.3.4 /

sudo./configure --enable-compact-fsts --enable-const-fsts --enable-far --enable-lookahead-fsts --enable-pdt

time sudo make install # вернуться через очень долгое время

CD..

реальный 66 мин. 38 394 сек.

пользователь 64m42.620s

sys 1m2.150s

df -h /

Используемый размер файловой системы Доступность Использование% Установлено на / dev / root 14 ГБ 4,4 ГБ 8,3 ГБ 35% /

Сборка M2M:

cd m2m-aligner-1.2 /

sudo make

CD..

Сборка MITLMT:

cd mitlm-0.4.1 /

sudo./configure

sudo make install

CD..

Собери фонетизавра:

компакт-диск is2013-conversion / phonetisaurus / src

sudo make

CD

Переместите некоторые из скомпилированных файлов:

sudo cp ~ / m2m-aligner-1.2 / m2m-aligner / usr / local / bin / m2m-aligner

# -оригинал:

# sudo cp ~ / phonetisaurus-0.7.8 / phonetisaurus-g2p / usr / local / bin / phonetisaurus-g2p

#-должно быть:

sudo cp ~ / is2013-конверсия / bin / phonetisaurus-g2p / usr / local / bin / phonetisaurus-g2p

Обратите внимание на измененный путь к исполняемому файлу.

Получите и создайте модель Phonetisaurus FST

wget

tar -xvf g014b2b.tgz

cd g014b2b /

./compile-fst.sh

CD..

Наконец, для удобства переименуйте следующую папку:

mv ~ / g014b2b ~ / phonetisaurus

После завершения установки перезагрузите Pi.

Следуя инструкциям

Я также добавил (новый) файл `/ etc / modprobe.d / alsa-base.conf` с таким содержимым:

# Устанавливает значение индекса карт, но не меняет порядок.

параметры snd_usb_audio index = 0

параметры snd_bcm2835 index = 1

# Выполняет переупорядочивание.

параметры snd slots = snd_usb_audio, snd_bcm2835

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

Завершено с установкой - дальше небольшая отладка…

Пытаюсь завести джаспер:

pi @ AVIV: ~ $./jasper/jasper.py

Отслеживание (последний вызов последний):

Файл "./jasper/jasper.py", строка 12, в импорте из клиента tts, stt, jasperpath, файл диагностики "/home/pi/jasper/client/tts.py", строка 41, в файле диагностики импорта "/ home / pi / jasper / client / diagnose.py ", строка 9, в файле import pip.req" /usr/lib/python2.7/dist-packages/pip/_init_.py ", строка 74, в из pip. vcs import git, mercurial, subversion, bazaar # noqa File "/usr/lib/python2.7/dist-packages/pip/vcs/mercurial.py", строка 9, in from pip.download import path_to_url File "/ usr / lib / python2.7 / dist-packages / pip / download.py ", строка 25, в from requests.compat import IncompleteRead ImportError: невозможно импортировать имя IncompleteRead

Исправлено:

sudo easy_install -U пункт

Следующий выпуск:

pi @ AVIV: ~ $./jasper/jasper.py

*******************************************************

* ДЖАСПЕР - ГОВОРЩИЙ КОМПЬЮТЕР * * (c) 2015 Шубро Саха, Чарли Марш и Ян Холтуис * *************************** ************************* ОШИБКА: root: Произошла ошибка! Отслеживание (последний вызов последним): файл "./jasper/jasper.py", строка 143, в app = Jasper () Файл "./jasper/jasper.py", строка 88, в _init_ stt_engine_class = stt.get_engine_by_slug (stt_engine_slug) Файл "/home/pi/jasper/client/stt.py", строка 648, в зависимостях get_engine_by_slug "и т. д.)")% slug)

ValueError: механизм STT sphinx недоступен (из-за отсутствия зависимостей, зависимостей и т. Д.)

пытающийся

sudo apt-get install -y python-pocketsphinx

Исправьте путь к `../ phonetisaurus / g014b2b.fst`, чтобы вместо этого он был` / home / pi / phonetisaurus / g014b2b.fst` (в `.jasper / profile.yml`)

pi @ AVIV: ~ $./jasper/jasper.py

*******************************************************

* ДЖАСПЕР - ГОВОРЩИЙ КОМПЬЮТЕР * * (c) 2015 Шубро Саха, Чарли Марш и Ян Холтуис * *************************** ************************* ОШИБКА: client.stt: hmm_dir '/ usr / local / share / pocketsphinx / model / hmm / en_US / hub4wsj_sc_8k ' не существует! Убедитесь, что вы установили правильный hmm_dir в своем профиле.

Исправьте / активируйте путь для этого также в `profile.yml`:

hmm_dir: '/ usr / share / pocketsphinx / model / hmm / en_US / hub4wsj_sc_8k' # необязательно

(обратите внимание на отсутствие в пути "local")

Частичный успех -:

pi @ AVIV: ~ $./jasper/jasper.py

*******************************************************

* ДЖАСПЕР - ГОВОРЩИЙ КОМПЬЮТЕР * * (c) 2015 Шубро Саха, Чарли Марш и Ян Холтуис * *************************** ************************* ALSA lib pcm.c: 2239: (snd_pcm_open_noupdate) Неизвестные карты PCM.pcm.rear ALSA lib pcm.c: 2239: (snd_pcm_open_noupdate) Неизвестные PCM-карты.pcm.center_lfe ALSA lib pcm.c: 2239: (snd_pcm_open_noupdate) Неизвестные PCM-карты.pcm.side ALSA lib pcm.c: 2239: (snd_pcm_open_pcm. CM. PCM_Lib) Неизвестные PCM-карты. pcm.c: 2239: (snd_pcm_open_noupdate) Неизвестные карты PCM.pcm.hdmi ALSA lib pcm.c: 2239: (snd_pcm_open_noupdate) Неизвестные карты PCM.pcm.modem ALSA lib pcm.c: 2239: (snd_pcm_pcm_open).modem ALSA lib pcm.c: 2239: (snd_pcm_open_noupdate) Неизвестные карты PCM.pcm.phoneline ALSA lib pcm.c: 2239: (snd_pcm_open_noupdate) Неизвестные карты PCM.pcm.phoneline ALSA lib pulse.c: 243: Невозможно подключиться: В соединении отказано ALSA lib pulse.c: 243: (pulse_connect) PulseAudio: Невозможно подключиться: В соединении отказано Невозможно подключиться для обслуживания r socket err = Нет такого файла или каталога. Невозможно подключиться к каналу запроса сервера. Сервер jack не работает или не может быть запущен. Выражение 'paInvalidSampleRate' завершилось неудачно в 'src / hostapi / alsa / pa_linux_alsa.c', строка: 2048 Выражение 'PaAlsaStreamComponent_InitialConfigure (& self -> capture, inParams, self-> primeBuffers, hwParamsCapture, & realSr) 'не удалось в' src / hostapi / alsa / pa_linux_alsa.c ', строка: 2719 Expression' PaAlsaStream_Configure (stream, inputParameters, outputParameters, sampleRate, framesPerBuffer, & hostBufferSizeMode) 'не удалось в' src / hostapi / alsa / pa_linux_alsa.c ', строка: 2843 Traceback (последний вызов последним): файл "./jasper/jasper.py", строка 148, в файле app.run () "./jasper/jasper.py", строка 118, в файле run talk.handleForever () "/home/pi/jasper/client/conversation.py", строка 31, в пороге handleForever, transcribed = self.mic.passiveListen (self.persona) Файл "/home/pi/jasper/client/mic.py", строка 110, в passiveListen frames_per_buffer = CHUNK) Файл "/usr/lib/python2.7/dist-packages/pyaudio.py", строка 747, в открытом потоке = Stream (self, * args, ** kwargs) Файл "/usr/lib/python2.7/dist -packages / pyaudio.py ", строка 442, в _init_ self._stream = pa.open (** аргументы) IOError: [Errno Invalid sample rate] -9997

Хорошо, исправление RATE и CHUNK, похоже, идет дальше:

diff --git a / client / mic.py b / client / mic.py

индекс 401cddb..dee49fe 100644

--- a / client / mic.py

+++ б / клиент / mic.py

@@ -93, 8 +93, 8 @@ класс Мик:

"""

THRESHOLD_MULTIPLIER = 1,8

- СТАВКА = 16000

- ЧАНК = 1024

+ СТАВКА = 44100 # 16000

+ ЧАНК = 4096 # 1024

# количество секунд, в течение которых можно установить порог

THRESHOLD_TIME = 1

Шаг 6: ВЫВОДИТЕ скриншоты

Рекомендуемые: