ゼータの鼓動

ゼータです。情報Gackt,ガノタ,オーディオ,酒

本日の1曲BotでVisual Rock布教活動

 
こんにちは

こんにちは

Visual Rockが好き

私zetaはVisual Rockと呼ばれる音楽のジャンルが好きです。いわゆるヴィジュアル系と呼ばれるやつです。去年の10月のVISUAL JAPAN SUMMITの3日目にも参戦しました。

Visual Rockの中でも特に90年台に活躍したバンドの曲が好きで、X JAPANLUNA SEABUCK-TICKといったバンドの曲を普段から聴いています。

Visual Rockは音を通して世界観を放ってくる強い魅力があります。

布教したい

この私の趣味を人々に布教したいと考え、サークルのSlackに #visual-rock というチャンネルを作りました。

そこで毎日本日に1曲を

f:id:MSZ006AEUG:20170422144033p:plain

このような具合に手書きで投稿していました。

 

人間が手書きで投稿していると以下のような問題が生じます。

・忘れる

・飽きる

・めんどくさくなる

これらのような問題が生じた結果サービスがそのうち終了してしまうということは想像に難くありませんね。

というわけで、

自動化したい

我々人間は問題を抱えていますが、我々はコンピュータを持っています。コンピュータを持っている我々は自動化という手段を講じることができるのです。

ざっくりした設計

自動で本日の1曲を投稿するBotを作るにあたってざっくりとした設計というかデータフローみたいなものを考えました。

・音楽再生アプリから楽曲一覧を取得

・一曲ランダムで選択して情報取得

・Slackに投稿

こんな具合です。言語はPythonを使いました。理由は楽そうだったから。

楽曲一覧を入手

私は普段音楽再生はDSDネイティブで再生可能なfoobar2000を使用しているのですが、foobarのAPIとかややこしそうという偏見があったのと、Visual Rockの曲だけを取り扱いたいという方針があったので普段使っていないiTunesから楽曲情報を取得する方針にしました。

 

iTunesから楽曲一覧を取得する方法ですが、

minus9d.hatenablog.com

こちらを参考にさせていただきました。

 

まず、iTunes Music Library.xml を探しましたが見つかりません。 

iTunes ライブラリファイルについて - Apple サポート

これを見るとiTunes12.2からは自動でこのxmlを出力しないようになっているらしいです。設定を変更して無事xmlをゲット。

以下さっきのページの通りに楽曲情報リストを作成します。楽曲リストのsong_info_listができました。

ランダムに1曲選ぶ
import random
TodaysSong = random.choice(song_info_list)

こんな具合にランダムに1曲選びます。

SongTitle = TodaysSong["Name"]
ArtistName = TodaysSong["Artist"]
AlbumTitle = TodaysSong["Album"]
SongYear = TodaysSong["Year"]

Slackに投稿するときに必要な情報を格納。

Slackに投稿

テスト投稿用にSlackの #zeta-fortress にIncoming-webhookを設定します。

PythonでSlackに投稿する - Qiita

ここを参考に。

PostText = "本日の1曲\n" + SongTitle + " / " + ArtistName + " (" + SongYear + ") from " + AlbumTitle
requests.post("webhookのURL", data = json.dumps({
    "text": PostText,
    "username": u"Today's Recommend Song",
    "icon_emoji": u":psychedelic:",
}))

Post部分が書けたのでテスト実行。

f:id:MSZ006AEUG:20170422163116p:plain

2回実行したところちゃんとランダムに投稿できてそう。

 

というわけでweb-hookのURLを #visual-rock のものに書き換えてプログラムは完成。

1日1回投稿するようにする

 本日の1曲Botなので1日1回このプログラムが実行されてほしい。

Linuxではcronとかを使うといいらしいのですが、私のiTunesWindows上で動いているのでWindowsでできる方法がいいと思うわけです。

Windowsでこういうことをやる場合はタスクスケジューラという方法があるといいらしい。

Tech TIPS:タスクスケジューラの基本的な使い方(Windows 7/8.x/10編) (1/2) - @IT

ここを見つつ、タスクスケジューラを設定します。毎日18時にプログラムを開始するようにし、プログラム/スクリプトPythonのpath、引数の追加にプログラムのpathを入力し、またログオフ中でもプログラムを実行するように設定します。

実行結果

f:id:MSZ006AEUG:20170422195844p:plain

成功!めでたい!

今後

曲名とかだけ出てても味気ないのでアートワークもiTunes Storeから取ってくるなりして表示したいですね。

 

 

状況。

10月にブラックバイトをバックレてからしばらく金欠が続いていたのですが、来るところまで来てしまったようです。

 

 

f:id:MSZ006AEUG:20161229152728j:plain

 

 

厳しい。

 

ゼータプロジェクトはあなたの支援を必要としています

www.amazon.co.jp

【KMCお絵かき Advent Calendar 2016】今年の流行語大賞

ゼータプロジェクトはあなたの支援を必要としています。

http://www.amazon.co.jp/registry/wishlist/2Q85ITOXD36N4/ref=cm_sw_r_tw_ws_Ki-uybYBKZVKM

 これはKMCお絵かき Advent Calendar 2016の23日目の記事です。

www.adventar.org

22日目の記事はid:haji82君の担当でしたが、日付が変わった次点でまだ投稿されていません。

あわせて読みたいKMC Advent Calendar 2016

www.adventar.org

 

こんにちは

KMC2回生のid:MSZ006AEUGです。KMCではzetaというIDを名乗っています。

今年の流行語大賞

毎年年末になるとユーキャンがその年の流行語大賞を発表し、話題となります。今年2016年も流行語大賞が発表されました。年間大賞は「神ってる」が選定され、トップテンには「ゲス不倫」「ポケモンGO」「保育園落ちた日本死ね」などが選ばれました。

私の観測範囲では「神ってる」なんて聞いたことねーよとか、「日本死ね」なんて汚い言葉が流行語大賞なんて・・・とか、なんで国会議員が受賞してんだよとか、いろいろと物議を醸していたわけですが、

この流行語大賞、別に公的機関が決めているものではなく、一私企業のユーキャンが選定しているものです。私も「神ってる」なんて流行語大賞が発表されるまで聞いたことありませんでしたが、ユーキャンの見ている世界ではきっと流行っていたのでしょう。私の見ている世界のセグメントとユーキャンが見ている世界のセグメントが異なるということの現れであると言えます。

ここで私は、ユーキャンがユーキャンの見ているセグメントで流行語大賞を決めるのなら、私も私の見ているセグメントで勝手に流行語大賞を決めてしまおうという気分になりました。というわけで、ここでゼータ流行語大賞の発表を始めさせていただきます。

ゼータ流行語大賞

アニメ部門での流行語大賞は間違いなく「ガルパンはいいぞ!」でしょう。私は天邪鬼なので、この言い回しが流行りすぎたことが気に入らずにガルパンを観ないことにしました。それぐらい流行っていました。次点はNEW GAME!の「今日も一日がんばるぞい!」でしょうか。アニメが終わっても診断メーカーは 今だに見かけますし、私もたまにやります。

オタク構文部門では「ぽきた魔剤ンゴ(ry」が大賞です。私はこのオタク構文が大嫌いなので、最盛期にはいかにして私のTwitterのタイムラインからこのオタク構文をミュートするかというアルゴリズムを考えることに時間を費やしました。京都大学の学園祭であるNFの今年の統一テーマはこれを改編したもので、非難轟々でした。

政治社会部門ではNext President of the United States Donald Trumpの発言から"Unlimited cash on my hand"と"MAKE AMERICA GREAT AGAIN"の2つを大賞として選びたいと思います。これらのトランプ次期大統領の発言はKMC内でも人気で、前者はNFのKMC内のテーマの有力候補となっていました。KMCのSlackにトランプ次期大統領のEmojiが作られるなど、彼はKMC内でも絶大な人気を誇っています。

ここまで3部門の流行語大賞を発表してきましたが、これらにはある共通する性質があります。その性質こそがゼータ流行語大賞の総合大賞です。総合大賞に選ばれたのは、

 

「パワーワード」

 

です。

言葉の持つインパクト、衝撃といったものが強い言葉が現れたときに、それを「パワーワード」と表現することが今年は大変流行りました。これが今年のゼータ流行語大賞です。

 

 

さて、

このあたりでみなさんそろそろツッコミたくなっていることでしょう。なんでお絵かきアドベントカレンダーでこいつはウダウダと流行語大賞の話をしてやがるんだと。そうです。これはお絵かきアドベントカレンダーです。絵の話をしましょう。

 

 

絵の話

 私は絵を描く頻度はあまり高くありませんが、一応KMCのお絵かき練習プロジェクトに名を連ねています。KMCの絵描きはこのプロジェクトに名を連ねているだけでも22人います。競技プログラミングのプロジェクトの人数をも超える大所帯です。(こちらはレベルを2段階に分けているという事情はあるのですが)

これだけ多く絵描きがいると、絵の描き方も、描く絵も様々です。

KMCはコンピュータサークルですから、デジタルで絵を描く部員が多く、ペンタブレットを用いる部員が多数です。液晶タブレットを購入して使用している部員もいます。私はペンタブレットを所有していないため、絵を描く時はたいていアナログで、紙とペンを使って描いています。水彩画を描く部員もいます。フォント制作の経験を活かしてベジエ曲線を使って絵を描くという異端児もいます。

KMC部員はゆるふわアニメが好きなオタクが大多数で、そのようなアニメに登場するかわいい女の子を描く部員が多数派です。また、私はこの文化をよく知らないのですが、東方に関連する絵を描く部員も多いです。最近はお菓子の絵を描くという部員も現れました。私は硬派なオタクなので、人間であるとか有機物を描くよりもメカや機械的なものを描きたいと思っているのですが、残念ながらKMCにはこういう趣向の人間は少ないというのが現状です。

また、KMCにはドット絵を1日に2000枚生み出すというエネルギッシュな部員がおり、その部員の啓蒙もあって、ドット絵を描くことが人気です。

 一言に絵といっても、イラストを描くだけが絵描きのやることではありません。KMCのプロジェクトで制作しているゲーム内に登場するキャラクターやマテリアルをデザインし形にすることもKMCの絵描きの大きな役割のひとつです。最近は、ポスターや本の表紙、本の中身のレイアウトデザインを扱うような動きもKMCにはあります。私がグラフィックの分野で最も興味があるのはこのレイアウトデザインの分野です。

本題

今回このお絵かきアドベントカレンダーを、私はレイアウトデザインの練習の機会としようと思いました。先程まで述べていた流行語大賞である「パワーワード」をテーマとしてデザインをしてみました。

それでは御覧ください。

 

 

 

 

 

f:id:MSZ006AEUG:20161216233808p:plain

 

 

 

 

 

次回予告

明日はアドベントカレンダーのクライマックスであるクリスマスイブですね。担当はKMC絵描き陣エースであるid:rmasaki96が担当です。乞うご期待。

KMCM

KMCではクソコラ制作をしたい部員を募集しています。年齢や所属、国籍や宗教その他諸々に関する制約はありません。詳しくは入部案内を見て下さい。

www.kmc.gr.jp

世の人もすなるでぃーぷらーにんぐといふものを我もしてみむとてすなり。

 夏にPythonを勉強したのですが、私はC以外のプログラミング言語が書けない人間であるので、スクリプト言語の扱い方がよくわからず、あまり使いこなせていません。

 

流石にいつまでもCしか書けないとか言い続けるのも厳しいし、新しい言語で楽に開発する手法であるとか経験であるとか持ってないと今後困るであろうし、何より自分が楽しくないので、是非ともPythonを使いこなせるようになっておきたいと思うわけです。

 

で、どうすれば使い方が身につくかなと考えたとき、Pythonを使って何かを作るシナリオがあって、それにそって勉強すれば多分Pythonのノリみたいなのがわかるだろうと思ったわけです。

 

どうせやるなら流行りのDeep Learningでもするかぁというわけで

 

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装

 

 

こういう本を買いました。

 

もうすぐTOIECあるので、それが終わったらやっていきましょうというお気持ちです。

落単をさせる気持ち

ちょっと前に、とある試験の試験監督のバイトをしました。

 

 

受験者の人の名前と番号を名簿に書いて部屋に通すだけの簡単なお仕事でした。

 

受験者はA~Fの6つのグループに分かれていて、名簿にもそのグループ名を書いていくんですが、

 

グループFの人の分を書き込んでいると

 

「おまえはF!おもえもF!!おまえもFだ!!!」

 

と学生の単位を落とす教授みたいな気分になれて楽しかったです。

 

 

ちなみにおちんぎんは9kでした。

初めてのPC自作

4,5日前に人生で初めてPCを自作するということをやりました。初めてやるのでようわからんことばっかり。Twitterでいろんな人に助けられながら組みました。

 

構成はこんな感じ

 

ケース:CM 690 III(数字の後ろにローマ数字ついてると同発音していいのか困る)

CPU:i5-6500(富豪であればi7を買っていたが、残念ながら庶民なのでi5)

マザーボード:H170-PRO

電源:SSR-550-RMS

二次記憶:CSSD-S6T240NMG1Q

メモリ:W4U2133PS-4G

OS:Windows 10 Home Premium 64bit

 

庶民なのでグラボとか買えずに最低限必要なものしかありません。

 

 

f:id:MSZ006AEUG:20160930002113j:plain

 

ケースがでかい。(比較用にブルーレイの箱を置いてある)

 

f:id:MSZ006AEUG:20160930002114j:plain

 

ケースの中です。左下のダンボールにネジ類が入ってました。HDD/SSDスロットがいっぱいありますが庶民なのでSSDひとつしか載せられません。

 

f:id:MSZ006AEUG:20160930002117j:plain

 

マザボです。マザボにCPUつけてCPUクーラーつけてっていうのはすんなりいったのですが、ここで問題発生。

 

このマザボのメモリスロットはDDR4なのにDDR3のメモリを買ってしまいました。(誰か欲しい人いないかな)アマゾンプライム会員の力を使ってなんとか遅れを1日に抑えましたが、これは痛かった。

 

 

メモリが届いてはめたあとも、I/Oガードは先につけておかないといけないとか、配線のあれこれとかでケースにマザボを5回ぐらいつけたり外したりしつつ、Twitterで支援を受けながら配線を済ませました。

 

 

そして画面に繋いで起動。。。

 

 

何も映らない。

 

 

 

はい。メモリがちゃんと挿さってませんでした。はい。

 

 

 

f:id:MSZ006AEUG:20160930002118j:plain

 

メモリをちゃんと奥まで押し込んだら映りました。

 

 

OSのインストールに光学ドライブが必要だったのですが、家に転がっていた太古の光学ドライブの化石が動いたのでこれを使ってインストール。

 

f:id:MSZ006AEUG:20160930002120j:plain

成功。

 

 

 

というわけで初めてのPC自作という実績を解放できました。

 

今回は私が庶民であるばかりに、でかいケースを買ったのに、最低限のパーツしか入れてなくてスカスカという状態になってしまいましたが、早く富豪になってどんどんパーツを足していきたいと思う所存でございます。