SlideShare une entreprise Scribd logo
1  sur  24
Télécharger pour lire hors ligne
最強の拳、FM音源	
@silpheed_kt	
レトロゲーム勉強会#2	2018/8/29
自己紹介(いま)	
@silpheed_kt	
Keiichi	Tanaka	
都内のゲーム開発会社で	
ソフトウェア開発+インフラ構築	
最強の拳、FM音源	
レトロゲーム勉強会#2	2018/8/29
自己紹介(むかし)	
Silpheed☆	
Keiichi	Tanaka	
「マイコンBASICマガジン」	
ライター・編集	
	
「Computer	Music	Magazine」	
ライター・編集	
	
マイコンソフト株式会社	
OEMハードウェア担当	
最強の拳、FM音源	
レトロゲーム勉強会#2	2018/8/29
自己紹介(むかし)	
Silpheed☆	
Keiichi	Tanaka	
「マイコンBASICマガジン」	
ライター・編集	
	
「Computer	Music	Magazine」	
ライター・編集	
	
マイコンソフト株式会社	
OEMハードウェア担当	
これ	
最強の拳、FM音源	
レトロゲーム勉強会#2	2018/8/29
FM音源とは	
ここでは、	
	
「ヤマハの」ゲーム中の音楽や効果音を演奏するために使われてい
る「FM方式の」LSI	
	
を「FM音源」と呼称します。	
最強の拳、FM音源	
レトロゲーム勉強会#2	2018/8/29
FM音源とは	
FM	= Frequency	ModulaKon(周波数変調)	
※FMラジオのFMと一緒	
	
オペレーター = 正弦波出力器	
※正弦波は時報の「ぽー」という音	
	
一般的なシンセでは「オシレーター」だが、ヤマハのFM音源では「オ
ペレーター」と呼びます。	
最強の拳、FM音源	
レトロゲーム勉強会#2	2018/8/29
FM音源とは	
オペレーターの種類	
	
変調を「かける側」 = モジュレーター	
変調を「かけられる側」 = キャリア	
	
キャリアとモジュレータの組み合わせ	
(アルゴリズム)で複雑な波形を出力する。	
レトロゲーム勉強会#2	2018/8/29	
出典:hLp://d.hatena.ne.jp/licheng/20131112/p1	
最強の拳、FM音源
代表的なFM音源	
・2オペレーター(2アルゴリズム)	
	
FM-PAC(MSX)	
Sound	Orchestra(の拡張音源部)(PC-9801) 等	
	
・4オペレーター(8アルゴリズム)	
	
YM2203(PC-8801mkⅡSR、PC-9801-26K等)	
YM2608(サウンドボードⅡ、PC-9801-86等)	
YM2151(X1、X68000、アーケードゲーム基板等)	
等	
最強の拳、FM音源	
レトロゲーム勉強会#2	2018/8/29
代表的なFM音源(シンセサイザー寄り)	
6オペレーター(32アルゴリズム)	
YAMAHA	DX7等	
  : (この間にいろいろあるが省略)	
  :	
YAMAHA	SY77等(AFM)	
オペレータが正弦波以外の出力可能。	
	
8オペレーター(88アルゴリズム)	
YAMAHA	FS1R	
FS音源	
オペレーターがフォルマントの出力可能。	
最強。欲しい。	
最強の拳、FM音源	
レトロゲーム勉強会#2	2018/8/29
FM音源の特徴	
得意なところ	
・硬質な尖った音色、透き通った音色=整数次倍音	
 ベル、エレピ、薄いシンセブラス、FMベース、等	
・音色パラメータが少ない=省メモリ	
	
苦手なところ	
・複雑な音色=倍音が豊富な音や非整数次倍音が苦手	
 アンサンブル系、オーケストラヒット等	
・音色作成の難しさ(予想がつけ辛い、経験則)	
 4オペレーター8アルゴリズムでも結構大変。	
 FS1R(8オペレーター88アルゴリズム)とか神の領域。欲しい。	
 MontageのFM-XがFS1R相当らしい。欲しい。 	
最強の拳、FM音源	
レトロゲーム勉強会#2	2018/8/29
FM音源の使われ方	
一般的な音楽におけるFM音源	
	
・数ある楽器の中の一つ	
	
例:エレピをFM音源(DX7とか)で鳴らす	
	
 ユニゾンさせて重厚な音を作る、エフェクターで加工する、等	
 足りなくなればもう1台持ってくればいい。	
 YAMAHA	TX816(DX7が8台分=128音)	
 欲しい。	
最強の拳、FM音源	
レトロゲーム勉強会#2	2018/8/29
FM音源の使われ方	
ゲームミュージックにおけるFM音源	
	
・音楽を演奏する(ほぼ)唯一の手段	
	
例:音楽と効果音を全部1つのFM音源LSIで鳴らす。	
  音楽をFM音源LSIで、効果音を(AD)PCMで鳴らす。	
	
・エフェクター非搭載のためシンプルな音になりがち	
 エフェクター(DSP)が搭載されているのはF3ボードくらい。	
 ES5505	OTIS+ES5510最高。	
 でもすごく使いづらいらしい。	
最強の拳、FM音源	
レトロゲーム勉強会#2	2018/8/29
同時発音数との戦い	
同時発音数 = 同時にいくつの音を鳴らすことができるか	
	
例:YM2203	= FM3音、PSG3音	
  ※PSG	= (狭義では)矩形波を出力する音源	
  YM2151	= FM8音	
最強の拳、FM音源	
レトロゲーム勉強会#2	2018/8/29
同時発音数との戦い	
ゲームのBGMでは、	
	
・あらかじめ効果音のチャンネルを空けてある	
・ドライバーで割り込みで効果音を鳴らす	
・効果音はPCMに逃がす(搭載していれば)	
・楽曲で工夫	
 ベースの3拍目をスネアドラムに切り替えてチャンネル数節約	
 ドラムを1チャンネルでまかなう	
	
等、工夫が凝らされている。	
最強の拳、FM音源	
レトロゲーム勉強会#2	2018/8/29
同時発音数を増やす	
・音色で工夫	
	
アルゴリズム4	
 キャリアとモジュレーターが2組ある。	
   ↓	
 それぞれの組で異なる音色を作り同時に鳴らすことができる。	
	
例:バスドラム+ハイハット	
・オペレーター1のマルチプルを15に設定してセルフフィードバックを
最大にしてホワイトノイズを発生(どの音階でもホワイトノイズになる)。	
・オペレーター3と4でバスドラムの革を叩く音を作成。	
・低域(オクラーブ2のCくらい)で鳴らす。	
最強の拳、FM音源	
レトロゲーム勉強会#2	2018/8/29
同時発音数を増やす	
それぞれの組で異なる音階を作り和音を鳴らす	
	
例:マルチプルの差を利用	
	
マルチプル(ML、MUL)は、基準の音階の何倍の周波数の音を出す
か、というパラメータ。	
オペレータ2、オペレータ4(各組のキャリア)のマルチプルをそれぞれ
4、3とすると、組の間の音階のずれが5度になる。	
=5度の和音が鳴らせる。	
ただし、この音色で「ド」の音を指定しても、マルチプルが3なのでその
ままでは「ド、ソ」とならないので、指定した音階と実際に鳴る音の対
応表を作って打ち込む。	
最強の拳、FM音源	
レトロゲーム勉強会#2	2018/8/29
同時発音数を増やす	
オペレータ2、オペレータ4(各組のキャリア)のマルチプルをそれぞれ
4、3とすると、組の間の音階のずれが5度になる。	
=5度の和音が鳴らせる。	
	
※何故キャリア4のマルチプルを4にしないか	
	
アルゴリズム4ではオペレータ1のセルフフィードバックを使うことでオ
ペレータ1、2の組でより複雑な音色を作ることができ、これをトップ
ノート(和音で一番高い音)に持ってきたほうがより特徴的な音を鳴ら
すことができる。	
最強の拳、FM音源	
レトロゲーム勉強会#2	2018/8/29
同時発音数を増やす	
効果音モードを使う(YM2203)	
	
YM2203で効果音モードを有効にすると、オペレータ1〜4で任意の周
波数を出力できるようになる。	
=任意の(最大)4和音を出力できる。	
 ただし複雑な音色は作れない(正弦波出力のみ)。	
最強の拳、FM音源	
レトロゲーム勉強会#2	2018/8/29
より複雑な音を出す	
・デチューン設定とマルチプル	
	
デチューン(DT、DT1)は、オペレータの出力波形を少しずらすパラ
メータで、-3~+3で設定することができる。	
	
例えば全てのデチューンを-3に設定した音色、+3に設定した音色をユ
ニゾンさせると、広がりのある音色を作成することができる。	
(コーラスのエフェクトに類似した効果)	
	
ただ、発音数との戦いなので、アルゴリズム4のオペレータ1・2と3・4
の間でずらして単音で広がりを持たせる手法が一般的だった(エレピ、
リード系等)。	
最強の拳、FM音源	
レトロゲーム勉強会#2	2018/8/29
より複雑な音を出す	
デチューンの作用は、	
・オペレータの出力にマルチプルの値をかけた後にずらす。	
	
「のではなく」	
	
・オペレータの出力をデチューンでずらした後、マルチプルの値をか
けて出力する。	
	
なので、例えば、アルゴリズム4でキャリア:もジューレーターを1:2に
設定するところを、4:8に設定して、発音する音階を下げることで、前
者よりもより深いデチューンの効果を得ることができる。	
最強の拳、FM音源	
レトロゲーム勉強会#2	2018/8/29
より複雑な音を出す	
・DT2(デチューン2)を用いた非整数次倍音の発生	
・ハードウェアLFOのランダム波形	
	
どちらもYM2151独自のパラメータで、シンバル、ティンパニ、ハンドク
ラップ、フィンガースナップ等の音色作成に有効。	
私は当時YM2151を殆ど使っていなかったので詳細はWebに譲ります。	
	
・特定の音色、音階、音量に設定すると音色が劇的に変化する	
	
YM2151でGORRYさんが発見した方法。	
ベルの音(しゃらん…という)が出せる。	
私は当時以下略。	
最強の拳、FM音源	
レトロゲーム勉強会#2	2018/8/29
音源構成の変遷と	
それにともなう楽曲の変化	
PCM音源のチャンネル数が増えてくる(例:システム2)と、FM音源側
で複数のチャンネルで1つのパートを演奏する等、一般的な音楽に寄
せた曲が多くなってくる。	
エフェクターは非搭載のため、独自のテクニックも併用されている。	
	
現在はストリーミングによる演奏が主流。	
最強の拳、FM音源	
レトロゲーム勉強会#2	2018/8/29
サークルやってます	
OB-Ke	
hLp://neo.saitama.jp/obke/	
	
OPN楽曲のアレンジ(まだ始めたばかり)	
最強の拳、FM音源	
レトロゲーム勉強会#2	2018/8/29
ご静聴ありがとうございました	
最強の拳、FM音源	
レトロゲーム勉強会#2	2018/8/29

Contenu connexe

Tendances

Profiling your Applications using the Linux Perf Tools
Profiling your Applications using the Linux Perf ToolsProfiling your Applications using the Linux Perf Tools
Profiling your Applications using the Linux Perf Tools
emBO_Conference
 
shared_ptrとゲームプログラミングでのメモリ管理
shared_ptrとゲームプログラミングでのメモリ管理shared_ptrとゲームプログラミングでのメモリ管理
shared_ptrとゲームプログラミングでのメモリ管理
DADA246
 

Tendances (20)

リアルタイムOSの必要性とTOPPERS/SSPの紹介
リアルタイムOSの必要性とTOPPERS/SSPの紹介リアルタイムOSの必要性とTOPPERS/SSPの紹介
リアルタイムOSの必要性とTOPPERS/SSPの紹介
 
さわってみようTOPPERS/SSP
さわってみようTOPPERS/SSPさわってみようTOPPERS/SSP
さわってみようTOPPERS/SSP
 
Unix - Sistema Operacional
Unix - Sistema OperacionalUnix - Sistema Operacional
Unix - Sistema Operacional
 
C・C++用のコードカバレッジツールを自作してみた話
C・C++用のコードカバレッジツールを自作してみた話C・C++用のコードカバレッジツールを自作してみた話
C・C++用のコードカバレッジツールを自作してみた話
 
Music engineadx
Music engineadxMusic engineadx
Music engineadx
 
C#で速度を極めるいろは
C#で速度を極めるいろはC#で速度を極めるいろは
C#で速度を極めるいろは
 
私とOSSの25年
私とOSSの25年私とOSSの25年
私とOSSの25年
 
Linux Porting
Linux PortingLinux Porting
Linux Porting
 
Code igniter + ci phpunit-test
Code igniter + ci phpunit-testCode igniter + ci phpunit-test
Code igniter + ci phpunit-test
 
自宅で出来る!ゲームサーバの作り方
自宅で出来る!ゲームサーバの作り方自宅で出来る!ゲームサーバの作り方
自宅で出来る!ゲームサーバの作り方
 
ブループリントマニアックス
ブループリントマニアックスブループリントマニアックス
ブループリントマニアックス
 
Profiling your Applications using the Linux Perf Tools
Profiling your Applications using the Linux Perf ToolsProfiling your Applications using the Linux Perf Tools
Profiling your Applications using the Linux Perf Tools
 
emruby: ブラウザで動くRuby
emruby: ブラウザで動くRubyemruby: ブラウザで動くRuby
emruby: ブラウザで動くRuby
 
Perf File Format
Perf File FormatPerf File Format
Perf File Format
 
Avaliação heurística
Avaliação heurísticaAvaliação heurística
Avaliação heurística
 
shared_ptrとゲームプログラミングでのメモリ管理
shared_ptrとゲームプログラミングでのメモリ管理shared_ptrとゲームプログラミングでのメモリ管理
shared_ptrとゲームプログラミングでのメモリ管理
 
Unity道場08 Unityとアセットツールで学ぶ 「絵づくり」の基礎 ライティング 虎の巻
Unity道場08 Unityとアセットツールで学ぶ「絵づくり」の基礎 ライティング虎の巻Unity道場08 Unityとアセットツールで学ぶ「絵づくり」の基礎 ライティング虎の巻
Unity道場08 Unityとアセットツールで学ぶ 「絵づくり」の基礎 ライティング 虎の巻
 
(旧版) オープンソースライセンスの基礎と実務
(旧版) オープンソースライセンスの基礎と実務(旧版) オープンソースライセンスの基礎と実務
(旧版) オープンソースライセンスの基礎と実務
 
0章 Linuxカーネルを読む前に最低限知っておくべきこと
0章 Linuxカーネルを読む前に最低限知っておくべきこと0章 Linuxカーネルを読む前に最低限知っておくべきこと
0章 Linuxカーネルを読む前に最低限知っておくべきこと
 
【Unite Tokyo 2019】【リリースが先か】えっ!Addressablesを新規プロジェクトに?【ver1が先か】
【Unite Tokyo 2019】【リリースが先か】えっ!Addressablesを新規プロジェクトに?【ver1が先か】【Unite Tokyo 2019】【リリースが先か】えっ!Addressablesを新規プロジェクトに?【ver1が先か】
【Unite Tokyo 2019】【リリースが先か】えっ!Addressablesを新規プロジェクトに?【ver1が先か】
 

Plus de silpheed

メールの誤送信対策としての人類滅亡のすゝめ
メールの誤送信対策としての人類滅亡のすゝめメールの誤送信対策としての人類滅亡のすゝめ
メールの誤送信対策としての人類滅亡のすゝめ
silpheed
 
「ゲーム・ミュージック・シーンをリードするクリエイター達」の思い出
「ゲーム・ミュージック・シーンをリードするクリエイター達」の思い出「ゲーム・ミュージック・シーンをリードするクリエイター達」の思い出
「ゲーム・ミュージック・シーンをリードするクリエイター達」の思い出
silpheed
 

Plus de silpheed (11)

ライセンス管理システムが死んだとき
ライセンス管理システムが死んだときライセンス管理システムが死んだとき
ライセンス管理システムが死んだとき
 
同人活動の継続運用にかかる一考察
同人活動の継続運用にかかる一考察同人活動の継続運用にかかる一考察
同人活動の継続運用にかかる一考察
 
メールの誤送信対策としての人類滅亡のすゝめ
メールの誤送信対策としての人類滅亡のすゝめメールの誤送信対策としての人類滅亡のすゝめ
メールの誤送信対策としての人類滅亡のすゝめ
 
秘密録音のすゝめ
秘密録音のすゝめ秘密録音のすゝめ
秘密録音のすゝめ
 
ブラックフライデーにみる購買運用の考察
ブラックフライデーにみる購買運用の考察ブラックフライデーにみる購買運用の考察
ブラックフライデーにみる購買運用の考察
 
ロービジョンとWindowsのマウスカーソル
ロービジョンとWindowsのマウスカーソルロービジョンとWindowsのマウスカーソル
ロービジョンとWindowsのマウスカーソル
 
ピコピコにも矜持あり
ピコピコにも矜持ありピコピコにも矜持あり
ピコピコにも矜持あり
 
LT動画を作ってみたLT(動画)
LT動画を作ってみたLT(動画)LT動画を作ってみたLT(動画)
LT動画を作ってみたLT(動画)
 
そのドキュメントは誰がために
そのドキュメントは誰がためにそのドキュメントは誰がために
そのドキュメントは誰がために
 
「ゲーム・ミュージック・シーンをリードするクリエイター達」の思い出
「ゲーム・ミュージック・シーンをリードするクリエイター達」の思い出「ゲーム・ミュージック・シーンをリードするクリエイター達」の思い出
「ゲーム・ミュージック・シーンをリードするクリエイター達」の思い出
 
5分で猫るVarnish
5分で猫るVarnish5分で猫るVarnish
5分で猫るVarnish
 

Dernier

Dernier (7)

LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 

最強の拳、FM音源