個人的インタラクティブミュージック研究会速報まとめ

INken
3月28日(土曜日)、既にIM研講演が開始しています。今回も適当に速報まとめ記事を書いていきます。
ほとんどメモ書きみたいなモノですが、前回のまとめはこちら↓

インタラクティブミュージック勉強会#4速報:http://blog.nine-gates.com/?p=84
個人的SIG-AUDIO#8 速報まとめ:http://blog.nine-gates.com/?p=450

[MusicEngine for Unity/ADX2を使った簡単音楽同期ゲーム制作]
岩本翔(スクウェア・エニックス サウンドプログラマー)

スクリーンショット 2015-03-28 14.14.59

MusicPong
http://www.kawaz.org/products/music_pong/

音楽と同期されたゲームとして、MusicPongが紹介された。
基本ルールはスカッシュゲームと同様、玉が下に落ちるとゲームオーバーとなる。
音楽のリズムに合わせて玉が攻撃を繰り返し、当たるとバーの長さが短くなっていく仕組み。

Space to go:http://unitygameuploader.jpn.org/game/701.html
VOXQUATER…制作中の音楽RPG。VOXQUESTの続編に当たる。
VOXQUEST-App Store
https://itunes.apple.com/jp/app/voxquest/id517568666?mt=8

このような音楽同期のゲームを作るためには、「音楽時間にアクセス出来るライブラリ」が必要。

Unity用スクリプト「Music.cs」
今、何小節目の何拍目のどこか?が簡単に取得可能
音楽に合わせてどう動かすか?を指定可能
16分音符がすべての基準だが、曲間に連符指定が可能(変拍子もOK)

前提条件
・音楽は自分で用意する必要がある
→拍子やテンポを波形ベースで読んでいるわけではないため、予め設定が必要
→GetSpectrumDataを用いることで波形から参照することも可能

レベルデザインを考えながら曲の展開を作る必要があるため、通常の作曲よりも大変な場合が多い
・音楽はいつも1つ
→Music.xxという形式で、コードのどこからでもstaticな音楽情報にアクセス出来る
→クロスフェードは甘え

上記に基づいて、MusicPongの作り方を解説。
※僕はプログラム畑ではないので、触りだけを書いています。詳細は後日公開される@geekdrumsのスライドをご覧下さい。

1.Musicコンポーネントをつける
GameobjectにMusic.csを追加
デフォルトでは♪=120だが、曲に合わせて任意に変更
設定項目については、後ほど公開される@geekdrumsのスライドを参照下さい。

2.クオンタイズで気持ち良く
セクション設定後、クオンタイズ設定を行う。
ビート同期で効果音がなると気持ちがいいし、簡単に実現可能なのでコスパは高い。

3.ビートに合わせてカッコよく
音楽に合わせて背景が変わるとVJっぽくてカッコイイ!
小節、拍ごと任意のタイミングに来たフレームだけtrueになるイベントが作成可能
Timing Mucic.Just:拍がちょうど来てから切り替わる
Timing Music.Near:最も近い拍を示すように切り替わる
→音ゲーなど先行入力がある場合はNearを使用した方が良いかも知れません

4.音楽に合わせてアニメーション
IsFormerHalf→1MusicalTime内の前半と後半で切り替わる
IsJustChanged→16部音符ごとに1フレームずつTrueになる
別途関数を用いる事なく簡単に書くことが可能

5.音楽に合わせてシーン遷移
音楽が全ての情報を管理しているため、そこを参照すればシーン遷移が容易に可能。
→任意のセクションにシークさせていく
音楽がマスタークロックとなり時間管理を全て任せることが出来るため、全ての動作を制御可能。

 

 ヴィジュアルノベルとそのアニメ化におけるBGMのアプローチの違い
スミイ酸(フリー)

ヴィジュアルノベルとアニメの音楽は似ているようで違う。

アニメの音楽の特徴
1.映像に同期している(時間編集)
2.ニュアンスのコントロールが繊細(部分再生・ステム)

アニメの音楽を製作されているスミイ酸さん自身は、自分の書いた音楽を「可変再生」してもらっている、と感じている。
どの今日のどの部分を使うのかを映像を確認しながら再生させている。

ニュアンスの調整例:
日常→陰りのある日常→事件!?→でも大丈夫→やっぱヤバい!→絶体絶命!!!
…などなど、アクシデント1つとってもいろいろな段階がある。
ゲームだとこの場面に2,3曲あれば充分と考えられるが、アニメは曲を細かく調整しないと違和感を覚えやすい。

演出:必要な曲のリストを書き出し、出来上がった曲をシーンに合わせて立体的に選曲する→音響監督
作曲:演出、編集を計算に入れて作曲・構成する(作曲家)
編集:演出の意図するように楽曲を編集して再構成する(エンジニア)
一曲を一曲のまま使うことはなく、分業化されて適切な位置に適切な編集ののち楽曲を貼り付けていく。

スクリーンショット 2015-03-28 15.13.04
アニメの曲を書くときは尺合わせがしやすいように、展開を考えながら制作する。

ゲームの場合はシーンごとに曲調を変えると困る場合があるが、アニメはむしろ曲調変化が歓迎される傾向にある。部分再生(ループ出来る部分)を作りつつ、別の展開を作ると編集がやりやすい。
・楽曲間の音量変化で、キャラクター同士の位置関係を表している?→ピアノ(胸?)が近づいてくる

実例は(多分ネット掲載出来なさそうな)映像中心なので紹介できません。皆も次回は遊びに来よう。

質疑応答にちょっとだけ補足…
トバし:曲の最後をリバーブないしディレイで余韻を残すことにより、シーンが切り替わった時のブツ切れ感を緩和する効果がある。テレビ番組などでも使われるシーン切り替えの常套手段。
編集と監督との「空気の読み合い」がアツい。

音系ハッカソンで見かけたインタラクティブミュージックっぽいものの紹介
田中孝(CRI・ミドルウェア)


未来のインタラクティブミュージックとは?
…というのを、ハッカソンで見つけたIM的なモノに基づいて考えてみましょう。

Music Hack Day Tokyo 2014
https://www.hackerleague.org/hackathons/music-hack-day-tokyo-2014/hacks
Singalong World
https://www.hackerleague.org/hackathons/music-hack-day-tokyo-2014/hacks/singalong-world
Soundcloudの楽曲を複数読み込み、複数の楽曲が組み合わされて再生するアプリ。
ゲーセンの喧騒のような状態だが、偶発的にハモりが生まれる事もある。
Monthree

iTunesで楽曲を流すと卵が踊りだす育成ゲーム。曲のジャンルやタグ情報で卵が成長していく。
ギターの多い曲を聴かせているとメタラーに進化する(?)
育成していると、他の人が育成しているキャラクターが画面に遊びに来る。履歴を辿ると、どんな曲を聴いているのかが分かる。
StartmeupAwards
 http://www.startmeupawards.com/hackathon.html
http://mashupaward.jp/works/1764
 誰でも手軽にリリックビデオをWebで作成し、アップ出来るツール。
 曲を聴きながらハコスコで辺りを見渡したり、立体視をしてみたり。

ただ、現段階ではまだ音楽をアバウトに鳴らしたり、解析精度の甘さから手修正が必要だったりと技術的な課題も多い。例えば複数の音楽を再生した時にオートマティックにミキシングをしてくれるような技術であったり、センサーが進化する事によって音楽を操作するだけでなく音楽の作り方自体も変わってくるかも知れない。
(ちなみに、ハッカソンはビジネス絡みの話が出てきてしまったりするので、ゲームジャムなどの方が自由にいろいろやりやすいそうです…。)

 

SuperColliderでつくるInteractiveMusicエンジン
黒田元気(東京工科大学 メディア学部 修士0年)

今回の講演では唯一の学生となる黒田氏。
東京工科大学メディア学部バイオ・情報メディア研究科メディアサイエンス専攻修士課程。
音楽理論の習得および楽曲分析、それに基づいた研究、飲み会を行う事を目的とするそう。

「音楽を動的に生成してコンテンツに活用」
ゲーム開発における「Interactive Music」「Adaptive Music」など
言葉の定義付けは様々なので(Dynamic Musicとかね)、ここでは以下のように定義します。
Interactive Music:サウンドファイルの組み合わせで音楽演出を行う
Adaptive Music:自動作曲・即興←ここを目指していく研究

これらはもちろん音楽演出のために非常に重要な概念であるが、技術的・音楽的な実験が困難。
→非プログラマにとっては、試すのにも一苦労。アイディアだけあっても実践出来ない人も。



音によるフィードバックは「ワクワクする」!!

SuperCollider-音響合成用プログラミング環境:http://supercollider.sourceforge.net
サイン波を鳴らしたり、ピンクノイズを変調させて風の音を作ったり!そんな事が容易に可能。
→140文字でコードを書いてアップロードする不可解な行動も見られる。

iOS上にSuperColliderに移植して、ゲームのような簡単操作でリアルタイムに操作したい。
そして、タッチパネル操作を音楽的に検討したい。

iOSネイティブ環境でのコーディング:UIViewオブジェクトのタッチを検出
Obj-C上でSuperColliderのコードを記述可能に
SceneKit/SpriteKit etc…

例えば…
GPS情報にもとづいて、位置で音楽を変えることが出来るんじゃないか?
2台の端末でネットワーク経由でセッションできるんじゃないか?
加速度やジャイロセンサを用いて新しい演奏方法や楽器が生まれるのではないか?

スクリーンショット 2015-03-28 16.34.41
"iSuperCollider Kit"
https://github.com/wdkk/
@Watanabe-DENKI Inc.

技術的な土台はある程度整ってきたので、今後はアルゴリズム構成を中心にゲームに応用していく。


以上、簡単ではありますが今回のインタラクティブミュージック研究会をリアルタイムに記事化させて頂きました。講演内容等で不備がありましたらお知らせ下さい。
ご意見、ご感想は以下インタラクティブミュージック研究会のFacebookまでお願いします。

facebook(公開グループ/誰でも参加可能)
https://www.facebook.com/groups/im.laboratory/
Twitter
https://twitter.com/IM_Laboratory/
InteractiveMusicLaboratory
http://im-laboratory.tumblr.com/
【宣伝】ハノイの本サウンドデザイン概要(筆者の過去作ですが、BGMの初歩的なIM的ギミックを解説しています。)
http://blog.nine-gates.com/?p=51