SFC音源を作ってスーファミ風BGMを作ってみる1

DTM

まだまだ人気な16-bit Game Music

まずはこちらをお聴きください!

音楽素材のページで公開している「城1」をスーファミ風にしてみたやつです。そこでも書いてますが、私の素材はスーファミやPS1時代の作風となってまして、ドット絵のゲームとなるとやっぱりこんな感じの曲が合うと思います。で、いずれは全てスーファミ風の仕立てにアレンジしたいところなんですが、まずはその"スーファミ風"ってどんな感じなんじゃろ?というところから考えてみました。

スーファミの音源仕様

まずはwikiを見てみます。スーファミにはSPC700というチップが搭載されてまして、そのスペックは以下の様になってます。

  • SRAM: 64KB
  • サンプリング周波数: 32kHz
  • 同時発音数: 8チャンネル
  • 16bit PCM ステレオ(ADPCM)
  • SPC700クロック周波数: 2.048MHz
  • DSP(エフェクター)の機能:
    • BRR(英語版)圧縮された波形データの復元
    • ADSR
    • ガウス分布補間
    • エコー
    • ディレイ(最大240ms)
    • リバーブ(次数8のFIRフィルタ付)
    • ピッチモジュレーション(1チャンネルのみ不可)
    • ノイズ(発生周波数: 0〜32kHz)
    • ピッチベンド

同時発音数が8音なのは良く知られた話ですが、どうせ作るならより実機風にしたいので、単純に8パートでアレンジするだけでなく上記の仕様に沿ったものにしたいところです。ということで、まずは音色作りから考えます。

音色作り

上記でお分かりの通りスーファミはサンプリング音源なんですが、これがまたクセもので、1曲のデータの中にその曲で使用する音色データやシーケンスデータ等すべて合わせて64KBまでという現代の制作環境からは考えられないほどの極小サイズとなってます。ということは、サンプリングデータに使える長さは全パート合わせてほんの数秒となり、音色作りがかなり大変です。

BRR圧縮

また、より実機風にするためにはスーファミの音独特の"クセ"も再現したいところです。スーファミの音色(波形)データはBRR圧縮されているとのことですが、これはとっても簡単にいうと、各サンプルポイントにおいて、サンプルデータそのものではなく前のデータとの差分を記録することによりデータ量を32:9の比率で圧縮するという方式で、このエンコードおよびデコードにより音色に独特のクセが発生します。これでなんでクセが出るの?等についてはADPCMやBRRでググると詳しく解説されてますので、ここでは省略。

DTM的には、このクセを再現してくれるものを使う方向で検討した方が手っ取り早そうですね。世の中にはこのクセを再現、つまりSPC700をエミュレートしてくれる素晴らしいものがあります。

サンプラー

C700

C700はそんなSPC700エミュレーションのサンプラーです。細かいところまでいじることができて、FIRフィルタもほぼ実機仕様で再現できます。

chipsynth SFC

このあたりの音源の再現に定評があるPlogueのSFC音源。こちらも再現度がすごい。色んな便利機能付き。これを使えば、実はこの後の気を使うサンプリング作業も楽になります。

SF6 Library 他

もっと楽に再現したいんだ!という方に最適。某RPGの音を完全再現した音源です。こちらではいくつかの某メジャータイトルを再現したものが販売されてます。

というわけでいくつか紹介しましたが、今回は、

  • オリジナルの音色を作りたい
  • よりネイティブな実機仕様に沿ってみたい
  • エコーやフィルタも細かくいじりたい

ということから、あえて最も大変なルート、C700を使う前提でサンプリング作業を行っていきます。C700にきちんと対応させると、結果的にchipsynth SFCやKontaktでも対応したものになります。

長くなりそうなので分けます。