プログラミング入門

ScrathXで遊ぼう-Spotify編

プログラミング初心者の子供に何を教えたらいいの?とお悩みの保護者のためのScratch(スクラッチ)の入門講座。Scratchの実験プロジェクトScratchXをご存知ですか?
Scratchと他のインターネット上のサービスや、ロボットなどと接続することができちゃいます。今回は、ScratchXと音楽配信サービスSpotifyの連携で遊んでみたいと思います。

1. ScratchXって?

1-1. ScratchXとは?

ScratchXは、以下のサイトで公開されているScratchの実験的な(Experimental)拡張機能(Extensions)のことです。
https://scratchx.org/

ScratchX全体については以下の記事で解説していますので、こちらもご覧ください。
<ScrathXで遊ぼう!-ScratchX解説編>
 

1-2. Spotifyって?

Spotifyはスウェーデンの会社「スポティファイ・テクノロジー」が運営している音楽配信サービスです。ユーザー数は世界最大とも言われています。日本では2016年の9月にサービスが開始されています。なんと、無料で音楽を聴くことができるサービスなんです。

私の記憶に残っているのは、昨年末にテレビで流れていた「ゲリラ豪雨〜♪ゲリラ豪雨〜♪」というSpotifyのCM。このCMでSpotifyを知った方も多いのではないでしょうか?
音楽配信サービスとScratchを繋げちゃうと・・・?いったいどんなことができるようになるのでしょうか?

 

2. ScratchとSpotifyで遊ぼう

ScratchとSpotifyを連携させるために、何かをする必要はありません。ScratchXの中のSpotifyと書かれたリンクを押すだけです。

では、詳細をみていきましょう。

2-1. ScratchX + Spotify何ができる?

ScratchX + Spotifyのページ(https://ericrosenbaum.github.io/spotify-extension/)を開きます。
Details(詳細)の部分の説明をまとめてみました。

30秒のプレビューが聞ける
Spotifyにログインすることなく、Scratchのプロジェクトの中で30秒間のプレビューを聴くことができます。

「Explicit lyrics」かどうか?
「Explicit lyrics」とは直訳すると、「明白な歌詞」。その意味するところは「露骨な性的表現が含まれている歌詞かどうか?」ということだそう。洋楽のCDにも注意書きがある場合があります。
Spotifyには「Explicit lyrics」を除外するしくみがあるようですが、保証はしていないということです。選曲には気をつけましょう。
 

2-2. ScratchX + SpotifyサンプルプロジェクトDance Partyで遊ぼう

ScratchX + Spotifyのページの中にいくつかExample(例)があるので、それを使って遊んでみましょう!まず最初はダンスパーティーです。
サンプルプロジェクトを開くと、次のような警告がでます。「これは実験的なプロジェクトだから、このサイトには責任を負いませんよ」という内容です。緑の方のボタン「理解しました」の方を押して先にすすみましょう。

すると、以下のようなScratchの画面が表示されました。緑の旗を押すと、かっこいい音楽が流れてスプライトたちがダンスします。

Picoというスプライトのプログラムです。
どうやら「play music like ●● until done」というブロックを使うと、曲が再生されるようです。
●●には、アーティスト名や曲名を指定することができます。

日本語を指定できるか、試してみました。「ゆず」を入れてみます。すると、ゆずの曲が流れました!
「●●name」というブロックをクリックすると、今流れている曲の曲名やアーティスト名などの情報を取得することができます。

次は、ブロックの中に含まれている「beat」がどのようなものか、確認してみたいと思います。こんなプログラムをPicoスプライトに追加してみました。

すると、曲の1拍ごとに数値が1つづつ増えるのがわかりました。つまりbeat=曲の頭から何拍目か?ということのようです。
そして、流れている曲がだいたい32拍目までくるとそこで曲が終わります。

そこで、「ビートごと(every beat)」に次のコスチュームにする、というプログラムを「4ビートごと(every 4 beat)」に変えてみました。すると、スプライトのダンスのタイミングが4拍置きに変わりました!

 

2-3. ScratchX + Spotifyサンプルプロジェクト”Uptown Funk” RemixでDJ体験

先ほどの実験でScratchX + Spotifyでは、「beat(ビート)は1拍」ということを知ることができました。
そうすると、このブロックの意味が分かってきます。「play beat ●」で●拍目だけを演奏する、というブロックのようです。

このブロックを使った面白サンプルプロジェクトが”Uptown Funk” Remixです。このプロジェクトを開いてみましょう。
注目すべきは赤枠で囲ったところ。スペースキーや矢印キーを押すと指定した拍だけ演奏することができるのです。

テンポよくスペースキーや矢印キー連打で、なんとDJのようにリミックスができちゃいます!
これは楽しい♪音楽を拍ごとにデータに分けたというところがScratchX + Spotifyの面白いところですね♪
この仕組みに関連したプロジェクトが”Everything is Awesome” Remix。こちらは、繰り返しを使って音楽をリミックスしています。
 
 

3. まとめ

今回は、ScratchX+Spotifyについてご紹介しました。本物のアーティストが作った曲が使えるので、かっこいい音楽で遊ぶことができました!
・ScratchXは実験的な拡張機能のこと
・Spotifyは音楽の配信サービス
・ScratchX+Spotifyで面白い作品が作れる

ということを解説しました。
もしかしたら、未来のDJはプログラミングでリミックスをするのかもしれませんね。
ScratchXには他にも面白い組み合わせがあるので、またご紹介していきたいと思います。

伴野悠佳 / YUKA TOMONO
この記事の著者伴野悠佳 / YUKA TOMONO
教育ヲタクの1児の母。自称ニコニコキッズクリエーター。東京理科大学大学院卒。元SE。小学生の頃から教育書を読んでいた教育ヲタク。大学では、電池の素材の性質について実験とコンピューターシミュレーションを比較する研究を行っていたことがきっかけでSEになる。出産&育休後、子ども向けプログラミング教室講師、子どもたちの考える力を育てるオンライン塾の講師。