サンプルレートが上がるほど、高い音は出なくなります。作成しても、波形のノイズ等に満足できないこともあると思います。これを解決するにはさらに大きくサンプルレートを上げてしまいましょう。解決法はさまざまですが、手軽な方法を一例として紹介します。25.0%」にしたファイルを保存・DPCM変換しましょう。感じがだいぶ変わると思います。あれば、高サンプルレートのWAVEファイルをリサンプリングなしで変換することも可能です)サンプルレートを上げることで、品質向上が狙える可能性があります。高域が失われないため、こもった感じがなくなる(一般的なハイサンプリングの利点)ファミコンDPCMは差分を1bit(±1)で記録するため、サンプル同士の変化が激しいと誤差が大きくなり劣化を生む。同じ鳴り方をする波形でも高サンプルレートにすることでサンプル間の差が小さくなれば、誤差が軽減されて音質が改善される可能性がある。DPCMは「変動なし」という情報を記録できないため、サンプル間の差が小さすぎる場合にも振動による誤差が生じる。差が大きすぎる場合に比べて弊害は少ないが、サンプル数を上げれば必ず音質が改善されるとは言えないことに注意。一方で、下記のようなデメリットがあります。波形の長さ(秒)はサンプルレートに反比例して短くなります。サンプルレートを上げると音程補正の度合いも大きくなる分、鳴らせる音階の幅はせまくなります。このあたりの調整は、ひとつの頑張りどころと言えそうです。計算してもらえばOKです。作成する際の注意(特にループ波形)下記の点に留意する必要があります。仕様)ピコカキコのプレイヤーはこの制約をちゃんと守っており、余剰バイトは内部で捨てられます。なければならないことを意味します。厄介ですが仕様なので仕方ありません。ループする際に音量値は初期値に戻らない。1周目と2周目で波形が異なってしまう可能性がある。使用するコンバータはお好みで良いのですが、私見を以下に記します。致命的なバグ*1があるので使わないほうが良いです(2013年5月2日時点)。DPCMのサイズ境界(1+16n)も考慮されていないため、末尾のサンプルが消失してしまう問題も抱えています。本記事でリンクしているバージョンはいずれも修正済であるため問題ありません。変換処理はほぼ同等です。方が高品質なリサンプリングを行う。どちらも入力サンプル数が8で割り切れない場合は余った末尾サンプルを捨てます。どちらも最初の出力サンプルは初期値になりません(初期値同士を比較して符号化しているため)。ポイントをまとめると以下のようになります。あとは各自の好みでOK。サンプルにしなければならない。ループ波形は1周目と2周目で異なる波形を出力しうる。波形の終端で音量が大きく元に戻らない場合、波形終端をフェードアウトしたり、サンプルレートを上げたりすることで収束しやすくなるかもしれない。指定するノートによって16段階の周波数で発音できます(周波数は表にもとづいていて、音程差は均等ではない)。コマンドを使うとリアルタイムで再計算が必要になる都合により、周波数の計算が他の波形と同じような形になります。よって周波数を書き換えてしまいます。内容は長さ0の三角波です。長さ0なので振動しません。仕様的に三角波の変位は0から開始ではないため、指定した音程の変化が即時に行われるわけです。これがわかれば、あとはひたすらどのように高品質な波形を用意するかが問題だと思います。上記の通り気をつけなければいけないことが多々ありますが、がんばるしかないです。何か素敵な技がありましたら、ぜひぜひおしえてください。32648*1:DACは7bitだが、波形の変動は下位1bitを無視した6bitの範囲で行うのが正しい。さんのコンバータは単なる7bitで扱っているため、内部で想定する波形がまったく異なってしまう。»プロフィールid:GOCHADTM、TAS、プログラミングが趣味です。かわいいものがすきです。)にも興味があります。技術系の一般記事を書いています。動画にときどき投稿します。gochaはてなブログをはじめよう!GOCHAさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。