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