ベータ版の完成です

Binary Editor ベータ版の完成です。

前田稔の超初心者のプログラム入門

プログラムの説明

  1. テキストを修正して、Uアイコンをクリックしただけでは、byt[] が修正されただけで、ファイルは更新されていません。
    次ページ(&N)、前ページ(&P) を実行すると、元の状態に戻ります。
    ファイルを書き換えるには、メニューから「編集/書き込み(&W)」を選択します。
    書き込み(&W) を不用意に実行すると、元に戻すことが出来ないので、あえて ToolStrip には登録していません。
  2. 「編集/書き込み(&W)」の Write() イベントハンドラでは edit.bytWrite() を呼ぶだけです。
        private void Write(object sender, EventArgs e)
        {
            edit.bytWrite();
        }
        
  3. bytWrite() メソッドです。
    Position に pos を設定して、Write(byt, 0, leng); を実行すると pos から leng バイトが書き換えられます。
    書き換えたファイルは元に戻らないので注意して下さい。
        // byt[] のレコードを更新
        public void bytWrite()
        {
            FileStream writer = File.Open(file_name, FileMode.Open);
            writer.Position = pos;
            writer.Write(byt, 0, leng);
            writer.Close();
        }
        
  4. Binary Editor に専用のアイコンを設定します。
    1. 専用の Icon を作成して、プロジェクトのフォルダに格納して下さい。
    2. ソリューションブラウザから、Properties を右クリックして[開く(O)]を実行します。
      プロパティウインドウの[アイコン(C)]は(既定のアイコン)になっています。
      (既定のアイコン)の右端をクリックしてフォルダに格納したアイコンを選択します。
    3. プロジェクトのデザイン画面から Form を選択してプロパティを表示します。
      プロパティをスクロールして Icon の位置に設定します。
      Icon のプロパティから右端をクリックしてフォルダに格納したアイコンを選択します。
    4. 詳細は 専用 icon を設定 を参照して下さい。
  5. Binary Editor の操作法です。

Binary Editor のテスト

2004/06/24 放送のトリビア(trivai) の泉でこんな興味深い放送をしていました。
<FONT COLOR=#F00000>
一青ヨウの「もらいなき」の再生速度を遅くすると、平井堅が歌っているように聞こえる
</FONT>

インターネットでは以前から知られていた話題で、トリビアの泉に投稿された直後には多くのメッセージが駆け巡っていましたが、 これをパソコンで検証してみたいと思い調べた所、音楽のテンポを遅くするには WAVE ファイルのヘッダ部に記述されている サンプリングレートと転送速度を直接書き換えて演奏する方法が最も手っ取り早いことが解かりました。

2020/06/02 C#の Binary Editor が完成したのをきっかけに、この話を思い出し久しぶりにテストすることにしました。
Binary Editor で「もらいなき」の WAVE ファイルのヘッダ部分を書き換えて下さい。
Media Player で演奏すると本当に平井堅が歌っているように聞こえます。
サンプリングレートとデータ速度は、80%に落とした値です。
演奏が終われば WAVE ファイルのヘッダ部を元の値に戻しておいて下さい。
修正する項目 バイト位置 元の値 変更する値
サンプリングレート 24~4 Byte 44AC0000 D08D0000
データ速度 28~4 Byte 10B10200 40270200

[Previous Chapter ↑] ページを修正する

超初心者のプログラム入門(C# Frame Work)