乙Py先生のプログラミング教室
初学者のためのプログラミング学習サイト

趣味

2019年2月22日

にゃんにゃんにゃんの日ではなくて・・

待ちに待った
ドリームシアターの新譜の発売日

通算14枚目のアルバム
Distance Over Time

IMG_1162

Amazonから届くのが待ち遠しいとか
なかなか無い商品だわ

プログラマーなら
ヘヴィーメタルだけ聞けば良い


最近は3年に一枚アルバム出してくれていて
精力的な活動が続いている
ドリームシアター

世界最高峰のヘヴィーメタルを奏でてくれる

そんなバンドの新譜が出る日は
会社なんて
行ってらんないですわ

早速レビュー!!

今作は
10曲で61分
稀に見る曲の短さ

だいたい今まではCDの限界まで
曲が詰め込まれていて
7-8曲だった気がする

前作「The Astonising」は
2枚組のコンセプトアルバムで
壮大すぎた感じだったけども

このアルバムは
原点に立ち返り
ドリームシアター節全開の
アメリカンロックテイストなアルバムになっており

曲が短めになっても
各個人のエッセンスがぎゅっと
詰まっていてなかなか聴き応えがある

曲リストは・・

01.Untethered Angel (Petrucci) - 6:14
02.Paralyzed (Petrucci)- 4:17
03.Fall Into The Light (Myung) - 7:04
04.Barstool Warrior (Petrucci) - 6:43
05.Room 137 (Mangini) - 4:23
06.S2N (Myung,Petrucci) - 6:21
07.At Wit's End (LaBrie) - 9:20
08.Out of Reach (LaBrie) - 4:04
09.Pale Blue Dot (Petrucci) - 8:25
10.Viper King (LaBrie) - 4:00 (Bonus Track)


まずは
Untethered Angel
 (アンテザレッドエンジェル)

スチールギターのイントロを経て
速攻Cmのヘヴィーなリフへ駆け抜けてくる

タイトルを訳すと
解き放たれた天使??
といったところだろうか

サビの歌詞もいちいちかっこいい

Untethered angel
Falling into darkness

解き放たれた天使が闇落ちする・・・
抽象的な歌詞だが
用いられてる単語は
中学生でも分かりやすい

前作だと
Moment of Betrayalのような疾走感抜群の曲
アルバムのオープニングにはふさわしい

二度目のサビ後は
ジョンとジョーダンの掛け合いソロタイム
そこからサビへ繋ぎラストまで
重厚に駆け抜ける

お次は
Paralyzed
(パラライズド)

グルーブ感のある中近東風リフから
Aメロにすぐ入る
アルバムの2曲目っぽい曲

ローBでガリっガリに
かき鳴らしている

おはようみんな
麻痺してる??

てんちむさんなら
こう訳しそうな歌詞でした

3曲目は
Fall Into The Light 
(フォーリングイントゥーザライト)

オーバードライブ全開の
ロックンロールなリフ
こういうアレンジは珍しい

彼らのライブとかでしか
こういうテイストは聞いたことが無い

そこから2回目のサビまで
高速で駆け抜けたあとは

ものすごい情緒溢れる山場を挟んで
また高速パッセージに戻るという
高年齢泣かせの曲

これは絶対ライブで息切れするやつや

歌詞に
Time and space like roses
とあるけど
バラのような時空とでも訳されるのだろうか

宇宙とか、神とか天使とか
そういう人智を超えたものを
表現している歌詞である
これはベースの人の作品みたいね

4曲目は
Barstool Warrior
(バースツールウォーリアー)

このBarstool
というのがよく分からなかったので調べたら
酒場にある背丈高めの椅子らしい
バーカウンターとかにあるやつ

そこに腰掛けた人の歌詞だろうと推測
「レッドデットリデンプション」の世界観でしょう

Black Clouds & Silver Liningsの
The Best of Times のような感じの曲
メジャーキーで抑揚たっぷりのジョンのソロ

ピアノの高音と
ヘヴィーなリフが交差しつつ
泣きのソロがこの曲の世界観を現している

ほんと
この手のジョンのソロを聴いていると
涙が溢れそうになる

そういった切なさも含みながら
ベースはプログレッシブヘヴィーメタルなんだなーと
改めて感心する

最後まで聞き逃したく無いところばかりの名曲だわ

5曲目は
Room 137
(ルーム137)

冒頭
マリリンマンソンか!!
とツッコミ入れたくなるリフ

ほんと機械仕掛けの動物ですわ

3連譜とみせかけての8分音符
すごい構成の編曲

アートワークには137の部屋が描かれているけど
なんの意味があるのだろうか?

歌詞も編曲もすごく
不思議な感じの曲だ

6曲目は
S2N

なんの略かは分から無いけど
歌詞に「signal to noise」とあるから
きっとこれの略でしょうね

冒頭
スラップベースのから始まるこの曲

おそらく今までにこういうアレンジは無かった
今作はこういう、90-2000年代のロックアレンジを
多用していると思われる

なかなか面白い取り組み

7曲目
At Wit's End

変拍子リフから始まり
これまた難解な構成の曲

そこから
「Don't leave me now」を連呼しつつ
ジョンの泣きのソロと
きれいなピアノのバッキングとともに
フェードアウト

ドリームシアターらしい一曲

8曲目
Out of Reach
(アウトオブリーチ)

ピアノとコーラスギターのきれいな曲
短い中にも盛り上がりのあるバラード

手の届かないとか
少女とか魔女とかが出てくるこの歌詞は
とても不思議な味わい

ちゃっかり
「There's another day」
とか過去の曲名が入っていたりする

9曲目
Pale Blue Dot 
(ペイルブルードット)

Metropolis風の連打イントロから
重めのアレンジの楽曲

「God creators, dream destroyers」
とか、もう宇宙の神秘ですよ
プログレ的な歌詞と演奏でまとめあげた曲

10曲目
Viper King
(ヴァイパーキング)

開始そうそう一瞬耳を疑った
ロックンロールやないかーい

ヘヴィーメタルだけに
毒蛇の王

うーーん
初めはカバー曲かと思ったけど
歌詞はラブリエ作

良く聞けば
ローAまで出ている
超蛇ーなロックンロールwww

これはノリノリすぎる
気づけば100回は聴いている

サビの
マイバイパーキーーン
がとっても気持ちいい

良く考えたら
おいらも毒蛇飼っていたわ・・・


股間にね

多分そんな曲ですwww!!!!

いやーいいわこの曲
ロータリーディストーションオルガンとか
8弦ギターとか
先進的すぎる

ライブなら
アンコールに欲しい名曲

2019年は
プログレッシブロックンロールで
彼らは駆け抜けるのでしょう

というわけで
20年来のファンも納得の楽曲の数々

古き良き時代のロックを感じつつ
最新のサウンドに落とし込まれた
ヘヴィ−サウンドが心地いい

そんなアルバムに仕上がっていました。

これ以上ファンが増えても
我々がライブに行けなくなると困るから

このアルバムを聴いて
ファンになってはイケマセン!!!!


週1でお世話になるサイゼリア

好きなメニューは
青豆の温サラダ

これがあるから
サイゼリアは止められない!!!!

そんなサイゼリアさんで
いつも話題に上がるのが

サイゼリアの間違い探し
難しすぎ問題


普段そんなに
間違い探しとかに気を取られないが

注文したメニューが来るまでは
考えちゃいますよねーー

そんな間違い探しを
プログラムの力で解いてみたい
という挑戦です。

動画はこちら




まずは
元の画像をサイゼリアさんの公式ページから
お借りしてきました。

間違い探し

saize201810

これが間違い探しの問題の画像です。

これは1200 x 578ピクセルのサイズでした。

これを
左右を同じサイズで切り取って
そのピクセルを比較すれば、
間違い探しの答えが浮かび上がるのではないか?

そう考えたわけです。

まずは
左右二つの画像に切り分けます。

Pythonでは画像を取り扱うライブラリもあるので
それが使えます。

まずはライブラリのインポート
from PIL import Image
import matplotlib.pyplot as plt
import numpy as np
%matplotlib inline

im = Image.open('saize201810.png')
rgb_im = im.convert('RGB’)
PILというライブラリで画像を取り込み
描画用にmatplotlibを使います。

matplotlibの画像を描画させるのに
numpyのarrayでなければならないので
numpyも読み込み

matplotlibを
インラインで表示させたいので指定します。

画像をとりこんだあとは
左右に切り分けます。
im1 = Image.new('RGB',(572,578))
im2 = Image.new('RGB',(572,578))

for x in range(0,572):
    for y in range(578):
        r,g,b = rgb_im.getpixel((x+28,y))
        im1.putpixel((x,y),(r,g,b))
        
for x in range(601,1173):
    for y in range(578):
        r,g,b = rgb_im.getpixel((x,y))
        im2.putpixel((x-601,y),(r,g,b))

plt.imshow(np.array(im1))
plt.imshow(np.array(im2))

左右に余白があり
マージンを取って取り込みます。
ピクセルのRGB値を取得して
新たな画像として生成します。

左側

saize1

右側
saize2

次に
この画像のピクセル同士を比較します。

この問題の左右がコピーされていて
ほぼ同じものであったなら
そのピクセルの違う部分が答えなのではないかと

im3 = Image.new('RGB',(572,578))

for x in range(572):
    for y in range(578):
        r1,g1,b1 = im1.getpixel((x,y))
        r2,g2,b2 = im2.getpixel((x,y))
        if r1!=r2 or g1!=g1 or b1!=b2:
            im3.putpixel((x,y),(r1,g1,b1))
        else:
            im3.putpixel((x,y),(0,0,0))

plt.imshow(np.array(im3))

左右のピクセルを比較した結果
違っていればそのピクセルを
合っていれば黒で答えを作りました。

結果は・・・・

saize3

なんか
いろいろ写っちゃってるやないかーーい


左右は全くの同じではなく
少し違いがあるか、ズレが生じているようで

単純なピクセルの比較では
答えの部分だけを出すのは難しいようです。

一応、違いが大きいところは
色が付いているので
着目すれば10個の答えは出そうですが

うまく、結果だけを出す
アルゴリズムを考えないと
くっきりした答えには
たどり着けないですねーーー

うーん
画像は奥が深い

ということで
皆さん
サイゼでガッツリ食べながら
この問題を解いてみましょう(笑)


このページのトップヘ