----------------------------------------------------------------------------- WAV 2 MID (WAV to MID) Version 0.93   〜 WAVファイルをMIDファイルに変換するソフト〜 BY ARIZU 99/3/29 ----------------------------------------------------------------------------- This text is written in Japanese of Shift-JIS code. <用途> このソフトは、WAVファイルを、SMF(Standard Midi Format)に 変換するソフトです。 当然、原曲そのままの音符データに復元することはできません。単奏の音なら、 かなり正確に判別できるようになりましたが、二重奏以上のものになると、未だ かなりの雑音を拾ってしまったり、音が欠けてしまいます。 <対応OS> MS-DOS <対応機種> PC9801,AT互換機の両方で動きます。 <使い方> DOSプロンプト上で次のように入力してください。 WAV2MID [WAVファイル名.WAV] /T[テンポ] /R[トラック数] /V[音量拡大率] /P[プログラムナンバー] /M[最小変換可能スペクトル値] 但し、オプションは省略可能で、順番は問いません。また、"/"(スラッシュ)の代わ りに"-"(マイナス)も使用できます。文字は大文字、小文字どちらでもかまいません。 [テンポ]とは、1分間における四分音符の数です。(40〜480の値を指定) 無指定時は、120になります。 [トラック数]とは、最大何重奏にするかという値です。(1〜16の値を指定) 無指定時は、4になります。 [音量拡大率]とは、音量を通常値の何倍にするかという値です。(5~199の値を指定) 単位は0.1倍です。無指定時にはWAVファイル全体の振幅分布をを調べて、最適な値を 自動決定しますので、特に指定しなくても結構です。尚、個々の音符の音量は、波形 データにより変動します。 [プログラムナンバー]とは、出力されるMIDIファイルの音色(楽器)番号のことです。 (1~128の値を指定) 無指定時は、1(GM規格ではAcoustic grand piano)になります。 [最小変換可能スペクトル値]とは、いわゆる音量フィルタ値です。(0~127の値を指定) つまり、この値よりも小さい音量の音は変換されません。この値を調節することによ り、雑音を出力しないようにできますが、あまり大きい値を指定すると出力すべきの 音まで、消されてしまいますので、ご注意下さい。無指定時は3です。 例: CDE.WAV を [テンポ:100 重奏数:2 音量2.5倍 音色:オルゴール(番号11)]の MIDファイルに変換する場合、 A:>WAV2MID CDE.WAV /T100 /R2 /V25 /P11 成功すると、WAVファイル名の拡張子部分が .MID になったファイルが、 入力ファイルのあるディレクトリ(フォルダ)に生成されます。 範囲内のテンポの値を指定したにもかかわらず、"テンポの値が悪い"と(英語で) 表示されたときは、テンポの値を大きくして再度実行してみてください。 <対応ファイル> このソフトは全てのWAVファイルには対応してません。 対応しているのは、フォーマットタイプが、”リニアPCM”と呼ばれている タイプのものです。WINDOWSのサウンドレコーダで録音したWAVファイルや、 WINDOWSの起動音や警告音のWAVファイル等がこれに当たります。  非対応タイプのWAVファイルで実行すると、”----ヘッダがありません” ”リニアPCMではありません”等のエラーが(英語で)出て中断します。  ステレオのファイルは左右の位相の平均値(合成波)を用います。 一般に、1つの音が始めから終わりまで変わりにくい音(電子音,管楽器等) の方が、変化する音よりよく判別できます。また、低音より高音、重奏の音より 単奏の音の方が、判別し易いようです。 <出力ファイル> 出力ファイルはスタンダードミディフォーマットファイル(.MID)です。 (Format 0 MIDI file)  音波を一定の長さに区切って、1つの区間を32分音符(休符)に変換して いるので、出力される最短音符(休符)は32分音符(休符)です。 同じ音階の音符が続いたときは、一つの音符にします。 (例: ドの32分音符が4つ続いたときはドの8分音符になる) テンポは、特に指定がないないときは、t=120(1分間に四分音符が120)となります。 テンポの値を大きくすると、変換時間は長くなりますが、短い音も拾えるように なります。但し大きすぎると、低音より高音を拾うようになってしまいます。 逆に、テンポの値を小さくすると、変換時間は短くなりますが、短い音がうまく 変換できなくなります。 同時発音数(重奏数)は、指定がないときは4です。(最大16) 一般に、数が多くなる程、"音欠け"は減りますが、雑音も拾い易くなります。 ベロシティ(ボリューム)は原曲の成分の大きさに比例させて、音符ごとに変化させ てます。音量拡大率自動決定機能を付けたことで、減ったとは思いますが、サンプ ルの音が小さすぎるとベロシティの値が小さくて、音が聞こえなくなることがあり ます。  そのようなときは、[/V]オプションの値を大きくして、ベロシティの値を大きく してください。[/V]オプションは0.1倍単位ですので、2倍にするときは、20を指定 します。10より小さい値を設定すると、余計に小さくなってしまいますのでご注意 下さい。  また逆に、値を大きくしすぎると、雑音までもが大きくなってしまい、本来のメ ロディが聞き取れなくなってしまいます。WAVファイルの音量(振幅)が小さい時は 大きめの値を、大きいときは小さめの値を設定してください。無指定時の自動設定 された値が参考になると思います。 <変換方法> FFT(Fast Fourier Transform: 高速フーリエ変換)を用いて、WAVファイルの波 データをスペクトル成分に分解する。 倍音(基音の整数(±0.03)倍の周波数の音で基音よりも小さい音としている)を削 除した中で、スペクトル成分の大きい周波数順に、その周波数より、次の式で音名 とオクターブを求めている。 F = 440 * 2 ^ ( x / 12 ) ( F:周波数、x:440Hzのラとの音階差数 ) x = 12 * log( F / 440 ) / log(2) ( log(X): log e X ) <作成環境、道具> PC9821Xs / PC9821Cx13 TURBO C VER 2.0 <参考資料> このソフトの作成に当たり、以下の資料を参考にしました。 1,書籍  題名(出版社)    著者、編者(敬称略) 内容 * フーリエの冒険  Transnational college 波の解析に必要な,フーリエ変換を (ヒッポファミリークラブ) of Rex 分かりやすく解説してます。 * C言語による   奥村晴彦 FFTルーチン等で参考にしました。  アルゴリズム事典           多くのアルゴリズムが、    (技術評論社) Cプログラムと共に解説してます。 * 音の何でも小事典 日本音響学会     "音についてのあらゆることを    (講談社)              徹底解説"とのこと。 * 科学計測のための  南 茂夫 波形データの処理方法をBASICの   波形データ処理 (CQ出版) プログラムと共に解説。 2,テキストデータ、プログラムソースファイル    WAVファイル,MIDファイルの構造を知る上で、大変参考になりました。    各作者に厚く御礼申し上げます。 * WAVEフォーマット解説 (WAVFMT.TXT)  安島雄一郎氏 * WAVE98ソースファイル (WAVE98.C)   大澤文孝氏   * Standard MIDI Files 0.06 日本語翻訳版 原文: Doug Wyatt 氏 訳者: OZ氏, 川村優子氏 <協力> 資料収集: FLIGHT氏 <権利、義務及び配布、転載について> このソフトに関する著作権は全てARIZUが所有します。 ただし、このソフトはフリーソフトですので、使用料はいりません。 このソフトの使用に関して発生したいかなる損害も当方は一切責任をとりません。 このソフトの使用、出力ファイルの運用等は各自の責任下において行ってください。 また、本ソフトの配布、転載は、以下の条件下においては原則として自由です。 特に著作者に許可を求める必要はありません。 1, 3の場合を除きこのアーカイブ をそのまま転載すること。 2, 作者名及び著作権の表示を改変しないこと。 3, プログラムを改変、改造して配布、転載するときは、   変更箇所、変更者名、変更者の連絡先を明記すること。   ただし、このドキュメント(改変不可)は必ず添付して配布すること。 また、義務ではありませんが、 事後で結構ですので、作者まで連絡をしていただけると幸いです。 また、最新版が出たときはなるべくそれも転載するようにお願いします。 尚、日本の著作権法は第2条第1項第十一号で、「著作物を翻訳し、編曲し、もしく は変形し、または脚色し、映画化し、その他翻案することにより創作した著作物」は、 二次的著作物であると定義しています。そして、二次的著作物にはもとの著作物の著 作者の権利が及びます。つまり、本ソフトで生成したMIDファイルには、WAVファイル の著作者の権利が及びます。出力ファイルが、入力ファイルの面影を全くとどめない ようなものになってしまった場合を除いて、出力ファイルの取り扱いには、入力ファ イルの著作者の権利を侵害しないように、十分お気をつけ下さい。 このドキュメントを抜粋、引用することは、行なってかまいませんが、 改変することは禁止します。(誤字、脱字の修正の上、引用する場合を除く。) また、抜粋、引用をする時は、その由を文に付記してください。 ( "wav2mid.txtより抜粋" 等 ) 御意見、御感想、バグレポート等ございましたら以下にご連絡下さい。 皆様のご報告を参考にさせていただきます。 当方の都合により、返答が遅れる、もしくはできないことがあるかも知れませんが、 ご了承下さい。 TOKYO BBS ID: ARIZU YUI NET ID: YUI17959 ARIZU InterNet Address: arizu@mail.goo.ne.jp arizu@tokyobbs.or.jp (但し、arizu@tokyobbs.or.jpは1999年3月現在使用不能)