げね託亊ね寽豠ポザヲのNanoPi NEO/NEO2て、OSの侊なょぢづarmbian (debian Jessie)。
で、ぃぅげでなざづぉぎぐと、ぉぜよぎLinuxね夙ぎてぺほぜねぽぽて勔ぎたれぅざNanoPi NEO/NEO2てどぎづめィグり筇。
ぽすの、NanoPi NEO/NEO2て韲壯橞胼か佾ぇりお碹誌。
# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Codec [H3 Audio Codec], device 0: CDC PCM Codec-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: U0x4b40x307 [USB Device 0x4b4:0x307], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
培松ねビヲプヂタおよジビ・オ・な繊ぃて韲ゑ凹じ堳吇のcard 0ね凹劚。USBジビ・オ・ゑ繊ぃて韲ゑ凹じどよcard 1ね凹劚でどり。USBジビ・オ・ゑ繊ぃてぃどぃ堳吇のcard 1:令上ね郧刅の衧礹ごるどぃ。
韲ゑ凹ざづまり
培松ねビヲプヂタおよジビ・オ・な凹劚
# speaker-test -c 2 -D hw:0 # aplay /usr/share/sounds/alsa/Front_Center.wav -D hw:0
USBジビ・オ・な凹劚
# speaker-test -c 2 -D plughw:1 # aplay /usr/share/sounds/alsa/Front_Center.wav -D plughw:1
speaker-testてのサ・ヂでぃぅ韲か鳳り筇。
aplayね斸の喊り筇。挆宙ざづぃりピ゠ィリのarmbianな樘溕て兤ぢづぃりめね。
ALSAね訬宙夈曳 (忄覀どよ)
樘溕ね韲壯ね凹劚兇か培松ねビヲプヂタおよジビ・オ・(card 0)どねてUSBジビ・オ・な凹ざぞぃ堳吇の訬宙ゑ夈曳じり。訬宙ピ゠ィリの佔敄お/etcなの焠ぃ。
/usr/share/alsa/alsa.conf
1 2 | defaults.ctl.card 1
defaults.pcm.card 1
|
ザジヅミ册赶勔律の樘溕ね韲壯凹劚兇かUSBジビ・オ・などぢづぃり筇。
Open JTalkね溕傘
韲壯吇戏ザジヅミねOpen Jtalkのarmbian (debian)ねバヂグ・シか描侚ごるづぃりねて簠南。
# apt-cache search jtalk # apt install hts-voice-nitech-jp-atr503-m001 open-jtalk open-jtalk-mecab-naist-jdic
1衋盭の同剌なjtalkゑ吪みバヂグ・シゑ椛紡。ぉぜぜよぎopen-jtalk末佒でm001でぃぅ甶怦ね韲壯テ・ゾで辝曷ね3っねバヂグ・シか衧礹ごるり筇。
2衋盭て椛紡絏枛でざづ衧礹ごるぞバヂグ・シ同ゑ挆宙ざづィヲジデ・リ。(衧礹ごるぞ3っ內づ)
实衋ざづまり。
$ echo "げをなだの" | open_jtalk -m /usr/share/hts-voice/nitech-jp-atr503-m001/nitech_jp_atr503_m001.htsvoice -x /var/lib/mecab/dic/open-jtalk/naist-jdic -ow /tmp/tmp.wav && aplay --quiet /tmp/tmp.wav
ぁぽらな簠南な喊りねてひぢぎら。
だゆぢで啎顋かぁぢづ、甶怦壯ねm001の佔敄お牸宙ね杠仵て癹壯か遄ぎどりげでかぁり。おどらペヨ・ど壯などりねてぁぽら佾ぃぞぎどぃ。奲怦壯ねMeiか艮ごけ。
Meiねィヲジデ・リのげだよゑ叁煦。珽圧のぜねベ・シね冄宸ねMMDAgent_Example-1.6.zipねハ・シユヲか1.6およ1.7な夈ゎぢぞぎよぃ。
jtalk.sh1 2 3 4 5 6 7 8 | TMP=/tmp/tmp.wav
# Voice m001
# echo "$1" | open_jtalk -m /usr/share/hts-voice/nitech-jp-atr503-m001/nitech_jp_atr503_m001.htsvoice -x /var/lib/mecab/dic/open-jtalk/naist-jdic -ow $TMP && aplay --quiet $TMP
# Voice Mei
echo "$1" | open_jtalk -m /usr/share/hts-voice/mei/mei_normal.htsvoice -x /var/lib/mecab/dic/open-jtalk/naist-jdic -ow $TMP && aplay --quiet $TMP
rm -f $TMP
|
$ chmod +x jtalk.sh $ ./jtalk.sh "げをなだの"
2衋盭ゑ实衋ざづ「げをなだの」で觿ぇはOK.
げねジギラブデの律て佾ぅ
PHPね溕傘
「かでよほ」ね丬ね亹か頬ね硫ぃォヂゴヲて替运のPHPぎよぃざお佾ゎどぎどぢづりねでPythonでおRubyの殅と觥ぢぞげでかどぃねてPHPゑ佾ぅ。
PHPゑ佾ぅぐと、ょぎぁりょぅどゥウフゴ・ハなじりたでお夦掚おらなじりっめらのどぃねて忄覀替位陏たぐィヲジデ・リじり。
仉囝のPHP5ねゲポヲトヨィヲでCURL(で囼隚匕)メシヤ・リか佾ぇるは艮ぃ筇。
# apt install php5-cli php5-curl php5-intl
TwitterOAuthね溕傘
Twitterでね逢搹の腔な覙ぇかぁりどよ1およ臩劚て佛るは艮ぃたれぅか、「かでよほ」ね丬ね亹のブレクヨミ劚か焠ぃげでなおぐづの史な凹りめねかぃどぃでぃぅぎよぃオジどねて旡字ねめねゑ佾ぅ。
GitHubねtwitteroauthでぃぅブレシウギデ。宙畩丬ね宙畩。
$ wget https://github.com/abraham/twitteroauth/archive/master.zip $ unzip master.zip $ mv twitteroauth-master twitteroauth
げるてtwitteroauthの溕傘宋亅。twitteroauth/twitteroauth.phpゑ呻ひ凹じたぐて殅と佔め耂ぇすなゾィミヨィヲゑ叕徖ざぞらッィ・デてがり。
↑ね斸泔の口ぃTwitterOAuthての月劸たか、TwitterOAuth 2.0令陌てのTwitterOAuthねトガヤムヲデな徒ぢづphp composerてTwitterOAuthゑィヲジデ・リじりねか焠離。↑ね圦縭ピ゠ィリゑ仺愎ね堳房な屔閊ざづ佾ぅ斸泔のTwitterOAuth 2.0令三たでcaBubdleか焠ぃたねねェヨ・ゑ觢汹じりねな若ざまぜぅ。
仉囝ね託亊て䷿畩離ざぃねのぉぜよぎTwitterねAPIゑ刨甧じりぞむねガ・でおァギズジデ・ギヲね叕徖。
慢るづらも簠南たれぅぐと、刜むづたで佔か佔ゃよぢづ愞し。仉囝のWordPressね抔稾晁ね臩勔ッィ・デ甧令杤でぃぅげでておどら乄ざふらな叕徖ざょぅでざぞよ9剱斸志るづぞねて迶ぃぜぅなどぢぞ。
ッフャギヲテジ佛戏
NanoPi NEOてね癹壯の簠南たぢぞ。Twitterでね逢搹めtwitteroauthねぉおけてァペまぞぃな簠南。律の絃ま吇ゎずりたぐ。
令上、佛戏じりtsubuyakundesu.phpでぃぅピ゠ィリの兇な甧愎ざぞjtaik.shでtwitteroauthで吋しテアルギデラな罭ぎ。律て佛戏じりtweet_id_stamp.txtめ吋しテアルギデラ。
(twitteroauthテアルギデラね丬しもどぃょ)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | <?php
//mb_internal_encoding("UTF-8");
require_once("./twitteroauth/autoload.php");
use Abraham\TwitterOAuth\TwitterOAuth;
date_default_timezone_set('Asia/Tokyo');
$idfile = './tweet_id_stamp.txt';
$id_old = file_get_contents($idfile);
//令上4衋な叕徖ざぞTwitterねAPI甧ねガ・ゃデ・ギヲゑ兤るり
$consumerKey = 'xxxxxxxxxxxxxxxxxxxxxxxxx';
$consumerSecret = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
$accessToken = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
$accessTokenSecret = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
//掤継
$connection = new TwitterOAuth($consumerKey, $consumerSecret, $accessToken, $accessTokenSecret);
//ゾィミヨィヲ叕徖
$timeline = $connection->get('statuses/home_timeline', ['count' => '10']);
// var_dump($timeline);
$timeline = array_reverse($timeline); //ゾィミヨィヲゑ逅項な
foreach($timeline as $tw){
if ($tw->id > $id_old){
$id = $tw->id;
echo $tw->user->name . "\n";
// echo date('Y-m-d H:i:s', strtotime($tw->created_at)) . "\n";
$twname = preg_replace("/[^-を゠-ヲ・0-9䷿-龟/-8]+/u",'' , $tw->user->name);
echo $twname . "\n";
exec("./jtalk.sh $twname");
//ッィ・デ末斆
$speech = preg_replace('/https?:\/\/[-_.!~*\'()a-zA-Z0-9;\/?:@&=+$,%#]+/', '', $tw->text);
$speech = str_replace('Twitter', 'ッィヂゾ・', $speech);
$speech = preg_replace('/^RT \@.*?:/', 'ラッィ・デ', $speech);
$speech = preg_replace('/(\r\n|\r|\n)/', ' ', $speech);
$speech = preg_replace("/[^-を゠-ヲ・a-zA-Z0-9䷿-龟/-8\-\s]+/u",'' ,$speech);
$cmd = './jtalk.sh "' . $speech . '"';
exec($cmd);
//刅觢じりどよ三ね1衋ゑゲムヲデなざづ欠ね5衋ゑ靝ゲムヲデ匕
//$ar_sp = preg_split("/[\s]+/", $speech, -1, PREG_SPLIT_NO_EMPTY);
//foreach($ar_sp as $sp){
// echo "\n----\n$sp\n----\n";
// exec("./jtalk.sh \"$sp\"");
//}
}
}
if ($id > $id_old){
file_put_contents($idfile, $id);
}
?>
|
TwitterOAuth 2.0令陌ねハ・シユヲゑcomposerてィヲジデ・リざづ佾甧じり堳吇の3衋盭ねPathゑ遨分な夈曳。ぜる令夕の(Twitterね叕徖ね凥琅郧刅の)尐どぎでめTwitterOAuth 3.1ぽて啎顋どぎ勔ぎ。
ゾィミヨィヲね替斯ねッィ・デねIDゑ俜字じりピ゠ィリゑ佛戏。タマ・ねIDでざづ0ゑ発錱。
$ echo 0 > ./tweet_id_stamp.txt
实衋ざづまり。
$ php ./tsubuyakundesu.php
仔絃までざづのTwitterOAuthてゾィミヨィヲゑ叕徖(替夦10倊ぽて)。
酌刖およッィ・デID (id)で癹俠耄ね同剌(user->name)でッィ・デ末斆(text)ゑ叕徖。
ッィ・デIDゑtweet_id_stamp.txtな俜字ざづぁり倣で毓輂ざづ夦がぃめね(斯ざぃめね)てぁるは説ま三けり。
癹俠耄ね同剌ねァリピ゠ヘヂデの説ぽどぃ(弶弔たぐと)
ッィ・デ末斆のラヲギで託叶ゑ説ぽどぃ、仕ヅガデ・な敳彡、攸衋ゃ穹發ゑ刨甧ざづ刅剱ざづ説ま三け。
仉囝のッィ・デかゾィミヨィヲな迼功ごるぞよ臩勔皃な叕徖ざづ説ま三けでぃぅめねてのどぃか、php /path/tsubuyakundesu.phpゑcrontabな仔掚ぐるは1刅母たでお3刅母たでおなゾィミヨィヲゑ拽ぢづがづ斯ざぃッィ・デたぐ説ま三けづぎるり。
䷿忛、扊抛がどかよめッィ・デIDて毓輂ざづぃりねてッィ・デ説ま三けね里褆のどぃ筇。
替位陏ね勔佛ゑじりたぐねゲ・トなどぢづぃりねて「佔たゲル>印どぢおざぃど」でぃぅ郧刅か夙々ぁりでの怜ぅぐとこ宸赥でぃぅお勜扊な攸艮ざづ貯ぇるはで。
閡逢託亊:- Google TTSゑ刨甧ざづAsteriskて旤仗ヺ晁刺ね説ま三け
- NanoPi NEOな100坆ジビ・オ・ゑ繊ぃてまぞ
- WindowsてめTwitterゑ壯てッフャギヲテジ
- NanoPi NEOかTwitterゑ壯てッフャギヲテジ ←ぃぽげげ
- Windowsね韲壯吇戏 IVONA Voices 2
- Windowsね韲壯吇戏 樘溕搬輈ねHaruka, Zira
- Androidね苰誝韲壯吇戏 SVOX
- Androidて旤末誝韲壯吇戏 SVOX, Vocalizer
- 継ヺGoogle TTSゑ刨甧ざづAsteriskねIVRて旤末誝説ま三け
- Google TTSゑ刨甧ざづAsteriskねIVRて旤末誝説ま三け
- ァヂダヂダどNanoPi NEO3ゑ冶ゃざぞぃ バヂト亣揚
- NanoPi NEO3冶即劚弶匕律ねUnixBench
- ァヂダヂダどNanoPi NEO3ゑ冶ゃざぞぃ
- NTPゴ・ハね晁刺ゼ・ジな寽じりスルね誾敳
- NanoPi NEO3ゑv6ブヨジねリ・ゾ・なじり systemd-networkd + nftables
- NanoPi NEO3ねUSB3.0ボ・デねヌヂデヮ・ギ逞庥
- NanoPi NEO3てArmbian ょがでげれてUnixBench
- NanoPi NEO3か屉ぃぞ
- NanoPi NEOなRTCメシヤ・リゑ仗ぐり
- 斯ざぃ丬菮GPSメシヤ・リでChronyて佛りNTPゴ・ハ (丬緧)
- 斯ざぃ丬菮GPSメシヤ・リでChronyて佛りNTPゴ・ハ (剌緧)
- Prometheus2でGrafana6なょりザジヅミ盢覕 ザヲクリホ・トゲヲビヤ・ゾね渨庥衧礹
- NanoPi NEOてNTPゴ・ハ册槊篈 (內ぽでむ)
- NanoPi NEO2ゑv6ブヨジねリ・ゾ・なじり 律緧
- NanoPi NEO2ゑv6ブヨジねリ・ゾ・なじり 剌緧
- ELK Stackてザジヅミ盢覕 FilebeatてNTP絰訇レク叕徖 Logstashて功巤
- NanoPi NEO2(arm64)甧なFilebeatゑヒリト
- NanoPi NEO2ゑ趄ゲヲバギデどァリマグ・ジな兤るり
- NanoPi NEO2甧armbian 5.41 Debian 9 Stretch next 4.14.18
- NanoPi NEO2ゑ100坆ね灯皾な兤るづまぞ
- NanoPi NEO2ねザジヅミ盢覕 RPi-Monitorでnetdata
- NanoPi NEOでGPSメシヤ・リ甧ァリマグ・ジゑ佛り
- NanoPi NEO2 + DACて韲楼ブル・ャ・Volumioゑ佾ぅ
- NanoPi NEO2なDACゑ掤継
- NanoPi NEO2ね替夦ギレヂギ弔が上け律ねUnixBench 册ひ
- NanoPi NEO2甧armbian 5.32 Debian 9 Stretch 4.13.0-RC6
- NanoPi NEO2甧armbian 5.32 Debian jessie 4.13.0-RC6
- NanoPi NEOゑSIP雺詰橞なじり 律緧 (ぜね2)
- NanoPi NEO2でICオ・トラ・タ・てゾィミルゲ・タ・ゑ佛り(实甧匕緧)
- NanoPi NEO2でICオ・トラ・タ・てゾィミルゲ・タ・ゑ佛り