[戻る]

[1-] [101-] [201-] [最新50] [検索] ※標準/名無しさん

18 黒猫SPCに関する話題 その2(236)

1 管理者 : 2011-02-09 00:59:53 [87zrFHBw]
黒猫SPCやID6666に関する話はここでお願いします。

SPC自体の話や、script700関係でもOKです。
SPCの在処なんか聞かないように。

前スレ>>>10
21 127 : 2012-10-20 02:55:52 [rsyw1vzw]
エラー報告とか要望だとか言うほどの話ではなく、ちょっと気になった程度の話題です。

・WAV出力先フォルダについて
出力先フォルダを記憶する機能が071001で付いたようなんですが、2度目以降のWAV出力の時に前回の出力先がルートになった状態でフォルダ選択が表示されるのは仕様でしょうか?
前回のフォルダがルートなので、一回黒猫SPCを終了しない限りはサブフォルダに潜るフォルダ変更しかできないのでなんか違和感がすごかったです。

・逆位相パンのDSP表示
聖剣伝説3とかは単チャンネルにしてNoSurroundとか使った感じから明らかに逆位相パンが掛かってるのですが、DSP700だとVLもVRも-にはならずPanpot表示もL、C、Rしか出てきません。
エコーとかで逆位相かかってるのかもしれませんが、これをDSP700で視認する方法ってありますか?

・DSP700のfps周りの話
環境によっては64fpsで固定されたりされなかったりの件についてです。
マナー違反かもと思いつつもデバッガで黒猫SPCの中を少し覗かせてもらいました。
直接使っているのかライブラリ間接かは判りませんが、GetTickCountを使っているのが原因だと思います。
GetTickCountは一応ミリ秒を返すものの精度は10~20ミリ秒程度が仕様です。
timeGetTimeはtimeBeginPeriodで指定した精度まで出る仕様なので、timeBeginPeriodで1を指定した上でtimeGetTimeを利用するのが王道となります。
GetTickCountで60fps位のfpsを管理すると破綻する環境もあるので、fps管理はtimeGetTime以上の精度を持ったタイマで行うのが必須です。
参考:http://www.emit.jp/prog/prog_t1.html
ただこの検証ページに反する例もあって、私の環境(XP Pro SP3)のようにtimeGetTimeやSleep呼び出し時にGetTickCountの値が更新されない環境もあるようです。
その上timeBeginPeriodはOSグローバルな値で参照カウント方式で実装されていてネスト可能な値・・・らしいので、環境によっては勝手に精度が上がってしまいますし、Sleepはコンテキストスイッチを伴うので1msを指定しても2ms以上をコンスタントに返す環境もあったりと、色々面倒事は多いようです。
「メディアプレイヤーを起動していると他アプリの動作が滑らかに」みたいな現象はtimeBeginPeriodの影響やtimeGetTimeによるタイマの連動更新の影響だと言われていますね。

私の環境(XP Pro SP3)だと
・timeGetTimeとGetTickCountは独立
・timeBeginPeriodは何もしてなくても1っぽい挙動
・Sleep(1)は2ms位かかる
・GetTickCountは15~16ms毎に更新される ←注目!
・黒猫SPCのDSP700は64fpsまでしか上がらない ←注目!
です。
このGetTickCountの更新周期は丁度64fpsを実現する待機時間15.625msに一致します。
恐らく黒羽さんの環境も似たような状態だと思われます。

・ところで
SPCの音色の波形を見てみたいのですがおすすめの方法ってありますか?
昔どこかの耳コピ職人がFFの波形が面白い的な事を書いていたのですが、出力波形だとエイリアスがガリガリかかるし生の波形を見る方法が知りたいです。
出来ればDSP700の中で現在選択中の波形が見えたりすると楽しいんじゃないかとか思ったんですがどう考えても面倒くさいですよねコレ。
NAME: MAIL:

[ALL] [LAST100] [1-100]

megabbsっぽい PHP+MySQL +NGワード +DNSBL 111102 / 黒羽製作所