"Application - Speech Recognition" 修訂間的差異
(已建立頁面,內容為 "450px|RPi3 + TR10 450px|RPi3 control GPIO by speech recogination == Open source == <pre> apt-get install rpi-upda…") |
(無差異)
|
於 2018年8月23日 (四) 10:39 的最新修訂
目錄
Open source
apt-get install rpi-update apt-get install git-core rpi-update -> Connect your USB microphone (or camera+mic) and -> reboot the RPi at this point vi /etc/modprobe.d/alsa-base.conf # change as follows: # Comment this line # options snd-usb-audio index=-2 # and add the following: options snd-usb-audio index=0 -> close the file and reload alsa: alsa force-reload wget http://sourceforge.net/projects/cmusphinx/files/sphinxbase/\ 0.8/sphinxbase-0.8.tar.gz/download mv download sphinxbase-0.8.tar.gz wget http://sourceforge.net/projects/cmusphinx/files/\ pocketsphinx/0.8/pocketsphinx-0.8.tar.gz/download mv download pocketsphinx-0.8.tar.gz tar -xzvf sphinxbase-0.8.tar.gz tar -xzvf pocketsphinx-0.8.tar.gz apt-get install bison apt-get install libasound2-dev cd sphinxbase-0.8 ./configure --enable-fixed make make install cd ../pocketsphinx-0.8/ ./configure make sudo make install
GPIO MAP
pi@raspberrypi:~/projects/rpi/speech $ gpio readall
+-----+-----+---------+------+---+---Pi 3---+---+------+---------+-----+-----+ | BCM | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | BCM | +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+ | | | 3.3v | | | 1 || 2 | | | 5v | | | | 2 | 8 | SDA.1 | IN | 1 | 3 || 4 | | | 5V | | | | 3 | 9 | SCL.1 | IN | 1 | 5 || 6 | | | 0v | | | | 4 | 7 | GPIO. 7 | IN | 1 | 7 || 8 | 0 | IN | TxD | 15 | 14 | | | | 0v | | | 9 || 10 | 1 | IN | RxD | 16 | 15 | | 17 | 0 | GPIO. 0 | IN | 0 | 11 || 12 | 0 | OUT | GPIO. 1 | 1 | 18 | | 27 | 2 | GPIO. 2 | IN | 0 | 13 || 14 | | | 0v | | | | 22 | 3 | GPIO. 3 | IN | 0 | 15 || 16 | 0 | OUT | GPIO. 4 | 4 | 23 | | | | 3.3v | | | 17 || 18 | 0 | OUT | GPIO. 5 | 5 | 24 | | 10 | 12 | MOSI | IN | 0 | 19 || 20 | | | 0v | | | | 9 | 13 | MISO | IN | 0 | 21 || 22 | 0 | OUT | GPIO. 6 | 6 | 25 | | 11 | 14 | SCLK | IN | 0 | 23 || 24 | 1 | IN | CE0 | 10 | 8 | | | | 0v | | | 25 || 26 | 1 | IN | CE1 | 11 | 7 | | 0 | 30 | SDA.0 | IN | 1 | 27 || 28 | 1 | IN | SCL.0 | 31 | 1 | | 5 | 21 | GPIO.21 | IN | 1 | 29 || 30 | | | 0v | | | | 6 | 22 | GPIO.22 | IN | 1 | 31 || 32 | 0 | IN | GPIO.26 | 26 | 12 | | 13 | 23 | GPIO.23 | IN | 0 | 33 || 34 | | | 0v | | | | 19 | 24 | GPIO.24 | IN | 0 | 35 || 36 | 0 | IN | GPIO.27 | 27 | 16 | | 26 | 25 | GPIO.25 | IN | 0 | 37 || 38 | 0 | IN | GPIO.28 | 28 | 20 | | | | 0v | | | 39 || 40 | 0 | IN | GPIO.29 | 29 | 21 | +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+ | BCM | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | BCM | +-----+-----+---------+------+---+---Pi 3---+---+------+---------+-----+-----+
GPIO Adapter (using GPIO 12, 16, 18 and 22)
#include <stdio.h> #include <string.h> int main(int argc, char *argv[]) { char tmp[125]; system("gpio mode 1 out"); system("gpio mode 4 out"); system("gpio mode 5 out"); system("gpio mode 6 out"); while(1) { scanf("%s",&tmp); if(tmp != "\n") { if(!strcmp(tmp,"TOMMY")) system("gpio write 1 1"); else system("gpio write 1 0"); if(!strcmp(tmp,"MOLLY")) system("gpio write 4 1"); else system("gpio write 4 0"); if(!strcmp(tmp,"DAISY")) system("gpio write 5 1"); else system("gpio write 5 0"); if(!strcmp(tmp,"ANNIE")) system("gpio write 6 1"); else system("gpio write 6 0"); if(!strcmp(tmp,"OKAY")) { system("gpio write 1 1"); system("gpio write 4 1"); system("gpio write 5 1"); system("gpio write 6 1"); } } } return 0; }
GPIO MAP (says, OKAY)
pi@raspberrypi:~/projects/rpi/speech $ gpio readall
+-----+-----+---------+------+---+---Pi 3---+---+------+---------+-----+-----+ | BCM | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | BCM | +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+ | | | 3.3v | | | 1 || 2 | | | 5v | | | | 2 | 8 | SDA.1 | IN | 1 | 3 || 4 | | | 5V | | | | 3 | 9 | SCL.1 | IN | 1 | 5 || 6 | | | 0v | | | | 4 | 7 | GPIO. 7 | IN | 1 | 7 || 8 | 0 | IN | TxD | 15 | 14 | | | | 0v | | | 9 || 10 | 1 | IN | RxD | 16 | 15 | | 17 | 0 | GPIO. 0 | IN | 0 | 11 || 12 | 1 | OUT | GPIO. 1 | 1 | 18 | | 27 | 2 | GPIO. 2 | IN | 0 | 13 || 14 | | | 0v | | | | 22 | 3 | GPIO. 3 | IN | 0 | 15 || 16 | 1 | OUT | GPIO. 4 | 4 | 23 | | | | 3.3v | | | 17 || 18 | 1 | OUT | GPIO. 5 | 5 | 24 | | 10 | 12 | MOSI | IN | 0 | 19 || 20 | | | 0v | | | | 9 | 13 | MISO | IN | 0 | 21 || 22 | 1 | OUT | GPIO. 6 | 6 | 25 | | 11 | 14 | SCLK | IN | 0 | 23 || 24 | 1 | IN | CE0 | 10 | 8 | | | | 0v | | | 25 || 26 | 1 | IN | CE1 | 11 | 7 | | 0 | 30 | SDA.0 | IN | 1 | 27 || 28 | 1 | IN | SCL.0 | 31 | 1 | | 5 | 21 | GPIO.21 | IN | 1 | 29 || 30 | | | 0v | | | | 6 | 22 | GPIO.22 | IN | 1 | 31 || 32 | 0 | IN | GPIO.26 | 26 | 12 | | 13 | 23 | GPIO.23 | IN | 0 | 33 || 34 | | | 0v | | | | 19 | 24 | GPIO.24 | IN | 0 | 35 || 36 | 0 | IN | GPIO.27 | 27 | 16 | | 26 | 25 | GPIO.25 | IN | 0 | 37 || 38 | 0 | IN | GPIO.28 | 28 | 20 | | | | 0v | | | 39 || 40 | 0 | IN | GPIO.29 | 29 | 21 | +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+ | BCM | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | BCM | +-----+-----+---------+------+---+---Pi 3---+---+------+---------+-----+-----+
Shell example
- pi@raspberrypi:~/project/rpi/speech $ pocketsphinx_continuous -lm 7610.lm -dict 7610.dic -inmic yes | ./adapter