mieki256's diary



2013/04/30(火) [n年前の日記]

#1 [prog] HSP 3.32 と StarRuby 0.3.3 のoggループ再生時の不具合

メインPC上で、再生時のサウンドを録音して波形を眺めてみたり。メインPCで動かせば、どのスクリプトも60FPS前後が出てるので、処理時間がかかり過ぎて起きてる不具合ではない、と思う。

以下は、HSP 3.32 + hgimg3 と、DXRuby 1.4.0 + Ayame.dll の、再生結果の違い。

HSPとDXRubyの比較


以下は、StarRuby 0.3.3 と、DXRuby 1.4.0 + Ayame.dll の、再生結果の違い。

StarRubyとDXRubyの比較


一応 _wavデータもzipでまとめて 置いておくですよ。

波形で見たら、やはり HSP と StarRuby はおかしかった。自分の耳がおかしいわけではなかった。少しホッとした。

HSPでの再生は、ループ再生の始まりが微妙に早くなってる・前へと詰められている感じ。HSPの再生結果wavと、DXRubyの再生結果wavを、Audacity に両方D&Dして鳴らしてみたら、ループの2周目、3周目でどんどんずれていって、音の聞こえ方が明らかに変わっていったから、詰まっているのは間違いない。音は途切れていないから、HSP側だけ一見(一聴?)しても分かりづらいのだけど。波形が繋がらない箇所があるので、そこがノイズになって聞こえるのだろうと。

StarRuby は、波形を見れば一発で分かるけど、無音が入ってる。これはもう論外。

DXRuby + Ayame.dll の再生結果は正しいの? という疑問もあるけれど。PyGame、Ruby/SDL、Audacity でループ再生しても同じように聞こえているので、DXRuby + Ayame.dll も、ほぼ正しい再生をしてるんじゃないのかなと。このあたり、自分は、厳密に正確な再生結果じゃなきゃいかんと思ってるわけでもなくて。仮に微妙にずれていても、変なノイズが載ってるように聞こえなければそれでええんでないの? とズボラ(?)なことを思っていたり。ただ、HSP と StarRubyは、その許容範囲を超えてるように思える、てな話に過ぎないです。

ちなみに、鳴らすoggの容量が増えることをアリにすれば、楽曲作成時の工夫で回避できそうかなと踏んではいますが。

こういうアレコレを許容するかしないか。 :

「このくらい気にすんなよ。禿げるぞ」とか言われそうな予感も。しかし、そういう姿勢はいかがなものかと。

プログラムの不具合が原因で、楽曲データ作成者が意図しないノイズが乗るなんて、娯楽コンテンツに関わるプログラマーなら許容しちゃいかんよなと。何故なら、そのノイズが入る状態は、ユーザ体験の向上に一切寄与してないからですよ。それどころか、一度気付いてしまうとコンテンツへの没入感を阻害してしまう。そういう種類の不具合は潰しておくべき。基本的には、残すことを認めちゃいけない。(あくまで「基本的には」ですが…)

同じ「ノイズ」でも、例えば楽曲制作時にアナログレコードのプチプチノイズを意図的に追加したりするソレとはわけが違う。また、メガドライブでPCMを鳴らしてガビガビに聞こえていたソレのように、ユーザ体験を豊かにしようとして少し無理したらノイズ入っちゃった、みたいな話ともわけが違う。

お客さんを楽しませることに繋がっていきそうなものなら、それは許容していい。だけど、そうじゃないなら、それは安易に許容しちゃいけない。「娯楽」を作るなら、その線引きを忘れたらダメだよなあ、と。

なので、こういう不具合は修正できたほうが望ましい。「気にすんな」とか言ってちゃいかん。…ただし、あくまで、技術的・時間的に修正ができそうなら、の話ですけど。ノイズを気にするあまり、機能をバッサリ削ったり、他の部分が全然作れなかったら、本末転倒というか、バランスを欠いてしまうので。それもよろしくない。

まあ、「こういうのは、直せるなら直せたほうがいいよね」「最初から『気にすんな』ではダメ過ぎ」「でも物事には優先順位があるから、状況によっては直せなくても仕方ないよね」ぐらいの軽いノリの話に過ぎないですけど…。

しかしコレ、とってもカッコイイBGMでも鳴ってたら、ノイズなんてどうでもよくなるような気も…。まずはそっちに注力しないと、だよなあ…。

それと、BGMをループで流すスタイルがもう古い、という話も今時はあるらしいので…。「ループする時点でダメ」とまで言われちゃう可能性も…。

以上です。

過去ログ表示

Prev - 2013/04 - Next
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project