지정된 사용자의 트윗을 말하는 Raspberry Pi를 만드는 방법
9507 단어 트위터파이썬RaspberryPi
소개
제3회 연구실내 해커슨이 행해졌습니다. 다른 회원의 기사 1, 기사 2
이번에는 트윗을 말하는 Raspberry Pi를 만들기로 결정했습니다.
작성 동기는, 이전 라즈파이의 초기 설정을 처음 실시했을 때에 참고로 했다. 그것을 읽었을 때, 연구실에 있는 트위 폐의 트윗을 말하는 라즈파이를 언젠가 만들고 싶다고 느꼈기 때문입니다.
이번에 참고했다 기사
준비한 것
스피커 확인
스피커 소리 확인
$ speaker-test -t wav
Ctr + C
로 소리를 멈출 수 있습니다.
이때 HDMI로 연결된 디스플레이에서 소리가 나서 이어폰(가상 스피커)에서 소리를 내기 위해
$ amixer cset numid=3 1
를 입력하면 HDMI 출력에서 아날로그 출력으로 변환할 수 있어 스피커에서 소리를 흘릴 수 있습니다.
볼륨 조절
$ alsamixer
OpenJtalk(음성 합성 소프트웨어) 설치
OpenJtalk란?
$ speaker-test -t wav
$ amixer cset numid=3 1
$ alsamixer
OpenJtalk란?
### OpenJtalk · 사전 음성 데이터 설치
$ sudo apt-get update
$ sudo apt-get install open-jtalk
$ sudo apt-get install open-jtalk-mecab-naist-jdic
$ sudo apt-get install htsengine libhtsengine-dev
$ sudo apt-get install hts-voice-nitech-jp-atr503-m001
도중에 "계속하시겠습니까 [Y/n]?"라는 메시지가 표시되면 "Y"를 입력하고 "Enter"키를 눌러 설치를 계속합니다.
jtalk.sh 만들기
그런 다음 OpenJtalk를 실행하는 스크립트를 작성합니다.
jtalk.sh
#!/bin/sh
tmpfile=/tmp/jtalk.wav
htsvoice="/usr/share/hts-voice/\
nitech-jp-atr503-m001/\
nitech_jp_atr503_m001.htsvoice"
echo "$1" | open_jtalk \
-x /var/lib/mecab/dic/open-jtalk/naist-jdic \
-m $htsvoice \
-ow $tmpfile && \
aplay --quiet $tmpfile
rm $tmpfile
작성한 스크립트에 실행 권한을 부여합니다.
$ chmod 755 jtalk.sh
명령줄에서 다음 테스트
$ ./jtalk.sh こんにちは
스피커에서 "안녕하세요"라고 들리면 OK!
Twitter API 액세스 토큰 얻기
아래 URL에서 Twitter에 로그인합니다.
기사
1. Create an Apps를 클릭합니다.
2. 필요한 항목을 입력(적당하고 괜찮다)
htps : // 아 ps. 라고 r. 코m/
3. "create"를 클릭하고 작성한 APP의 "Details"를 클릭합니다.
4. Keys and tokens 탭을 선택하고 Access token & access token secret 에서 Generate 버튼을 클릭합니다.
5. 표시된 "API key", "API secret key", "Access token", "Access token secret"의 4개를 메모해 둔다
파이썬 프로그램 만들기
파이썬 설정
# 仮想環境の作成
$ sudo apt-get install python3-dev python3-venv
$ python3 -m venv env
$ cd env
$ source bin/activate
tweepy 설치
(env) $ python -m pip install tweepy
teitter.py 만들기
#-*- coding:utf-8 -*-
import tweepy
import os
# 各種キーをセット
CONSUMER_KEY = 'xxxxxxxxxxxxxxx'
CONSUMER_SECRET = 'xxxxxxxxxxxxxxxxxxxxxxx'
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
ACCESS_TOKEN = 'xxxxxxxxxxxxxxxxxxxx'
ACCESS_SECRET = 'xxxxxxxxxxxxxxxxxxxxxxxxxx'
auth.set_access_token(ACCESS_TOKEN, ACCESS_SECRET)
#APIインスタンスを作成
api = tweepy.API(auth)
print('Done!') #準備完了
# つぶやきを取得
for status in tweepy.Cursor(api.user_timeline,screen_name = "取得したユーザーのID",exclude_replies = True).items():
tw_text = status.text
tw_text = ''.join(tw_text.splitlines())
tw_text = tw_text.replace('(',' ').replace(')',' ').replace(' ','')
print(tw_text)
os.system('/home/pi/jtalk.sh ' + tw_text)
break #とりあえず最新のつぶやきのみ
실제로 움직인다!
아래 코드를 치다
(env) $ python twitter.py
지정한 사용자의 최신 트윗을 남성의 목소리로 말했습니다!
(열쇠에서도, 자신이 팔로우하고 있으면 말해 주었습니다)
결론
이번 해커슨에서 지정한 유저의 최신 트윗을 라즈파이에 말하는 것에 성공했으므로, 지정한 유저가 트윗하면 그것을 말할 수 있도록 개량을 더해 가고 싶습니다!
읽어 주셔서 감사합니다!
Reference
이 문제에 관하여(지정된 사용자의 트윗을 말하는 Raspberry Pi를 만드는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/hayashi1989/items/dabd1a4f7b747ef7c4e1
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
파이썬 설정
# 仮想環境の作成
$ sudo apt-get install python3-dev python3-venv
$ python3 -m venv env
$ cd env
$ source bin/activate
tweepy 설치
(env) $ python -m pip install tweepy
teitter.py 만들기
#-*- coding:utf-8 -*-
import tweepy
import os
# 各種キーをセット
CONSUMER_KEY = 'xxxxxxxxxxxxxxx'
CONSUMER_SECRET = 'xxxxxxxxxxxxxxxxxxxxxxx'
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
ACCESS_TOKEN = 'xxxxxxxxxxxxxxxxxxxx'
ACCESS_SECRET = 'xxxxxxxxxxxxxxxxxxxxxxxxxx'
auth.set_access_token(ACCESS_TOKEN, ACCESS_SECRET)
#APIインスタンスを作成
api = tweepy.API(auth)
print('Done!') #準備完了
# つぶやきを取得
for status in tweepy.Cursor(api.user_timeline,screen_name = "取得したユーザーのID",exclude_replies = True).items():
tw_text = status.text
tw_text = ''.join(tw_text.splitlines())
tw_text = tw_text.replace('(',' ').replace(')',' ').replace(' ','')
print(tw_text)
os.system('/home/pi/jtalk.sh ' + tw_text)
break #とりあえず最新のつぶやきのみ
실제로 움직인다!
아래 코드를 치다
(env) $ python twitter.py
지정한 사용자의 최신 트윗을 남성의 목소리로 말했습니다!
(열쇠에서도, 자신이 팔로우하고 있으면 말해 주었습니다)
결론
이번 해커슨에서 지정한 유저의 최신 트윗을 라즈파이에 말하는 것에 성공했으므로, 지정한 유저가 트윗하면 그것을 말할 수 있도록 개량을 더해 가고 싶습니다!
읽어 주셔서 감사합니다!
Reference
이 문제에 관하여(지정된 사용자의 트윗을 말하는 Raspberry Pi를 만드는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/hayashi1989/items/dabd1a4f7b747ef7c4e1
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
(env) $ python twitter.py
이번 해커슨에서 지정한 유저의 최신 트윗을 라즈파이에 말하는 것에 성공했으므로, 지정한 유저가 트윗하면 그것을 말할 수 있도록 개량을 더해 가고 싶습니다!
읽어 주셔서 감사합니다!
Reference
이 문제에 관하여(지정된 사용자의 트윗을 말하는 Raspberry Pi를 만드는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hayashi1989/items/dabd1a4f7b747ef7c4e1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)