2021年7月16日金曜日

太鼓さん次郎ver.2.92で段位(tjc)が落ちる時の対処法

 (随時加筆予定)

 題名の通りです。

 

 長いこと界隈に関わっていると、創作段位の制作やプレイ時に「毎回この曲への移行で次郎が落ちるんだよなあ」と思う経験があるかもしれません。

 そんな時どうすりゃいいか分からん人の為に、備忘録も兼ねてこのブログに書き残したいと思います。

 

 

 

 では本題に入りますが、前提条件として

tjcの動作不良は、PCや次郎の環境により異なる」 

 という大きな問題があります。

 これを根本から改善させる方法は、私には分かりません。
 どの項目もあくまで可能性に過ぎないので、気長に原因を探っていきましょう。

 

 

 

・Case1 - 次郎の問題

 よく分かんないけど頻繁に段位落ちるんだよね~って場合は大抵config弄ればなんとかなる

 

・config.ini 内の以下の項目を確認する (☆☆☆)

 ShowResult=
 この数値が1になっている場合、2に変更する。逆も然り。
ただし1の場合tjcの記録は残らない。

 WavBufferSize=
 この数値が0になっている場合、100000などに変更する。逆 も然り。
 0以外にする際は、値が少ないと動作が重くなりやすい。

 SearchAllDirectory=
 この数値が0になっている場合、1に変更する。
 基本的にフォルダ検索の階層指定でしかないが、どうやら1にしないと起こりうる動作不良があるらしい。

 他にも何かあるかもしれないので、参考程度に私の
config.ini を貼り付けておきます。


・段位の演奏順を変える (☆☆)

 根本的な解決にはならないが効果は絶大。
 例えば段位の演奏順にA-B-Cの譜面をプレイする際、Bの譜面で次郎が落ちやすいなら、演奏順をB-A-Cにすると安定して動作する可能性がある。
 言うまでも無く最終手段、後ほど紹介する楽曲単体での修正がどうにもならければ一考の余地あり。


・次郎そのものの動作が重い (☆)

 多量のスキンを使用している場合、段位の読み込み時に処理が追い付かず落ちる可能性がある。
 PCスペックと相談し、負荷が大きいのであればシンプルなスキンを導入してみると良いかもしれない。

 

・次郎のフォントに対応していない文字を使わない (☆)

 当たり前すぎておハーブ生えますわ。
 曲名を空白にせざるを得ない場合は、なんとか誤魔化してあげよう。

 

 

・Case2 - 楽曲の問題

 経験上、特定の譜面で次郎が落ちる場合は、前後の譜面と因果関係は薄い傾向にある。
 例えば3曲設定のtjcで2曲目が頻繁に落ちる場合、大抵の原因は2曲目にある。

 なお曲順によって起こりうる例外的な不良も存在するため、そちらは後ほど紹介したいと思う。

 

 

・ファイル名が長すぎる (☆☆)

 大抵の譜面は「曲名(フォルダ)>曲名.tja , 曲名.ogg」で統括されているが、このファイル名が長すぎると段位が落ちる可能性がある。
 落ちやすい譜面の曲名が例えば「レンジで好吃☆電子調理器使用中華料理四千年歴史瞬間調理完了武闘的料理長☆」のようにクソ長い場合は、曲名を省略した上で参照されるtjaやtjc内の項目を修正すると良いかも知れない。

 

・楽曲(ogg)の末端に空白が無い (☆☆☆)

 特にオフセットと共にノーツが流れ出す、又はノーツを叩き切った瞬間に曲が終わる場合に段位が落ちやすい。
 oggファイルを確認し両端に空白が全くない場合は、1秒程度無音を追加してみると良いかも知れない。
 SoundEngineであれば、両端無音挿入という機能がある。


・oggの音質が良すぎる (☆☆)

 oggファイルの容量が大きいと、読み込みの処理が追い付かず段位が落ちやすい...かもしれない。
 体感7~8MBを超えると危ういため、そういった楽曲で不良が起こるのであれば、音楽編集ソフト等で音質を落とし再出力。

 

・tja及びoggのエンコードが違う (☆)

 上記と関連性の高い項目。
 段位で読み込む譜面のプロパティの詳細を開き、
 tjaであれば文字コードが一致しているか確認する。
 一致していない場合、新規でtjaファイルを作成し元のtjaの中身をまるごとコピペ。
 oggであればオーディオの項目(ビットレート、チャンネル、オーディオサンプルレート)が一致しているか確認する。
 一致していない場合、自身のエンコーダーで再エンコード。

 (余談だが、Genre.ini内のGenreNameの表記を、ローマ字から日本語に書き換えると文字化けする。)

 

・COURSE表記の相違 (☆)

 tjc内のCOURSE:とtja内のCOURSE:表記が違う場合に統一する。
 特に公募段位などに起こりうるが、段位が落ちる直接的な原因とは考えにくい。

 ※tjaのヘッダー入力を省略した場合、自動でOniになる。

 

・極端な命令文が無いか (☆)

 #SCROLL,#BPMCHANGE,#MEASURE等の数値がアホみたいな桁になっていないか確認する。
 特に#MEASUREの分母には読み込み制限がかけられている為注意。
 ただしこの手の場合は大抵作譜中に次郎が落ちる為、段位の問題にはなりにくい。

 

・PCを付け直してみる (☆)

 根本的解決にはならないが、何故か上手くいく可能性がある。
 ただし次郎を起動してから連続して段位をプレイすると、問題の楽曲で落ちやすい。
 またこの場合、再起動では(本当に何故か)治らない。

 

・まさか#STARTと#END書き忘れてないよね? (☆)

 まさかね~。

 

 

・Case3 - 楽曲(曲順によって起こりうる)問題

 このケースは2,3曲目のみで発生し、対象の楽曲を1曲目に移すと正常に動作する。そのため原因の特定が難しい。

 

 

・tja内に9小節以上連続して小節内の文字数が96を越える箇所がある場合、MEASURE等で文字数を少なくする (☆☆☆) 

 文章だと分かり辛いので画像を用意しました。



 画像左のような譜面をtjc(2曲目以降)で読み込む際に、環境によっては楽曲移行の際に段位が必ず落ちるようになる。
 その場合は画像右のように、小節内の文字数を減らすと改善される可能性が高い。
 プレイ時に譜面の変化が無いよう、BARLINEでの調整は忘れずに。
 ※自身の環境で検証したところ、このバグはBPM依存の可能性がある。
 小節内の文字数が48であっても、BPMが低い場合に9小節以上連続すると楽曲移行の際に段位が落ちるケースを確認した。




 他にも思い出したら書いていきます、皆さんも「○○したら出来るようになったよ!」って経験があれば是非教えてください。


0 件のコメント:

コメントを投稿