music2

本日の概要(10/9)
• 前回の続き(コンピュータと音楽の歴史等)
• 音楽データの分類
• 音響データ
• 記号(楽譜)データ
• その他(構造記述等)
• データのファイル形式: 以下の2つを取り上げる
• WAV (音響データ)
• MIDI/SMF (楽譜データ)
1
音楽の記号的側面
• 音響信号
連続的であり、記号化・構造化されていない。
• 音楽的に意味のある単位
時間・音高について離散化されたカテゴリに分割される。
⇒ 音符、楽譜
• 高次の構造
それらの単位を組み合わせて関係付けた構造、
抽象的・概念的な構造
⇒ 楽曲の解釈、音楽構造の表現
2
*音楽データの形態
• 音響信号
信号・数値
↓ ×103~104
• MIDI 符号
記号化
↓ ×10-1~101
• 音楽記述言語
• 構造・知識表現
構造化
3
音楽データの記述形式・言語
•
•
•
•
•
音響データ(WAV 等)
音楽データ表現としての MIDI/SMF
Music XML
MML とその拡張
テキストベース:
MUSIC-X, Csound, CMix, Nyquist, DARMS,
Humdrum/Kern, ......
• GUI ベース: KYMA, MAX, Pd, …...
• 統合的な音楽記述環境・システム
• 知識表現型言語
• Music Structure
• DOOD ベース
4
データ形式、MIDI 音源の比較
• 例: バッハ:ブランデンブルグ協奏曲第5番第1
楽章(最初の2分ぐらい)
• MML データ
7.7 KB
• SMF ファイル
19.2 KB
• WAV ファイル(44.1 kHz mono) 9.46 MB
• (生演奏)
• MIDI 音源(ソフトシンセ、外部音源等々)によっ
て音質さらには曲の表情もかなり異なる。
• MIDI 音源をチューニングした例(加藤)
5
音響データと記号(楽譜)データ
• 同じ曲について
(約2分間)
• 音響データ
約 10,000 KB
(10 MB)
↑
(500倍)
↓
6
• MIDI データ
約 20 KB
音響データ(1)
• 基本的には、A/D 変換されたディジタル音響デー
タ(数値の時系列)を記録したもの。
• したがってデータ量は録音時間(及びチャンネル
数、分解能)に応じて決まり、演奏されている楽曲
の種類には拠らない(楽譜データとの違い)
• ディジタル化のパラメタ
• 標本化(サンプリングレート)
量子化(分解能・深度)
• 1サンプルあたりの量子化データ(数値)を並べる。
7
ディジタル化
• 時間軸方向のディジタル化(標本化)
• サンプリングレート:
44.1 kHz (CD), 22050, 11025, 48000, 8000Hz(電話)...
• cf.人間の可聴域: 約 20~20000 Hz
• Shannon の標本化定理
サンプリングレートの ½ までの周波数成分は
忠実に標本化可能
• 振幅方向のディジタル化(量子化)
8 bit (48 dB), 16 bit (96 dB: CD/DA), ...
8
聴覚(Wikipedia より): 内耳
9
可聴域 (20~20,000 Hz)
10
参考:可聴域
• 本当の可聴域は?
• 可聴域は人によってかなり個人差がある。
• 20~20,000 Hz というのは、純音(=正弦波)単独
での測定に基づく。
• 複合音では、単独では認識されない高周波成分
も(音色)などの形で認識されると言われている。
• 「モスキート」
• 若年(~25才ぐらい)は高音がよく聞こえるが、年
と共に高いほうが聞こえなくなる。
• 「モスキート」:若者を追いだす装置?
• →君には聞こえるか?
11
ディジタル化
y
• 時間軸方向のディジタル化(標本化)
• 振幅方向のディジタル化(量子化)
y
y'
-2.00
x
12
ディジタル化の例
Sampling rate
正弦波(440Hz)
ピアノ音(中央ハ)
261.1 Hz
44,100 Hz
(÷2=)22,050 Hz
(÷5=)8,820 Hz
(÷10=)4,410 Hz
(÷20=)2,205 Hz
(÷50=)882 Hz
880Hz π/3
44,100Hz 8bit
13
参考: CD のデータ
• CD の容量: 約 650MB(CD-ROM の場合)
• オーディオ CD(CD-DA)ではデータ量はこれより
多い(チェックビットなどがないため)
• サンプリングレート: 44100 Hz
2 byte / 2 channel, linear PCM
• 標準的な記録時間は最大約 74分
• 練習: 実際のデータ量を計算してみよ。
14
ディジタル情報の特徴
• 十分に高い分解能があれば、連続量を十分正確に表現で
きる。
• 技術の高精度化が背景として必要
• 精度とデータ量のトレードオフ
• 人間の認知能力との兼ね合い
• アナログ情報に比べて、はるかに高い自由度で生成・加
工・編集等の処理ができる。
• ソフトウェア的な処理
• データが転送、コピーによって劣化しない。
• 著作権問題: 「Winny 事件」等
15
音響データ(2)
• 数値の表現:
• 整数型
• 符号付整数(WAV 2 byte: ー32768~+32767)
• ベースシフト(WAV 1 byte: 0~255 (-128))
• 浮動小数点(Matlab 等)
• チャンネル数
• モノラル(1チャンネル)
• ステレオ(2チャンネル)
• 多チャンネルステレオ(5.1ch surround など)
16
音響データ(3)
• オーディオデータファイル形式
音響データそのものに加えて、パラメタ値などを
どう記録するかの決まり。
• 非常に多数の形式がある。代表的なものとして
は:
• WAV (Microsoft)
• AIFF (Mac/Apple)
• AU (Sun)
• (MP3)
• データの圧縮: 可逆/非可逆(MP3 等)
17
音響データ(WAV 形式)
• IFF/RIFF 形式
Mac 用の AIFF の MS/Windows 版
• ファイル拡張子: .wav 等
• ヘッダ部、フォーマットチャンク、データチャンクよりなる。
• フォーマットチャンク
データについての基本的な情報(チャネル数、サンプリン
グレート等)
• データチャンク
実際の波形データの数値列
• Big Endian/Little Endian 問題
• 資料: http://www.kk.iij4u.or.jp/~kondo/wave/ 等
18
WAV 形式: データ表現(数値)
• 数値の表現: 整数型
• 2byte: 符号付整数(ー32768~+32767)
先頭ビット:符号ビット
• 0xxx xxxx xxxx xxxx: 正(または 0)
• 1xxx xxxx xxxx xxxx: 負
• 1byte: ベースシフト(0~255 (-128))
• 1000 0000: 0
• 1xxx xxxx: 正(x≠0)
• 0xxx xxxx: 負(x≠0)
19
WAV 形式: データ表現
• 多チャンネルデータは、各数値データをチャネル
順に並べる。
• 2チャンネルステレオの場合、L, R, L, R, …
• バイトオーダー
Intel 方式(いわゆる little endian)
• n byte の2進数表現が [b1 b2 … bn] のとき、
ファイルには bn, …, b2, b1 の順に書き出す。
20
MIDI
(Musical Instruments Digital Interface)
• もともとは、ディジタル楽器の情報交換のための
規格として制定された。(1982/1983)
ハードウェアインタフェース、符号化方式、通信プロトコル
• 符号化:
音の高さ(ノート番号)、強さ(Velocity)、その他
• 拡張規格: GM (General MIDI)
メーカー固有: GS (Roland), XG (YAMAHA) 等
• ファイル保存形式: SMF (Standard MIDI File)
21
MIDI 機器(1)
• MIDI 音源(シンセサイザ)
各種の楽器の音を合成してオーディオ装置に送る。
• FM 合成方式(Yamaha DX-7 等)
• PCM 音源(Pulse Coded Modulation)
• その他
• コントローラ
通常の楽器の演奏インタフェースにあたる。
• MIDI キーボード
• MIDI ドラム
• ウィンド・コントローラ、ギター・コントローラ、 ...
• その他
シーケンサ、ミキサー、リズムボックス、...
22
MIDI 機器(2)
• 音源付キーボード
音源とキーボード等のコントローラが一体になっ
たもの(従来楽器のイメージ)
• 音源+コントローラ
従来楽器に対する大きな違いは、発音部分と演
奏インタフェースが分離されていること。
• キーボードで弦楽器、管楽器等の音が出せる。
• 物理的に離れていてもかまわない。
• 複数の音源を同時に制御できる。
23
MIDI とコンピュータ(1)
• コンピュータと MIDI 機器を接続するには、MIDI インタ
フェースが必要。
(最近の MIDI 音源では組み込みで用意されている:
RS-232C, USB インタフェース等)
• コンピュータによって
• MIDI 機器を制御する(演奏を行う)
• MIDI 機器から情報を入力し、記録(録音)、加工・編
集、出力する
• 他のメディアとの融合、多様な表現形式の実現
24
MIDI とコンピュータ(2)
• DTM (Desk Top Music)
音楽情報を様々な形で表現・入力・編集・出力する統合
的なシステム
Finale, Professional Composer, Cakewalk, Cubase,
Sibelius, MAX/MSP, ...
• 「ソフトシンセ」
MIDI 音源の機能をコンピュータ上でソフトウェア的に実
現するプログラム
• 現在のコンピュータには標準的に装備されており、ブラウ
ザなどの親システムから呼び出されて使われる。
• SMF は標準的な音楽データ交換形式となっている。
cf MusicXML (Recordare) も de facto 標準となりつつある。
25
MIDI/SMF
• MIDI: Musical Instrument Digital Interface
• ハードウェア
31.25 kHz serial, photo-coupler 接続
(MIDI コネクタ、MIDI ケーブル)
• コード: MIDI コード
• 拡張: GM (General MIDI), GS, XG, ...
• SMF: Standard MIDI File Format
• MIDI データのファイル保存形式
• 時間情報、トラックへの分割、メタ情報等
26
MIDI メッセージ
• Status byte(先頭1バイト)と data byte(s) よりなる。
• Status byte は MSB on(先頭ビットが 1)、data byte は原則
として MSB off(例外あり)。
8nH:
AnH:
CnH:
EnH:
note off
key pressure
program change
pitch bend
9nH:
BnH:
DnH:
FxH:
note on
control change
channel pressure
system message
• Channel voice message (status 8nH~EnH) では status byte
の下 4 bit はチャネル指定(16チャネル)
• Running status:
前のメッセージと同じ status byte は省略可能。
27
ノート・イベント
• note-on: 9nH + [note number]+[velocity]
• note-off: 8nH + [note number]+[velocity]
• note number: 半音単位での音高
(0~127: 中央ハは 60)
• velocity: 音の「強さ」(0~127)
note-on で velocity=0 なら消音に相当
⇒ running status 利用
28
SMF
•
•
•
•
IFF/RIFF 形式準拠
ファイル拡張子: .mid, .midi, .smf 等
ヘッダチャンクとトラックチャンクよりなる。
ヘッダチャンク
ファイルについての基本的な情報
• トラックチャンク
各「トラック」の実際のデータを格納
⇒「チャネル」と「トラック」の違いに注意
29
SMF: ヘッダチャンク
• “MThd” <length><format><ntrks><division>
• <length>(4bytes): チャンクの長さ(値 6)
• <format>(2bytes): 0, 1, 2 のいずれか
0: 1トラック、1: 複数トラック、(2: 複数曲等)
• <ntrks>(2bytes): トラック数
• <division>(2bytes): 時間分解能
通常は4分音符の分解単位を記す
(別形式:SMPTE+frame ticks)
30
SMF: トラックチャンク
• “MTrk”<length><events>*
• <length>(4 bytes): track の長さ
• イベント
• [delta-time] MIDI イベント
(SysEx 以外の)MIDI コード
• [delta-time] SysEx イベント
F0, F7 status の MIDI コード(可変長データを伴う)
• [delta-time] メタ・イベント
曲名、テキスト、調、拍子などの書誌的情報
31
SMF: 可変長数値指定
• 数値を 7 bit ずつに分割してコーディング
MSB on の場合には数値が続く。
例) 120 = 78H = 0111 1000B
259 = 103H = 1000 0010 0000 0011B
• delta-time: 直前のイベントとの時間差
同時イベントの場合には 0 を指定する。
32
SMF: メタ・イベント
• 書誌的情報:
テキスト、著作権表示、シーケンス/トラック名、
楽器名、歌詞、マーカー、キュー・ポイント
• 楽曲情報:
テンポ指定、拍子、調
• トラックの終わり: end of track
• その他
シーケンス番号、MIDI Channel Prefix,
シーケンサ固有情報等
33
SMF: 運用
• 実際のデータでは、note on/off に running status
を使用しているものが多い。
⇒ 中途からの再生に問題あり
• 時間分解能は、大きいほど細かい指定ができる
が、delta-time などのバイト数が多くなる。
♩ = 96, ♩ = 480 など
• 実際の演奏の質は音源依存
• トラックとチャネルの関係、分割/統合
• テキスト中の日本語コード
34
文献 (MIDI 関係)
• 音楽電子事業協会
http://www.amei.or.jp/
MIDI 1.0 規格書、リットーミュージック (1998)
• MMA (MIDI Manufacturer’s Association)
http://www.midi.org/
• 新井純
SMF リファレンス・ブック、GS リファレンス・ブック
Edirol リットーミュージック (1996)
• 田辺義和: Windows サウンドプログラミング、
翔泳社 (2001)
• (授業ページのリンク集も参照)
35
文献
• E. Selfridge-Field (Ed.):
Beyond MIDI: The Handbook of Musical Codes,
MIT Press (1997), BN 0-262-19394-9.
• C. Roads: The Computer Music Tutorial,
MIT Press (1996), BN 0-262-68082-2
(平田他(訳):「コンピュータ音楽」、東京電機大学
出版、2001)
• 平田圭二:「コンピュータ上での音楽知識の表現」、
bit 別冊「コンピュータと音楽の世界」4.2 節、
pp.163-181.
36