Le 3ème hackathon laboratoire a eu lieu. Autres membres Article 1, Article 2 Cette fois, j'ai décidé de faire un Raspberry Pi qui parle des tweets. Quant au motif de sa création, l 'article auquel j'ai fait référence lorsque j'ai effectué les réglages initiaux de Razupai pour la première fois décrit Razupai qui parle fort. .. Quand je l'ai lu, j'ai senti que j'aimerais faire une tarte au razz qui parle un jour des tweets de ** Tsui Abolition ** dans le laboratoire. Cette fois, j'ai fait référence à ** Article **
--Raspberry Pi 2 + dongle WiFi --MicroSD avec Raspbian installé --Adaptateur secteur
$ speaker-test -t wav
Vous pouvez arrêter le son avec Ctr + C
.
À ce moment, le son sortait de l'écran connecté par HDMI, afin de produire du son à partir de l'écouteur (haut-parleur virtuel)
$ amixer cset numid=3 1
Vous pouvez convertir la sortie HDMI en sortie analogique en entrant et vous pouvez lire le son du haut-parleur.
$ alsamixer
--Moteur de synthèse vocale open source
$ 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
Si le message "Voulez-vous continuer [O / n]?" S'affiche en chemin, tapez "Y" et appuyez sur la touche "Entrée" pour continuer l'installation.
Ensuite, nous allons créer un script pour exécuter 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
Donnez l'autorisation d'exécution au script créé.
$ chmod 755 jtalk.sh
Testez les éléments suivants sur la ligne de commande
$ ./jtalk.sh bonjour
Si vous entendez du haut-parleur comme "Bonjour" OK!
Connectez-vous à Twitter à partir de l'URL ci-dessous. https://apps.twitter.com/
paramètres python
#Créer un environnement virtuel
$ sudo apt-get install python3-dev python3-venv
$ python3 -m venv env
$ cd env
$ source bin/activate
Installez tweepy
(env) $ python -m pip install tweepy
#-*- coding:utf-8 -*-
import tweepy
import os
#Définir diverses clés
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)
#Créer une instance d'API
api = tweepy.API(auth)
print('Done!') #Prêt
#Recevoir des tweets
for status in tweepy.Cursor(api.user_timeline,screen_name = "ID de l'utilisateur acquis",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 #Pour le moment, seuls les derniers tweets
Tapez le code suivant
(env) $ python twitter.py
Le dernier tweet de l'utilisateur spécifié a été prononcé d'une voix masculine! (Même si c'est une clé, il a parlé s'il me suivait)
Nous avons réussi à faire prononcer à Razpai les derniers tweets de l'utilisateur spécifié dans ce hackathon, je voudrais donc apporter des améliorations afin que l'utilisateur spécifié puisse parler lorsqu'il tweet!
Merci pour la lecture!
Recommended Posts