아마존 에코(Amazon Echo) 와 같은 음성 활성화 장치는 점점 인기를 얻고 있으며, 저렴한 USB 마이크인 라즈베리 파이(Raspberry Pi)와 적합한 소프트웨어를 사용하여 자신만의 장치를 만들 수 있습니다.
Raspberry Pi를 사용하여 YouTube를 검색하고, 웹 페이지를 열고, 애플리케이션을 실행하고, 말만으로 질문에 응답할 수도 있습니다.
Raspberry Pi에는 사운드 카드나 오디오 잭이 내장되어 있지 않으므로 이 프로젝트를 위해서는 USB 마이크 또는 마이크가 내장된 웹캠이 필요합니다. Microsoft HD-3000 (새 탭에서 열림) 웹캠을 사용하여 소프트웨어를 테스트했지만 호환되는 모든 장치가 가능합니다. 아직 없는 경우 Raspberry Pi 호환 웹캠 (새 탭에서 열림) 의 전체 목록을 방문하세요 . 하지만 선택한 장치에 통합 마이크가 있는지 확인하세요.
오디오 잭이 있는 마이크만 있는 경우 Amazon 또는 eBay에서 저렴한 USB 사운드 카드를 검색해 보십시오. 이 사운드 카드는 한쪽 끝에는 USB 포트에 연결되고 다른 쪽에는 이어폰용 출력과 마이크가 있습니다.
Raspberry Pi용 음성 인식 프로그램이 많이 있습니다. 이 프로젝트에서는 강력하고 설정 및 구성이 매우 쉬운 Steven Hickson의 Pi AUI Suite를 사용하고 있습니다.
시작하기
튜토리얼의 단계를 따르면 설치 프로그램을 시작할 수 있습니다. Pi AUI Suite를 사용하면 설치할 여러 프로그램을 선택할 수 있습니다. 첫 번째 질문은 종속성을 설치해야 하는지 여부입니다.
아주 간단하게 음성 명령이 작동하기 위해 Raspberry Pi가 다운로드해야 하는 파일이므로 Y를 선택하고 Return을 눌러 이에 동의합니다.
다음으로 음성 명령을 사용하여 비디오 파일을 시작하고 재생할 수 있는 PlayVideo 프로그램을 설치할 것인지 묻는 메시지가 표시됩니다 .
Y를 선택하면 미디어 파일의 경로를 지정하라는 메시지가 표시됩니다(예: /home/pi/Videos ) . 여기서 대문자가 중요합니다. 경로가 유효하지 않으면 프로그램에서 경고합니다.
그런 다음 인터넷에서 파일을 검색하고 자동으로 다운로드하는 다운로더 프로그램을 설치할 것인지 묻는 메시지가 표시됩니다. 여기에서 Y를 선택하면 호스트, 포트, 사용자 이름 및 암호에 대한 설정을 제공하라는 메시지가 표시됩니다.
확실하지 않은 경우 지금은 Return 키를 눌러 각각의 경우에 기본 옵션을 선택하십시오.
다음 프로그램은 Google Text to Speech Service로, Raspberry Pi가 텍스트 파일의 내용을 읽어주길 원하는 경우 설치할 수 있습니다. 이 서비스를 이용하려면 라즈베리파이가 인터넷에 연결돼 있어야 하는데, 구글 서버에 연결해 텍스트를 음성으로 '번역'한 뒤 라즈베리파이의 미디어 플레이어로 오디오 파일을 재생하기 때문이다.
이것을 설치하기로 결정했다면 Google 계정이 필요합니다. 설치 프로그램에서 사용자 이름을 입력하라는 메시지를 표시합니다. 그렇게 한 다음 Return 키를 누릅니다. 그런 다음 Google 비밀번호를 입력하라는 메시지가 표시됩니다. 이것을 입력하고 Return을 다시 누르십시오.
설치 프로그램은 또한 Google 음성 명령을 설치할 수 있는 기회를 제공합니다. 이것은 구글의 자체 음성 인식 서비스를 사용합니다. 계속하려면 Google 사용자 이름과 비밀번호를 입력하라는 메시지가 다시 나타납니다.
Google 전용 소프트웨어 선택 여부에 관계없이 프로그램은 YouTube 스크립트를 설치할지 여부도 묻습니다. 이러한 도구를 사용하면 "YouTube 푹신한 새끼 고양이"와 같은 문구를 말할 수 있으며 관련 비디오 클립이 재생됩니다.
마지막으로 이 프로그램은 "인터넷"이라는 단어를 말하여 웹 브라우저를 시작할 수 있는 것과 같은 보다 유용한 스크립트가 포함된 Voicecommand를 설치할 수 있는 옵션을 제공합니다.
프로그램에서 음성 명령이 자동으로 설정되도록 할 것인지 묻습니다 . 이 단계에서 오류가 발생하면 다음 페이지에 있는 연습의 3단계를 따르십시오.
Pi AUI Suite 설치가 완료되고 sudo voicecommand -c를 실행하여 듣도록 설정한 후 키워드로 프라이밍해야 합니다.
기본적으로 이것은 "Pi"이지만 Amazon Next를 원하는 경우 "Alexa"라는 단어와 같이 쉽게 변경할 수 있습니다. 내장된 음성 명령 몇 가지를 사용해 보십시오.
Youtube: "YouTube"와 동영상 제목을 말하면 첫 번째 관련 YouTube 클립의 전체 화면 동영상이 자동으로 로드됩니다.
이는 Google의 "I'm Feeling Lucky"와 유사합니다. 예를 들어 "YouTube 푹신한 새끼 고양이"와 같이 "YouTube"와 관심 있는 동영상의 이름을 말합니다.
인터넷: "인터넷"이라는 단어를 말하면 웹 브라우저가 실행됩니다. 기본적으로 이것은 Raspberry Pi의 내장 브라우저 Midori이지만 변경할 수 있습니다.
다운로드: "다운로드"라는 단어와 검색어를 말하면 자동으로 Pirate Bay 웹사이트에서 해당 파일을 검색합니다. 예를 들어 "Ubuntu Yakkety Yak 다운로드"라고 말하면 Ubuntu Linux 운영 체제의 최신 버전을 받을 수 있습니다.
재생: 이 명령은 내장 미디어 플레이어를 사용하여 음악 또는 비디오 파일을 재생합니다. 예를 들어 "Play mozartconcert.mp4"는 설정에서 지정한 미디어 폴더(예: /home/pi/Videos)에 있는 특정 파일을 재생합니다.
표시: "표시"라고 말하면 선택한 폴더가 열립니다. 기본적으로 이 명령은 유효한 폴더로 이동하지 않으므로 구성 파일을 유효한 위치(예: show me==/home/pi/Documents)로 편집해야 합니다 .
라즈베리파이 마스터의 목소리
Voicecommand 프로그램이 설치되면 구성을 미세 조정하기 전에 몇 가지 기본적인 설정 변경을 수행할 수 있습니다.
Raspberry Pi에서 터미널을 열거나 SSH를 통해 연결하고 sudo voicecommand -s 명령을 실행합니다 .
다음으로 일련의 예/아니오 질문을 받게 됩니다. 첫 번째 질문은 연속 플래그를 영구적으로 설정할 것인지 묻습니다. 일반 영어로 보이스커맨드 프로그램은 실행할 때마다 계속해서 음성 명령을 들을지 여부를 묻습니다.
지금은 Y를 선택합니다. 다음으로 Voicecommand 프로그램이 확인 플래그를 영구적으로 설정하도록 할지 묻는 메시지가 나타납니다. 여기서 Y를 선택하면 명령에 응답하기 전에 프로그램에서 키워드(기본적으로 "Pi"라는 단어)를 말해야 합니다.
이 기능은 라즈베리 파이가 계속 듣도록 설정하고 모든 말에 따라 작동하지 않도록 하려는 경우에 유용할 수 있습니다.
다음 프롬프트는 무시 플래그를 영구적으로 설정할 것인지 묻습니다. 즉, Voicecommand가 구성 파일에 구체적으로 나열되지 않은 명령을 듣는 경우 설치된 응용 프로그램에서 프로그램을 찾아 실행하려고 시도합니다.
예를 들어 메모장 애플리케이션인 '리프패드'라고 하면 특별히 지시하지 않아도 보이스커맨드가 이를 찾아 실행한다.
이 기능을 활성화하지 않는 것이 좋습니다. SuperUser로 Voicecommand를 실행하고 있기 때문에 실수로 파일을 손상시킬 수 있는 명령을 Raspberry Pi에 알릴 수 있는 위험이 너무 많습니다.
Voicecommand와 함께 작동하도록 추가 애플리케이션을 설정하려는 경우 각각의 특정한 경우에 구성 파일을 편집할 수 있습니다.
그런 다음 음성 명령은 당신이 말을 할 때 구두 응답을 제공하지 않도록 영구적으로 조용한 플래그를 설정할 것인지 묻습니다. 적절하다고 생각되는 대로 Y 또는 N을 선택하십시오. 다음으로 음성 인식의 기본 기간을 변경할지 묻는 메시지가 표시됩니다. Pi가 명령을 듣는 데 문제가 있는 경우에만 이를 변경해야 합니다.
Y를 선택하면 숫자를 입력하라는 메시지가 표시됩니다. 이것은 Raspberry Pi가 음성 명령을 수신하는 시간(초)이며 기본값은 3입니다.
그런 다음 프로그램은 텍스트 음성 변환 옵션을 설정할 수 있는 기회를 제공합니다. 이 작업을 수행하기 전에 볼륨을 높이십시오. 이 프로그램은 무언가를 말하려고 시도하고 당신이 그것을 들었는지 묻습니다.
키워드에 응답할 때 시스템의 기본 응답은 "예, 선생님?"입니다. 다음 프롬프트에서 Y를 선택하여 이를 변경한 다음 "Yes ma'am?"과 같이 원하는 응답을 입력합니다.
완료되면 Return 키를 누릅니다. 결과에 만족하는지 확인하기 위해 시스템에서 응답을 재생합니다.
절차는 시스템이 알 수 없는 명령을 수신했을 때의 기본 메시지와 동일합니다. 기본 응답은 "부적절한 명령 수신"이지만 원하는 경우 Y를 입력한 다음 선택한 응답(예: "알 수 없는 명령")을 입력하여 덜 로봇적인 응답으로 변경할 수 있습니다.
이제 음성 인식 옵션을 설정할 기회가 제공됩니다. 호환되는 마이크가 설치되어 있는지 자동으로 확인합니다. 음성 명령은 다음으로 Pi가 오디오 임계값을 확인하기를 원하는지 묻습니다.
배경 소음이 없는지 확인하고 Y를 누른 다음 Return을 누릅니다. 그런 다음 올바른 오디오 장치가 선택되었는지 확인하기 위해 명령을 말하도록 요청합니다. 프로그램이 사용자에게 적합한 오디오 임계값을 자동으로 결정하므로 Y를 입력하여 선택합니다.
마지막으로 Raspberry Pi는 음성 명령을 활성화하기 위해 기본 키워드("Pi")를 변경할 것인지 묻습니다. Y를 입력한 다음 새 키워드를 입력합니다. 완료되면 Return 키를 누릅니다.
그런 다음 키워드를 말하여 라즈베리 파이가 말하는 목소리에 적응하도록 요청합니다. 이것이 맞다면 Y를 입력하여 설정을 완료하십시오.
음성 명령 소프트웨어를 실행하려면 다음 페이지에 있는 자습서의 6단계를 따르십시오. 몇 가지 간단한 명령으로 시작해 보십시오. (자세한 내용은 기본 음성 명령 상자를 참조하십시오).
익숙해지면 sudo killall voicecommand 명령을 실행하여 프로그램을 종료하고 원하는 경우 구성 파일을 편집합니다.
Voicecommand 소프트웨어가 실행되면 구성 파일을 편집하여 새 명령을 추가하거나 기존 명령을 수정할 수 있습니다.
sudo nano /root/.commands.conf 명령을 실행하여 구성 파일을 봅니다.
보시다시피 대부분의 줄은 # 기호로 시작합니다. 이는 Raspberry Pi가 해당 줄을 무시한다는 의미입니다.
선을 활성화하려면 기호를 삭제하십시오. 예를 들어 음성 인식 소프트웨어를 활성화하는 키워드를 "Pi"에서 "Alexa"로 변경하려면 줄을 #!keyword==pi 에서 -!keyword=alexa로 변경합니다 .
Midori 대신 Firefox 웹 브라우저를 사용하는 경우 ~Internet==midori & 를 ~Internet==firefox-esr & 로 변경할 수도 있습니다 .
소프트웨어는 모든 명령을 실행할 수 있습니다. 예를 들어 "desktop"이라는 단어를 말하여 데스크탑을 열려면 다음 줄을 파일 끝에 추가하십시오: desktop==home/pi/Desktop
예를 들어 notepad==leafpad와 같이 터미널에서 프로그램을 시작할 수도 있습니다.
Raspberry Pi와 대화할 때 응답하기를 원할 수 있습니다. 먼저 터미널을 열고 다음 명령으로 음성 합성 소프트웨어 Festival을 설치하여 이 작업을 수행하십시오.
sudo apt-get 설치 축제
라즈베리 파이가 말하도록 하는 기본 형식은 echo “Your message here” | 축제 -tts
Raspberry Pi가 시스템 정보를 읽도록 할 수도 있습니다. 예를 들어 Raspberry Pi가 날짜와 시간을 알려주도록 하려면 구성 파일에 다음 줄을 추가합니다.
time==echo "시간은" | 축제 --tts &&
날짜 | 축제 -tts
성가신 목소리
음성 인식 소프트웨어는 진행 중인 작업이며 Raspberry Pi는 사용자가 말하는 모든 것을 인식하지 못할 수 있습니다.
기회를 높이려면 USB 마이크 가까이에 있으면서 천천히 또렷하게 말하세요.
여전히 이해하는 데 문제가 있는 경우 Raspberry Pi에서 터미널을 열거나 SSH를 통해 연결하고 alsamixer 명령을 실행하여 사운드 설정을 엽니다.
F4를 눌러 오디오 입력을 선택한 다음 F6을 누릅니다. 화살표 키를 사용하여 USB 장치를 선택한 다음 Return 키를 누릅니다. 이것은 USB 마이크의 볼륨을 제어합니다. 위쪽 화살표를 사용하여 최대값(100)까지 밉니다.
장치가 전혀 감지되지 않으면 Raspberry Pi의 USB 포트가 자체적으로 제공할 수 있는 것보다 더 많은 전력이 필요할 수 있습니다. 이에 대한 최상의 솔루션은 전원이 공급되는 USB 허브를 사용하는 것입니다.
다운로드 프로그램 설치 후 연결 오류가 발생할 경우 현재 계신 곳에서는 PirateBay 웹 사이트에 대한 액세스가 제한될 수 있습니다.
파일을 다운로드하려면 Transmission 프로그램과 같은 Raspberry Pi용 BitTorrent 클라이언트도 필요합니다. 터미널을 열거나 SSH를 통해 Raspberry Pi에 연결하고 sudo apt-get install transmission 명령을 실행하여 이를 설치할 수 있습니다 .
시작 및 클라이언트 사용 방법에 대한 도움말은 Transmission 웹사이트 (새 탭에서 열림) 에서 확인할 수 있습니다 . 말할 필요도 없이 저작권 소유자의 허가를 받은 파일만 다운로드해야 합니다.
Google 음성 명령 또는 Google TTS(텍스트 음성 변환)를 사용하기로 선택한 경우 귀하가 말하는 모든 내용과 제출하는 텍스트 파일은 번역을 위해 Google 서버로 전송됩니다.
Google은 이 데이터를 보유하지 않는다고 주장하지만 믿을 수 있는 경우에도 인터넷을 통해 전송되는 모든 데이터는 잠재적으로 제3자에 의해 가로챌 수 있습니다.
그러나 Google은 이러한 일이 발생할 가능성을 줄이기 위해 연결을 암호화합니다.
음성 명령 기능이 마음에 든다면 Raspberry Pi를 부팅할 때마다 소프트웨어가 자동으로 시작되는 것을 선호할 수 있습니다. 그렇다면 Raspberry Pi에서 터미널을 열거나 SSH를 통해 연결하고 다음 명령을 실행합니다.
sudo nano /etc/rc.local
이렇게 하면 Raspberry Pi가 부팅될 때 시작할 프로세스를 결정하는 파일이 열립니다. 기본적으로 이 스크립트는 아무 작업도 수행하지 않습니다.
화살표 키를 사용하여 파일 맨 아래로 스크롤하고 exit 0 줄 바로 위에 다음을 입력합니다.
sudo voicecommand -c
Ctrl+X, Y, Return을 차례로 눌러 변경 사항을 저장합니다. 이 단계에서 Raspberry Pi를 재부팅하여 제대로 작동하는지 확인하십시오.
Voicecommand가 실행 중인지 확실하지 않은 경우 터미널을 열고 ps -a 명령을 실행하여 실행 중인 프로세스 목록을 표시합니다.
- Raspberry Pi 설정에 가장 적합한 웹캠 찾기