Isi kandungan:

Kamera Didorong Suara Menggunakan Raspberry Pi: 6 Langkah
Kamera Didorong Suara Menggunakan Raspberry Pi: 6 Langkah

Video: Kamera Didorong Suara Menggunakan Raspberry Pi: 6 Langkah

Video: Kamera Didorong Suara Menggunakan Raspberry Pi: 6 Langkah
Video: Object Identification & Animal Recognition With Raspberry Pi + OpenCV + Python 2024, November
Anonim
Kamera Bergerak Suara Menggunakan Raspberry Pi
Kamera Bergerak Suara Menggunakan Raspberry Pi

Kembangkan kamera yang dapat dijalankan dengan perintah voice over, ini terutama dirancang untuk semua jenis orang, terutama kepada orang yang mencari fotografi masa yang menyeronokkan.

Langkah 1: Panduan Perkakasan

Panduan Perkakasan
Panduan Perkakasan

VDC direka pada Raspberry Pi (Model B) dan memerlukan beberapa perkakasan tambahan seperti penyesuai wifi (pilihan) dan mikrofon USB. Perkakasan yang dicadangkan ditunjukkan di bawah dengan pautan untuk keterangan lebih lanjut. Anda mungkin mencuba jenama / spesifikasi perkakasan yang sedikit berbeza. VDC tidak berafiliasi dengan mana-mana vendor perkakasan yang berkaitan.

Senarai Lengkap

  1. Model Raspberry Pi B
  2. Picamera
  3. Mikrofon mini USB
  4. Kad SD
  5. Kabel Ethernet
  6. Penyesuai Mini-USB (pilihan)
  7. USB mikro - pengecas dinding
  8. Pembesar suara yang berfungsi melalui bicu audio Raspberry Pi (mungkin perlu dikuasakan sendiri)

Senarai Perisian yang Disahkan Raspberry Pi mungkin berguna untuk mencari pengganti produk yang disyorkan di atas.

perhimpunan

Pemasangan komponen yang diperlukan adalah mudah. Masukkan mikrofon, kad SD, penyesuai wayarles (jika ada), kabel mikro-USB, kabel ethernet, dan pembesar suara ke dalam Raspberry Pi. Penyesuai pengecasan dinding USB disyorkan untuk dihidupkan, sebagai peranti mandiri.

Kabel ethernet akan digunakan untuk log masuk ke komputer dari komputer semasa langkah pemasangan perisian. Selepas pemasangan, jika anda lebih suka menggunakan sambungan tanpa wayar, kabel ini dapat dilepaskan.

Sambungan internet

Seperti yang dinyatakan di atas, penyesuai wayarles adalah pilihan. Ia berjalan dengan baik pada sambungan berwayar (melalui ethernet), jadi anda boleh memilih antara dua persediaan bergantung pada yang paling sesuai untuk anda.

Langkah 2: Pemasangan OS pada Raspberry Pi

Pemasangan OS pada Raspberry Pi
Pemasangan OS pada Raspberry Pi

Pengenalan

Raspberry Pi adalah pemproses mikro bersaiz kad kredit yang terdapat dalam model yang berbeza dengan kelajuan pemprosesan yang berbeza mulai dari 700 MHz. Sama ada anda mempunyai model B atau model B +, atau versi yang sangat lama, proses pemasangannya tetap sama. Orang yang telah melayari laman web Raspberry Pi rasmi, mungkin melihat mereka mengesyorkan Sistem Operasi "NOOBS" atau "NOOBS LITE" (aka "OS") untuk pemula. Tetapi menggunakan Pi sangat mudah dan dari menjadi pemula, seseorang akan menjadi pro dalam masa yang singkat. Oleh itu, lebih baik menggunakan OS yang lebih berkuasa dan lebih cekap, Raspbian. Sebab utama mengapa Raspbian sangat popular adalah kerana ia mempunyai ribuan perpustakaan yang telah dibina untuk melaksanakan banyak tugas dan mengoptimumkan OS. Ini membentuk kelebihan besar semasa membina aplikasi.

Memuat turun penulis Raspbian dan Gambar

Muat turun versi terbaru Raspbian dari sini. Anda boleh memuat turunnya secara langsung atau melalui torrents.

Halaman raspbian

Pautan Muat turun OS Raspbian

Anda memerlukan penulis gambar untuk menulis OS yang dimuat turun ke dalam kad SD (kad micro SD sekiranya model Raspberry Pi B +). Oleh itu, muat turun "win32 disk imager" dari sini.

Menulis gambar

Masukkan kad SD ke dalam komputer riba / komputer dan jalankan penulis gambar. Setelah dibuka, semak dan pilih fail gambar Raspbian yang dimuat turun. Pilih peranti yang betul, iaitu pemacu yang mewakili kad SD. Sekiranya pemacu (atau peranti) yang dipilih berbeza dari kad SD maka pemacu yang dipilih yang lain akan menjadi rosak. Jadi berhati-hati.

Selepas itu, klik pada butang "Tulis" di bahagian bawah. Sebagai contoh, lihat gambar di bawah, di mana pemacu kad SD (atau SD mikro) diwakili oleh huruf "G: \"

Setelah penulisan selesai, keluarkan kad SD dan masukkan ke dalam Raspberry Pi dan hidupkan. Ia mesti mula dimuat.

Menyiapkan Pi

Ingatlah bahawa setelah boot Pi, mungkin ada situasi ketika kelayakan pengguna seperti "nama pengguna" dan kata laluan akan diminta. Raspberry Pi dilengkapi dengan nama pengguna dan kata laluan lalai dan jadi selalu menggunakannya setiap kali diminta. Kredensial adalah:

log masuk: pi

kata laluan: raspberry

Ketika Pi telah di-boot untuk pertama kalinya, layar konfigurasi yang disebut "Setup Options" akan muncul dan akan kelihatan seperti gambar di bawah.

Sekiranya anda terlepas skrin "Pilihan Persediaan", itu tidak menjadi masalah, anda selalu boleh mendapatkannya dengan mengetik perintah berikut di terminal.

sudo raspi-config

Setelah anda melaksanakan perintah ini, skrin "Pilihan Pengaturan" akan muncul seperti yang ditunjukkan pada gambar di atas.

Setelah tetingkap Pilihan Persediaan sudah siap, kita harus menetapkan beberapa perkara. Setelah menyelesaikan setiap langkah di bawah ini, jika meminta untuk menghidupkan semula Pi, sila lakukannya. Setelah reboot, jika anda tidak mendapat layar "Setup Options", ikuti perintah yang diberikan di atas untuk mendapatkan screen / window.

Perkara pertama yang perlu dilakukan:

pilih pilihan pertama dalam senarai tetingkap pilihan penyediaan, iaitu pilih

Kembangkan Sistem Fail

pilihan dan tekan kekunci enter. Kami melakukan ini untuk memanfaatkan semua ruang yang ada pada kad SD sebagai partition penuh. Semua ini adalah, mengembangkan OS agar memenuhi seluruh ruang pada kad SD yang kemudian boleh digunakan sebagai memori simpanan untuk Pi. Perkara kedua yang perlu dilakukan:

pilih pilihan ketiga dalam senarai tetingkap pilihan penyediaan, iaitu memilih pilihan "Enable Boot To Desktop / Scratch" dan tekan tombol enter. Ini akan membawa anda ke tetingkap lain yang dipanggil tetingkap "pilih but pilihan" yang kelihatan seperti gambar di bawah.

Di "pilih tetingkap pilihan but", pilih pilihan kedua, iaitu, "Desktop Log in as user 'pi' di desktop grafik" dan tekan butang enter. Setelah selesai, anda akan dibawa kembali ke halaman "Pilihan Persediaan", jika tidak memilih butang "OK" di bahagian bawah tetingkap ini dan anda akan dibawa kembali ke tetingkap sebelumnya. Kami melakukan ini kerana kami ingin masuk ke persekitaran desktop yang sudah biasa kita ketahui. Sekiranya kita tidak melakukan langkah ini maka Raspberry Pi masuk ke terminal setiap kali tanpa pilihan GUI. Setelah, kedua-dua langkah selesai, pilih butang "selesai" di bahagian bawah halaman dan ia harus dimulakan semula secara automatik. Sekiranya tidak, gunakan perintah berikut di terminal untuk reboot.

rebo sudo

Mengemas kini firmware

Selepas reboot dari langkah sebelumnya, jika semuanya berjalan dengan betul, anda akan berakhir di desktop yang kelihatan seperti gambar di bawah.

Setelah anda berada di desktop, buka terminal dan masukkan arahan berikut untuk mengemas kini firmware Pi.

sudo rpi-kemas kini

Mengemas kini firmware diperlukan kerana model Pi tertentu mungkin tidak mempunyai semua kebergantungan yang diperlukan untuk berjalan dengan lancar atau mungkin ada bug. Firmware terkini mungkin dapat mengatasi bug tersebut, oleh itu sangat penting untuk mengemas kini pada awalnya.

berikut adalah pautan video yang ada:

Memasang dan Mengkonfigurasi Sistem Operasi Raspbian Jessie pada Raspberry Pi (klik pautan)

Langkah 3: Sediakan VNC pada Raspberry Pi untuk Mengawal dari jauh

Sediakan VNC pada Raspberry Pi untuk Kawalan dari jauh
Sediakan VNC pada Raspberry Pi untuk Kawalan dari jauh

VNC (Pengkomputeran Rangkaian Maya)

Kadang-kadang tidak senang bekerja secara langsung pada Raspberry Pi. Mungkin anda ingin mengusahakannya dari peranti lain dengan alat kawalan jauh.

VNC adalah sistem perkongsian desktop grafik yang membolehkan anda mengawal jarak jauh antara muka desktop satu komputer (menjalankan VNC Server) dari komputer lain atau peranti mudah alih (menjalankan VNC Viewer). VNC Viewer menghantar papan kekunci dan tetikus atau peristiwa sentuhan ke VNC Server, dan menerima kemas kini ke layar sebagai balasannya.

Anda akan melihat desktop Raspberry Pi di dalam tetingkap di komputer atau peranti mudah alih anda. Anda akan dapat mengawalnya seolah-olah anda sedang mengusahakan Raspberry Pi itu sendiri.

VNC Connect dari RealVNC disertakan dengan Raspbian. Ini terdiri daripada kedua-dua VNC Server, yang membolehkan anda mengawal Raspberry Pi anda dari jauh, dan VNC Viewer, yang membolehkan anda mengawal komputer desktop dari jauh dari Raspberry Pi anda sekiranya anda mahukan.

Anda mesti mengaktifkan Pelayan VNC sebelum dapat menggunakannya: arahan untuk ini diberikan di bawah. Secara lalai, VNC Server memberi anda akses jarak jauh ke desktop grafik yang berjalan di Raspberry Pi anda, seolah-olah anda sedang duduk di depannya.

Mengaktifkan Pelayan VNC

Pada Raspberry Pi anda, jalankan arahan berikut untuk memastikan anda mempunyai versi terbaru VNC Connect:

sudo apt-get kemas kini

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

Sekarang aktifkan Pelayan VNC. Anda boleh melakukan ini secara grafik atau pada baris arahan.

Mengaktifkan Pelayan VNC secara grafik

Pada Raspberry Pi anda, masuk ke desktop grafik.

Pilih Menu> Pilihan> Konfigurasi Pi Raspberry> Antaramuka.

Pastikan VNC Diaktifkan. Mengaktifkan VNC Server pada baris arahan

Anda boleh mengaktifkan Pelayan VNC di baris perintah menggunakan raspi-config:

sudo raspi-config

Sekarang, aktifkan Pelayan VNC dengan melakukan perkara berikut:

Navigasi ke Pilihan Antaramuka

Tatal ke bawah dan pilih VNC> Ya. Menyambung ke Raspberry Pi anda dengan VNC Viewer

Terdapat dua cara untuk menyambung ke Raspberry Pi anda. Anda boleh menggunakan salah satu atau kedua-duanya, bergantung pada yang paling sesuai untuk anda.

Menjalin hubungan langsung

Sambungan langsung cepat dan mudah dengan syarat anda bergabung dengan rangkaian tempatan persendirian yang sama dengan Raspberry Pi anda. Contohnya, ini mungkin rangkaian berwayar atau tanpa wayar di rumah, di sekolah, atau di pejabat).

Pada Raspberry Pi anda (menggunakan tetingkap terminal atau melalui SSH) gunakan arahan ini atau jalankan ifconfig untuk mengetahui alamat IP peribadi anda.

ifconfig

Pada peranti yang akan anda gunakan untuk mengawal, muat turun VNC Viewer. Untuk hasil terbaik, gunakan aplikasi yang serasi dari RealVNC.

Masukkan alamat IP peribadi Raspberry Pi anda ke dalam VNC Viewer:

Menjalin sambungan awan

Anda berhak menggunakan perkhidmatan awan RealVNC secara percuma, dengan syarat akses jarak jauh hanya untuk tujuan pendidikan atau bukan komersial.

Sambungan awan adalah mudah dan disulitkan dari hujung ke hujung. Mereka sangat disyorkan untuk menyambung ke Raspberry Pi anda melalui internet. Tidak ada konfigurasi ulang firewall atau penghala, dan anda tidak perlu mengetahui alamat IP Raspberry Pi anda, atau memberikan alamat yang statik.

Daftar untuk akaun RealVNC di sini: percuma dan hanya memerlukan beberapa saat.

Pada Raspberry Pi anda, log masuk ke Pelayan VNC menggunakan kelayakan akaun RealVNC baru anda:

Pada peranti yang akan anda gunakan untuk mengawal, muat turun VNC Viewer. Anda mesti menggunakan aplikasi yang serasi dari RealVNC

Log masuk ke VNC Viewer menggunakan kelayakan akaun RealVNC yang sama, kemudian ketik atau klik untuk menyambung ke Raspberry Pi anda:

Mengesahkan ke Pelayan VNC

Untuk menyelesaikan sambungan langsung atau awan, anda mesti mengesahkan ke Pelayan VNC.

Sekiranya anda menyambung dari aplikasi VNC Viewer yang serasi dari RealVNC, masukkan nama pengguna dan kata laluan yang biasa anda gunakan untuk log masuk ke akaun pengguna anda di Raspberry Pi. Secara lalai, kelayakan ini adalah pi dan raspberry.

Sekiranya anda menyambung dari aplikasi Non-RealVNC Viewer, pertama sekali anda perlu menurunkan skema pengesahan Pelayan VNC, menentukan kata laluan yang unik untuk Pelayan VNC, dan kemudian memasukkannya. Untuk melakukan ini, buka dialog Pelayan VNC pada Raspberry Pi anda, pilih Menu> Pilihan> Keselamatan, dan pilih kata laluan VNC dari Pengesahan.

Untuk menghidupkan ciri ini:

Pada Raspberry Pi anda, buka dialog Pelayan VNC.

Navigasi ke Menu> Pilihan> Penyelesaian masalah dan pilih Aktifkan mod tangkapan langsung eksperimental.

Pada peranti yang akan anda gunakan untuk mengawal, jalankan VNC Viewer dan sambungkan.

Catatan: sambungan yang ada mesti dimulakan semula agar perubahan ini berlaku.

Sekiranya prestasi kelihatan terganggu, cubalah langkah penyelesaian masalah ini, atau beritahu RealVNC.

Membuat desktop maya

Sekiranya Raspberry Pi anda tanpa kepala (iaitu tidak dipasang ke monitor) atau mengendalikan robot, tidak mungkin menjalankan desktop grafik.

Pelayan VNC dapat membuat desktop maya untuk anda, memberikan anda akses jarak jauh grafik berdasarkan permintaan. Desktop maya ini hanya terdapat dalam memori Raspberry Pi anda:

Untuk membuat dan menyambung ke desktop maya:

Pada Raspberry Pi anda (menggunakan Terminal atau melalui SSH), jalankan pelayan vnc. Perhatikan alamat IP / nombor paparan yang akan dicetak oleh Pelayan VNC ke Terminal anda (mis. 192.167. **. **).

Pada peranti yang akan anda gunakan untuk mengawal, masukkan maklumat ini ke dalam VNC Viewer. Untuk menghancurkan desktop maya, jalankan arahan berikut:

vncserver -kill:

Ini juga akan menghentikan sebarang sambungan yang ada ke desktop maya ini.

Langkah 4: Konfigurasi Kamera

Konfigurasi Kamera
Konfigurasi Kamera

Menyiapkan perkakasan kamera

Amaran: Kamera sensitif terhadap statik. Arahkan diri anda sebelum mengendalikan PCB. Keran sinki atau yang serupa harus mencukupi jika anda tidak mempunyai tali pembumian.

Papan kamera dipasang pada Raspberry Pi melalui kabel reben 15 hala. Hanya ada dua sambungan yang perlu dibuat: kabel pita perlu dipasang pada PCB kamera, dan ke Raspberry Pi itu sendiri. Anda perlu mendapatkan kabel dengan cara yang betul, jika tidak, kamera tidak akan berfungsi. Pada kamera PCB, sandaran biru pada kabel harus menghadap ke PCB, dan pada Raspberry Pi ia harus menghadap ke arah sambungan Ethernet (atau di mana penyambung Ethernet berada jika anda menggunakan model A).

Walaupun penyambung pada PCB dan Pi berbeza, mereka berfungsi dengan cara yang serupa. Pada Raspberry Pi sendiri, tarik tab di setiap hujung penyambung. Ia harus meluncur dengan mudah, dan dapat berpusing sedikit. Masukkan kabel pita sepenuhnya ke dalam slot, pastikan ia betul-betul lurus, kemudian tekan tab dengan perlahan ke bawah untuk memasangnya. Penyambung PCB kamera juga meminta anda menarik tab dari papan, masukkan kabel dengan perlahan, kemudian tekan tab ke belakang. Penyambung PCB boleh menjadi sedikit lebih canggung daripada yang ada pada Pi itu sendiri.

Menyiapkan perisian kamera

Jalankan arahan berikut pada baris perintah untuk memuat turun dan memasang kernel, firmware GPU, dan aplikasi terkini. Anda memerlukan sambungan internet agar ini berfungsi dengan betul.

sudo apt-get kemas kini

sudo apt-get peningkatan

Sekarang anda perlu mengaktifkan sokongan kamera menggunakan

raspi-config

program yang akan anda gunakan semasa pertama kali menyediakan Raspberry Pi anda.

sudo raspi-config

Gunakan kekunci kursor untuk beralih ke pilihan kamera, dan pilih 'aktifkan'. Semasa keluar dari raspi-config, ia akan meminta untuk but semula. Pilihan mengaktifkan akan memastikan bahawa semasa reboot firmware GPU yang betul akan berjalan dengan pemacu kamera dan penalaan, dan pemisahan memori GPU cukup untuk membolehkan kamera memperoleh cukup memori untuk berjalan dengan betul.

Sekiranya tidak diaktifkan, aktifkan dan reboot Pi anda untuk memulakan

Untuk menguji bahawa sistem dipasang dan berfungsi, cuba perintah berikut:

raspistill -v -o test.jpg

Paparan harus menunjukkan pratonton lima saat dari kamera dan kemudian mengambil gambar, disimpan ke file test.jpg, sambil memaparkan pelbagai mesej maklumat.

RASPIVID

Raspivid adalah alat baris perintah untuk menangkap video dengan modul kamera.

Dengan modul kamera disambungkan dan diaktifkan, rakam video menggunakan arahan berikut:

raspivid -o vid.h264

Ingat untuk menggunakan

-hf

dan

-vf

untuk membalikkan gambar jika diperlukan, seperti dengan

raspistill

Ini akan menyimpan fail video 5 saat ke jalan yang diberikan di sini sebagai vid.h264 (jangka masa lalai).

Nyatakan panjang video

Untuk menentukan panjang video yang diambil, hantarkan bendera -t dengan sebilangan milisaat. Sebagai contoh:

raspivid -o video.h264 -t 10000

Ini akan merakam 10 saat video.

Format Video MP4

The Pi merakam video sebagai aliran video H264 mentah. Banyak pemain media akan menolak untuk memainkannya, atau memainkannya dengan kelajuan yang tidak betul, melainkan jika "dibungkus" dalam format bekas yang sesuai seperti MP4. Cara termudah untuk mendapatkan fail MP4 dari

raspivid

arahan menggunakan MP4Box.

Pasang MP4Box dengan arahan ini:

sudo apt-get install -y gpac

Tangkap video mentah anda dengan raspivid dan bungkus dalam bekas MP4 seperti ini:

# Tangkap 30 saat video mentah pada kadar bit 640x480 dan 150kB / s ke dalam fail pivideo.h264:

raspivid -t 30000 -w 640 -h 480 -fps 25 -b 1200000 -p 0, 0, 640, 480 -o pivideo.h264 # Balut video mentah dengan bekas MP4 MP4Box -add pivideo.h264 pivideo.mp4 # Buang fail mentah sumber, meninggalkan fail pivideo.mp4 yang tersisa untuk memainkan rm pivideo.h264

Sebagai alternatif, bungkus MP4 di sekitar output raspivid anda yang ada, seperti ini:

MP4Box -menambah video.h264 video.mp4

Langkah 5: Pemasangan dan Konfigurasi

Ikuti arahan ini hanya jika anda ingin menyusun perisian anda dari awal. Langkah-langkah di bawah ini diperlukan dan disyorkan sebagai proses pemasangan yang sama pada Raspberry pi anda.

Memasang kebergantungan

Memasang Sphinxbase / Pocketsphinx

Pertama, anda perlu memasang Pocketsphinx. Sekiranya anda menggunakan Debian Sid (tidak stabil) atau Jessie (ujian), anda hanya boleh melakukan:

sudo apt-get kemas kini

sudo apt-get install pocketsphinx

Mulakan dengan memasang beberapa kebergantungan:

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

Seterusnya, pindah ke direktori rumah (atau Jasper) anda untuk memeriksa dan memasang CMUCLMTK:

svn co

cd cmuclmtk /

./autogen.sh && buat && sudo buat pemasangan

cd..

Kemudian, apabila anda meninggalkan direktori CMUCLTK, muat turun pustaka berikut:

Memasang Phonetisaurus, m2m-aligner dan MITLM

Untuk menggunakan mesin Pocketsphinx STT, anda juga perlu memasang Toolkit Pemodelan Bahasa MIT, m2m-aligner dan Phonetisaurus (dan dengan itu OpenFST).

Sekiranya anda tidak menggunakan Debian, lakukan langkah-langkah berikut:

# -lain:

# wget

#-baru:

wget

wget

wget

wget

Lepas muat turun:

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

tar -xvf openfst-1.3.4.tar.gz

tar -xvf adalah2013-penukaran.tgz

tar -xvf mitlm-0.4.1.tar.gz

Bina OpenFST:

cd openfst-1.3.4 /

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

time sudo buat install # kembali setelah sekian lama

cd..

sebenar 66m38.394s

pengguna 64m42.620s

sys 1m2.150s

df -h /

Saiz Sistem Filem Digunakan Penggunaan Avail% Dipasang pada / dev / root 14G 4.4G 8.3G 35% /

Bina M2M:

cd m2m-penjajaran-1.2 /

sudo buat

cd..

Bina MITLMT:

cd mitlm-0.4.1 /

sudo./konfigurasi

sudo buat pasang

cd..

Bina Phonetisaurus:

cd is2013-penukaran / phonetisaurus / src

sudo buat

cd

Pindahkan beberapa fail yang disusun:

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

# -lain:

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

# -mesti menjadi:

sudo cp ~ / is2013-penukaran / bin / phonetisaurus-g2p / usr / local / bin / phonetisaurus-g2p

Perhatikan jalan yang berubah untuk yang dapat dilaksanakan.

Dapatkan dan bina model Phonetisaurus FST

wget

tar -xvf g014b2b.tgz

cd g014b2b /

./kompilasi-fst.sh

cd..

Akhirnya, namakan semula folder berikut untuk kemudahan:

mv ~ / g014b2b ~ / fonetisaurus

Setelah pemasangan selesai, mulakan semula Pi anda.

Mengikuti arahan dari

Saya juga menambah fail (baru) `/ etc / modprobe.d / alsa-base.conf` dengan kandungan ini:

# Ini menetapkan nilai indeks kad tetapi tidak menyusun semula.

pilihan snd_usb_audio index = 0

pilihan snd_bcm2835 index = 1

# Adakah penyusunan semula.

pilihan snd slot = snd_usb_audio, snd_bcm2835

untuk memastikan susunan peranti suara yang betul (walaupun tidak sepenuhnya yakin ini benar-benar diperlukan)

Selesai dengan pemasangan - beberapa penyahpepijatan seterusnya…

Cuba memulakan jasper:

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

Jejak balik (panggilan terakhir terakhir):

Fail "./jasper/jasper.py", baris 12, masuk dari tts import pelanggan, stt, jasperpath, diagnose File "/home/pi/jasper/client/tts.py", baris 41, dalam import mendiagnosis Fail "/ home / pi / jasper / client / diagnose.py ", line 9, dalam import pip.req File" /usr/lib/python2.7/dist-packages/pip/_init_.py ", baris 74, masuk dari pip. vcs import git, mercurial, subversion, bazaar # noqa File "/usr/lib/python2.7/dist-packages/pip/vcs/mercurial.py", line 9, in from pip.download import path_to_url File "/ usr / lib / python2.7 / dist-package / pip / download.py ", line 25, masuk dari request.compat import IncompleteRead ImportError: tidak dapat mengimport nama IncompleteRead

Dibetulkan dengan:

sudo easy_install -U pip

Isu seterusnya:

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

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

* JASPER - KOMPUTER BERBICARA * * (c) 2015 Shubhro Saha, Charlie Marsh & Jan Holthuis * ***************************** ************************** RALAT: root: Ralat berlaku! Jejak balik (panggilan terakhir terakhir): Fail "./jasper/jasper.py", baris 143, dalam aplikasi = Jasper () Fail "./jasper/jasper.py", baris 88, dalam _init_ stt_engine_class = stt.get_engine_by_slug (stt_engine_slug) File "/home/pi/jasper/client/stt.py", baris 648, dalam get_engine_by_slug "dependencies, etc.)")% slug)

ValueError: Mesin STT 'sphinx' tidak tersedia (kerana hilangnya ketergantungan, hilang bergantung, dll.)

mencuba

sudo apt-get install -y python-pocketsphinx

Betulkan jalan ke `../ phonetisaurus / g014b2b.fst` menjadi` / home / pi / phonetisaurus / g014b2b.fst` sebagai gantinya (di `.jasper / profile.yml`)

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

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

* JASPER - KOMPUTER BERBICARA * * (c) 2015 Shubhro Saha, Charlie Marsh & Jan Holthuis * ***************************** ************************** RALAT: client.stt: hmm_dir '/ usr / local / share / pocketsphinx / model / hmm / en_US / hub4wsj_sc_8k ' tidak wujud! Pastikan anda telah menetapkan hmm_dir yang betul dalam profil anda.

Betulkan / aktifkan jalan untuk ini di `profile.yml` juga:

hmm_dir: '/ usr / share / pocketsphinx / model / hmm / en_US / hub4wsj_sc_8k' # pilihan

(perhatikan ketiadaan "tempatan" di jalan)

Sebilangan kejayaan -:

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

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

* JASPER - KOMPUTER BERBICARA * * (c) 2015 Shubhro Saha, Charlie Marsh & Jan Holthuis * ***************************** ************************** ALSA lib pcm.c: 2239: (snd_pcm_open_noupdate) Kad PCM tidak diketahui.pcm.rear ALSA lib pcm.c: 2239: (snd_pcm_open_noupdate) Kad PCM tidak diketahui.pcm.center_lfe ALSA lib pcm.c: 2239: (snd_pcm_open_noupdate) Kad PCM yang tidak diketahui.pcm.side ALSA lib pcm.c: 2239: (kad snd_pcm_open_noupdate) pcm.c: 2239: (snd_pcm_open_noupdate) Kad PCM tidak diketahui.pcm.hdmi ALSA lib pcm.c: 2239: (snd_pcm_open_noupdate) Kad PCM yang tidak diketahui.pcm.modem ALSA lib pcm.c: 2239: (snd_pcm_open_noupdate.modem ALSA lib pcm.c: 2239: (snd_pcm_open_noupdate) Kad PCM tidak diketahui.pcm.phoneline ALSA lib pcm.c: 2239: (snd_pcm_open_noupdate) Kad PCM yang tidak diketahui.pcm.phoneline ALSA lib pulse.c: 243: (pulse_con: Tidak dapat menyambung: Sambungan ditolak ALSA lib pulse.c: 243: (pulse_connect) PulseAudio: Tidak dapat menyambung: Sambungan ditolak Tidak dapat menyambung untuk berkhidmat r socket err = Tidak ada fail atau direktori tersebut Tidak dapat menyambung ke permintaan pelayan saluran jack pelayan tidak berjalan atau tidak dapat dimulakan Ekspresi 'paInvalidSampleRate' gagal dalam 'src / hostapi / alsa / pa_linux_alsa.c', baris: 2048 Ekspresi 'PaAlsaStreamComponent_InitialConfigure (& diri) -> capture, inParams, self-> primeBuffers, hwParamsCapture, & realSr) 'gagal dalam' src / hostapi / alsa / pa_linux_alsa.c ', baris: 2719 Ekspresi' PaAlsaStream_Configure (stream, inputParameters, outputParameters, sampleRate, frames & inputLatency,, & hostBufferSizeMode) 'gagal dalam' src / hostapi / alsa / pa_linux_alsa.c ', baris: 2843 Traceback (panggilan terakhir terakhir): Fail "./jasper/jasper.py", baris 148, di app.run () Fail "./jasper/jasper.py", baris 118, dalam perbualan run.handleForever () File "/home/pi/jasper/client/conversation.py", baris 31, di ambang handleForever, ditranskrip = self.mic.passiveListen (self.persona) Fail "/home/pi/jasper/client/mic.py", baris 110, dalam pasifLengarkan frames_per_buffer = CHUNK) Fail "/usr/lib/python2.7/dist-packages/pyaudio.py", baris 747, dalam aliran terbuka = Aliran (diri, * args, ** kwargs) Fail "/usr/lib/python2.7/dist -pakej / pyaudio.py ", baris 442, dalam _init_ self._stream = pa.open (** argumen) IOError: [Errno Kadar sampel tidak sah] -9997

OK, memperbaiki RATE dan CHUNK seperti ini nampaknya semakin jauh:

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

indeks 401cddb..dee49fe 100644

--- a / pelanggan / mic.py

+++ b / pelanggan / mic.py

@@ -93, 8 +93, 8 @@ kelas Mic:

"""

THRESHOLD_MULTIPLIER = 1.8

- KADAR = 16000

- CHUNK = 1024

+ KADAR = 44100 # 16000

+ CHUNK = 4096 # 1024

# bilangan saat untuk menetapkan ambang

THRESHOLD_TIME = 1

Langkah 6: Tangkapan Skrin OUTPUT

Disyorkan: