mbrolaで狸囃し

 無料のボーカロイドmbrolaをインストールして、童謡「しょうじょうじのたぬきばやし」を歌わせてみました。

”こい、こい、こい!”の部分で、少し苦労しています。

 


 

#!/bin/bash
# パッケージmbrolaの取得
for package in mbrola
do
success=`
apt list ${ package } |\
 grep インストール済み |\
 wc -l`
if [ ${ success } -eq 0 ]
then
 sudo apt install ${ package }
else
 echo ${ package } はインストール済み
fi
done
# 日本語音声のダウンロード
wget http://tcts.fpms.ac.be/synthesis/mbrola/dba/jp3/jp3.zip
unzip jp3.zip

cat <<+ |\
mbrola jp3/jp3 /dev/stdin -.au | aplay
S    100    0    131
o    400    0    131
S    100    0    165
o    400    0    165
S    100    0    196
o    150    0    196
dZ    100    0    165
o    150    0    165
dZ    100    0    131
i    150    0    131
_    250    
S    100    0    196
o    150    0    196
dZ    100    0    165
o    150    0    165
dZ    100    0    147
i    150    0    147
n    100    0    131
o    150    0    131
n    100    0    147
i    150    0    147
w    100    0    165
a    150    0    165
w    100    0    196
a    150    0    196
_    250    
t    100    0    165
u    400    0    165
t    100    0    196
u    400    0    196
t    100    0    261
u    150    0    261
k    100    0    330
i    150    0    330
j    100    0    293
o    150    0    293
d    100    0    261
a    150    0    261

m    100    0    196
i    275    0    196
n    50    0    196
a    75    0    196
d    100    0    219
e    150    0    219
t    100    0    196
e    100    0    196
k    40    0    261
o    50    0    261
i    100    0    261
_    10
k    40    0    261
o    50    0    261
i    100    0    261
_    10
k    40    0    261
o    50    0    261
i    100    0    261
_    250        
+

 

 

 

データベースをキーワードで検索

まず、下記のテーブルを作成しました。

mysql> select * from keyword;
+-----+--------+
| seq | word   |
+-----+--------+
|   1 | 長野   |
|   2 | 地震   |
+-----+--------+
2 rows in set (0.00 sec)

一応興味があるキーワードのリストと考えています。これを、

select n.seq,title,pubDate,word from nhk_main n join keyword
 where title like concat('%',word,'%')
 and effect=1 order by word,pubDate;

というSQL文で検索すると、

 

+------+----------------------------------------------------------------------------------+---------------------+--------+

| seq  | title                                                           | pubDate         | word   |

+------+----------------------------------------------------------------------------------+---------------------+--------+

|   53 | 調理実習でスイセン食べ食中毒か 14人搬送 長野          | 2017-05-16 18:48:00 | 長野   |
|  844 | 長野 飯山の土砂崩れ 土石流のおそれで住民に避難勧告      | 2017-05-21 11:59:00 | 長野   |
|  852 | マラソン大会で男女7人を搬送 熱中症か 長野              | 2017-05-21 15:38:00 | 長野   |
| 1019 | JR長野駅 トイレで異臭 高校生2人手当て                | 2017-05-22 13:00:00 | 長野   |
| 1106 | 土石流がダム乗り越えたか 避難指示に切り替え 長野 飯山   | 2017-05-22 22:32:00 | 長野   |
| 1238 | 避難指示の土砂崩れ 危険性下がらずと専門家 長野          | 2017-05-23 20:52:00 | 長野   |
| 1660 | JR長野駅近くにイノシシ 男性襲われけが                 | 2017-05-26 08:55:00 | 長野   |
| 1687 | JR長野駅近くで男性襲ったイノシシ 住宅地で捕獲         | 2017-05-26 12:31:00 | 長野   |
| 2386 | 防災ヘリ墜落9人死亡事故で合同追悼式 長野 松本          | 2017-05-30 15:19:00 | 長野   |
| 2784 | 中学教諭が生徒に体罰 母親もけが 長野 白馬村             | 2017-06-01 20:13:00 | 長野   |
+------+----------------------------------------------------------------------------------+---------------------+--------+

|  529 | 熊本地震の災害公営住宅 用地確保は約40%にとどまる     | 2017-05-19 17:01:00 | 地震   |
| 1795 | 南海トラフ地震 地域の危険度に応じた対策を               | 2017-05-27 04:08:00 | 地震   |
| 2057 | 秋田駒ヶ岳火山性地震21回 今後の火山活動に注意       | 2017-05-28 15:35:00 | 地震   |
| 3974 | 熊本地震の発生前 約7割の住民“活断層知らず”           | 2017-06-09 04:17:00 | 地震   |

+------+----------------------------------------------------------------------------------+---------------------+--------+

 

という風に、ここ最近のニュースが表示されます。

キーワードのリストを徐々に増やしてゆけば、どんなニュースが現在ホットなのか分析可能となりそうです。

 

 

嚥下障害 ~冷し汁粉~

水60ccに「さらしあん25g」と「粉砂糖15g」および「塩茶さじ1杯」を混ぜ、だまにならないように良く溶かします。これにとろみ剤大さじ1を加えてミキサーで撹拌しました。

f:id:S_E_Hyphen:20170616111223j:plain

少し塩分が強めでしたが、まずまずの出来だったと思います。

 

f:id:S_E_Hyphen:20170616111405j:plain

口直しの昆布茶です。

水100ccに茶さじ2杯程度の昆布茶を加え、大さじ1杯のとろみ剤とともに撹拌したものです。

 

デジカメのEXIF情報

デジカメで撮影した画像にはEXIF情報というのが盛り込まれてあって、カメラの型番やら撮影時刻なんかが全部読み取れるようになっているそうです。

これらの情報を秘匿するためのシェルスクリプトを作成してみました。

昨日 アジサイの写真の元画像のEXIFは以下の通りでした。

File name    : P6120002.JPG
File size    : 2306002 bytes
File date    : 2017:06:12 11:51:42
Camera make  : OLYMPUS IMAGING CORP.  
Camera model : TG-2            
Date/Time    : 2017:06:12 11:51:42
Resolution   : 3968 x 2232
Flash used   : No (auto)
Focal length :  4.5mm  (35mm equivalent: 25mm)
Exposure time: 0.0031 s  (1/320)
Aperture     : f/2.8
ISO equiv.   : 100
Whitebalance : Auto
Metering Mode: pattern
Exposure     : program (auto)
GPS Latitude : ? ?
GPS Longitude: ? ?
JPEG Quality : 92

作成したシェルスクリプトを実行した本日のアジサイの写真のEXIF

File name    : P6120002_for_upload.jpg
File size    : 48579 bytes
File date    : 2017:06:13 17:11:57
Resolution   : 952 x 536
JPEG Quality : 30

となっています。

f:id:S_E_Hyphen:20170613172543j:plain

 


 

#!/bin/bash
# パッケージとしてimagemagickとjhead
# を使用します
for package in imagemagick jhead
do
success=`
apt list ${ package } |\
 grep インストール済み |\
 wc -l`
if [ ${ success } -eq 0 ]
then
 sudo apt install ${ package }
else
 echo ${ package } はインストール済み
fi
done

# 300dpiを72dpi(24%)に間引きます
# ついでに画質も落としておきます
file=`basename $1 .JPG`
convert -geometry 24% -quality 30 ${ file }.jpg ${ file }_for_upload.jpg
jhead -purejpg ${ file }_for_upload.jpg

 

GMT ver.5 を使ってドルチャート描画

まず下記のようなデータベースを準備しておきます。

 

mysql> select updateDate,y2d,d2y from dollar\

     where "2017-6-5"<updateDate order by updateDate limit 10;
+---------------------+--------+--------+
| updateDate          | y2d    | d2y    |
+---------------------+--------+--------+
| 2017-06-05 06:20:00 | 110.79 | 110.29 |
| 2017-06-05 06:30:00 | 110.81 | 110.31 |
| 2017-06-05 06:50:00 |  110.7 |  110.2 |
| 2017-06-05 07:00:00 | 110.73 | 110.23 |
| 2017-06-05 07:10:00 | 110.71 | 110.21 |
| 2017-06-05 07:20:00 | 110.78 | 110.28 |
| 2017-06-05 07:30:00 | 110.83 | 110.33 |
| 2017-06-05 07:40:00 | 110.78 | 110.28 |
| 2017-06-05 07:50:00 | 110.81 | 110.31 |
| 2017-06-05 08:00:00 | 110.76 | 110.26 |
+---------------------+--------+--------+
10 rows in set (0.11 sec)

 

データベース準備にあたって、RSSの取得やxmlの取り扱いについては、 RSSの取得 - あるStray Engineer の日記xmlのmysqlへの登録 - あるStray Engineer の日記 も参考にしてみて下さい。

このデータベースから所望の期間の検索を行ってグラフを描画するスクリプトを作成しました。

f:id:S_E_Hyphen:20170611103229j:plain

今週では6月7日が比較的円高だったみたいですね。同時に金の価格も高かったようです。

 

 


 

#/bin/bash
# 一時ファイル$tempの作成
temp=`mktemp ./XXXX.tmp`
psfile=/home/user/nhk/金ドル.ps

# ドル-円チャートの最大最小値の定義
min_y=105
max_y=115
# 金価格チャートの最大最小値の定義
min_g=4800
max_g=4900

# $dateには現在日時をMYSQLに適した書式で取得
date=`date +'%Y-%m-%d %H:%M:%S'`

# 7日前から現在までのドル価格を検索
if [ ! -z $temp ]
then
mysql life_log -N << _MYSQL_ > $temp
 select updateDate,y2d,d2y from dollar
  where "$date" - interval 7 day<=updateDate
  and updateDate <="$date"
  order by updateDate;
_MYSQL_
fi

# GMT ver.5ではgmtのコマンドは必ずgmtから始まります
# 日本語フォントなどの設定を行っています
gmt gmtset FORMAT_DATE_MAP yy-mm-dd
gmt gmtset FONT_TITLE 12p,GothicBBB-Medium-UniJIS-UTF8-H
gmt gmtset FONT_LABEL 8p,GothicBBB-Medium-UniJIS-UTF8-H
gmt gmtset FONT_ANNOT_PRIMARY 8p,GothicBBB-Medium-UniJIS-UTF8-H

date1=`date -d "$date 6 days ago" +'%Y-%m-%d'`
date2=`date -d "$date 1 days" +'%Y-%m-%d'`
# 軸の設定です
# -JオプションでX軸にTが入っているのは時間軸を示す
# -Rオプションはver.4と変わりないみたいです
# -Bオプションは大きく変わってます。
#  まず図のタイトルを+t"タイトル"で定義してます。
#  ver.4ではX軸/Y軸でしたが、
#  -Bx+l"X軸ラベル" -By+l"Y軸ラベル"
#    と定義するようになりました。
gmt psbasemap -JX25cT/3c \
 -R"$date1"T00:00:00/"$date2"T00:00:00/${ min_y }/${ max_y } \
 -BWESn+t"最近1週間の円/ドル換算レート" \
 -Bxa1Df1D+l"年-月-日" \
 -Bya5g1 \
 -K -Y15c > $psfile
# ドルを買う際の円の値段をグラフ化しています(赤線)。
# psxyの-Wオプションも変わってますね。
# ver.4では -W1/255/0/0でしたが、-W1p,255/0/0に
# なってます。この後ろに線種(破線とか点線とか)
# の指定もできるようです。
cat $temp |\
 awk -v min="$min_y" -v max="$max_y"\
 '$3<min{printf "%sT%s %s\n",$1,$2,min;next}\
  $3>max{printf "%sT%s %s\n",$1,$2,max;next}\
        {printf "%sT%s %s\n",$1,$2,$3}' |\
 gmt psxy -J -R -B -O -K -W1p,255/0/0 >> $psfile
# ドルを売る際の円の値段をグラフ化しています(青線)。
cat $temp |\
 awk -v min="$min_y" -v max="$max_y"\
 '$4<min{printf "%sT%s %s\n",$1,$2,min;next}\
  $4>max{printf "%sT%s %s\n",$1,$2,max;next}\
        {printf "%sT%s %s\n",$1,$2,$4}' |\
 gmt psxy -J -R -B -O -K -W1p,0/0/255 >> $psfile
# pslegendはver.4でもあまり使ったことがないのですが、
# 相当変わったと思います。大体オプションの最中で+とか
# 聞いたことないし…。
gmt pslegend -R -J -DJ${ date2 }/${ max_y }+w2.5+jTR \
 -F+gwhite+i0.1c/1p -K -O << END >> $psfile
N 1
S 0.2c s 0.5c 0/0/255 0.25p 0.6c ドル→円
S 0.2c s 0.5c 255/0/0 0.25p 0.6c 円→ドル
END

#############################
# ここからは金チャートです  #
#############################

# 7日前から現在までの金価格を検索
if [ ! -z $temp ]
then
mysql life_log -N << _MYSQL_ > $temp
 select insertDate,title from gold
  where "$date" - interval 7 day<=insertDate
  and insertDate <="$date"
  and effect=1
  order by insertDate;
_MYSQL_
fi

# 軸の設定です。ドル-円チャートと大体同じです。
gmt psbasemap -JX25cT/3c \
 -R"$date1"T00:00:00/"$date2"T00:00:00/${ min_g }/${ max_g } \
 -BWESn+t"最近1週間の金価格" \
 -Bxa1Df1D+l"年-月-日" \
 -Bya50g10 \
 -K -O -Y-7c >> $psfile

# 金価格を黒丸で表示します。
cat $temp |\
 sed -e "s/金//g" |\
 sed -e "s/円.*$//g" |\
 sed -e "s/,//g" |\
 awk -v min="$min_g" -v max="$max_g" \
 '$3<min{printf "%sT%s %s\n",$1,$2,min;next} \
  $3>max{printf "%sT%s %s\n",$1,$2,max;next} \
        {printf "%sT%s %s\n",$1,$2,$3}' |\
 gmt psxy -J -R -B -O -Sc0.3 -G0/0/0 >> $psfile

#一時ファイルを消去して画像ファイルを変換します。
rm $temp
convert -density 200 -quality 30\
 $psfile `echo $psfile|sed -e "s/.ps/.jpg/g"`

 

 

嚥下障害~フルーツカクテル~

左からパイナップル、黄桃、赤肉メロン、メロン、びわ、です。

パイナップルは前回(http://s-e-hyphen.hatenadiary.jp/entry/2017/06/04/151720)を参考にして下さい。

桃は缶詰を使用しました。シロップも適当に混ぜてます。原形と余り味が変わらないのが良いですね。

赤肉メロンは結構甘味が強いのですが、普通のメロンは薄味でした。買ったのが偶々そうだったのかも知れません。少し梅酢で塩味と酸味を加えてやると、結構美味しくなった気がします。スイカよりはベターかも知れません。

びわは...。酸化して結構色が変わってしまいましたね。一番高かったのに(+_+)

 

f:id:S_E_Hyphen:20170610102224j:plain

 

それぞれ水分や氷で100gに調整して、とろみ剤大さじ一杯を加えてミキサーに掛けました。