自分が遊んだゲームのことなどを中心に、適当に書いています。
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
自分が今使っているPHS
PHS電話機 (エッジ) 『ル・モテ』 KX-PH23F
は、もうすぐ使い始めて10年が経つのですが、未だに快適に使えています。
しかし、これだけ経つといつ壊れても不思議ではないので、今日は自分が暇な時に打ち込んでいたPHSの「メロディ作成」で作ったメロディをとりあえずメールでPCに送ってみました。
PメールDX(Eメール)でメールと一緒に作成したメロディを一緒に送って、PCで添付ファイルを確認すると"~.als"というファイルになっています。
この中身がどうなっているのかふと気になったので、送った10曲を手がかりにちょっと調べてみました。
できたalsファイルをバイナリエディタで開いて、PHSのメロディで表示されている内容と比較して調べていくのは、なんか古代の文書の文字を解読するような感じがして楽しかったです。
以下わかったことのまとめです。
※以下H"AA"は16進数の(AA)という意味で書いています。
PHS電話機 (エッジ) 『ル・モテ』 KX-PH23F
は、もうすぐ使い始めて10年が経つのですが、未だに快適に使えています。
しかし、これだけ経つといつ壊れても不思議ではないので、今日は自分が暇な時に打ち込んでいたPHSの「メロディ作成」で作ったメロディをとりあえずメールでPCに送ってみました。
PメールDX(Eメール)でメールと一緒に作成したメロディを一緒に送って、PCで添付ファイルを確認すると"~.als"というファイルになっています。
この中身がどうなっているのかふと気になったので、送った10曲を手がかりにちょっと調べてみました。
できたalsファイルをバイナリエディタで開いて、PHSのメロディで表示されている内容と比較して調べていくのは、なんか古代の文書の文字を解読するような感じがして楽しかったです。
以下わかったことのまとめです。
※以下H"AA"は16進数の(AA)という意味で書いています。
1.曲の最初 ・最初の2バイトがH"E1F0"で始まっているようだ。 2.曲名 ・普通にShift-JISコードになっているようなので、 テキストエディタで見るとここだけ普通に読めた。 3.曲名とテンポの間 ・曲名とテンポの間の2バイトがH"FDF1"になっているようだ。 4.テンポ ・テンポは1バイトで表されているようだ。 ・KX-PH23Fで使えるテンポは、 (60、66、72、80、88、96、104、 112、120、126、132、144、160、172)の14段階になっている。 ・テンポが2上がる毎に16進数の値が1ずつ増えているようなので、 実際に確認した値から推定すると テンポと16進数の対応は下記のようになると思われる。 NO テンポ 16進 1 60 60 2 66 63 3 72 66 4 80 6A 5 88 6E 6 96 72 7 104 76 8 112 7A 9 120 7E 10 126 81 11 132 84 12 144 8A 13 160 92 14 172 98 5.曲の内容(音の羅列) ・1つの音は(音符の長さ、音符の長さ、・・・) +(音の高さor休符)で表されているようだ。 タイで繋いだ音には音符の長さを表す16進数が2個出てきたので。 (1)音符の長さについて ・1つの音符の長さは1バイトで表されているようだ。 ・KX-PH23Fで使える音符は、 (全音符、2分音符、4分音符、8分音符、 12分音符(4分音符の1/3)、16分音符、 24分音符(8分音符の1/3))の7種類、 付点は使えないが、タイ記号で音を繋げられる。 ・1つの音符の長さを調べてみて確認できたのは下記。 規則が複雑なのでよくわからないところがある。 NO 16進 音符の種類 全音符の長さを基準(1)とした長さ 1 H"C0" 全音符 48/48 2 H"C1" 2分音符+ 4分音符 32/48 3 H"C2" 2分音符 24/48 4 H"C3" 4分音符+ 8分音符 18/48 5 H"C4" 4分音符 12/48 6 H"C5" 8分音符+16分音符 9/48 7 H"C6" 8分音符 6/48 8 H"C7" 12分音符 4/48 9 H"C8" 24分音符 2/48 10 H"C9" 16分音符 3/48 11 H"CA" ? 12 H"CB" ? 13 H"CC" ? 14 H"CD" ? 15 H"CE" 2分音符+ 8分音符 30/48 16 H"CF" ? 17 H"D0" 4分音符+16分音符 15/48 ・ ・ ・ ? (2)音の高さと休符について ・音の高さと休符も1バイトで表されているようだ。 ・KX-PH23Fで使える音は、 (基準の音(ド~シ)の高さの同じ音より 1オクターヴ低い"レ"~ 3オクターヴ高い"ソ#") までの55段階の音。あと休符が使える。 ・休符はH"00"で表されていた。 ・いくつか音を調べたところ、 音の高さが半音上がる毎に16進数が1ずつ増えているので、 まとめると下記のようになっていると推定される。 NO 16進 音名 # オクターヴ 1 H"29" レ -1 2 H"2A" レ # -1 3 H"2B" ミ -1 4 H"2C" ファ -1 5 H"2D" ファ # -1 6 H"2E" ソ -1 7 H"2F" ソ # -1 8 H"30" ラ -1 9 H"31" ラ # -1 10 H"32" シ -1 11 H"33" ド 0 12 H"34" ド # 0 13 H"35" レ 0 14 H"36" レ # 0 15 H"37" ミ 0 16 H"38" ファ 0 17 H"39" ファ # 0 18 H"3A" ソ 0 19 H"3B" ソ # 0 20 H"3C" ラ 0 21 H"3D" ラ # 0 22 H"3E" シ 0 23 H"3F" ド +1 24 H"40" ド # +1 25 H"41" レ +1 26 H"42" レ # +1 27 H"43" ミ +1 28 H"44" ファ +1 29 H"45" ファ # +1 30 H"46" ソ +1 31 H"47" ソ # +1 32 H"48" ラ +1 33 H"49" ラ # +1 34 H"4A" シ +1 35 H"4B" ド +2 36 H"4C" ド # +2 37 H"4D" レ +2 38 H"4E" レ # +2 39 H"4F" ミ +2 40 H"50" ファ +2 41 H"51" ファ # +2 42 H"52" ソ +2 43 H"53" ソ # +2 44 H"54" ラ +2 45 H"55" ラ # +2 46 H"56" シ +2 47 H"57" ド +3 48 H"58" ド # +3 49 H"59" レ +3 50 H"5A" レ # +3 51 H"5B" ミ +3 52 H"5C" ファ +3 53 H"5D" ファ # +3 54 H"5E" ソ +3 55 H"5F" ソ # +3 56 H"00" 休符 6.曲の終わり ・ファイルの最後は必ずH"FF"で終わっているようだ。
以上です。
と、ここまで調べてみたら、既にalsファイルについて詳細に調べてあるページを検索で見つけたので紹介しておきます。
P H″S SOFT HOUSE
のサイト内の
ALSファイルフォーマット
のページに詳細な調査内容がありました。
また、このサイトにある"PsmPlayer"というツールのフリー版をダウンロードして使ってみたのですが、ちゃんとPC上でALSファイルをPHSで打ち込んだ通りに演奏することができたので、なかなか良かったです。
PR
この記事にコメントする