Moresampler の現状まとめ (~0.7.x)

Moresamplerの開発が始まった当初で書いた
「利点、欠点、導入など」の記事

http://ch.nicovideo.jp/ejiwarp/blomaga/ar891612
Moresamplerの説明:利点、欠点、導入など

ツイッターで時々引用されることは嬉しい話ではある。

が、流石にアップデート重ねていて、変更点が多数増えたし、編集するのも混乱になるから、近況報告の意味でもまとめし直すかと思います。

----
Moresampler 0.7.0と0.7.1をメインにすると、現状Moresamplerの利点は以下となります。

● 新発想の音声モデリングによるVOCODERシステム、LLSMの導入で高精度&高速な再合成
● 周波数領域でクロスフェードを行うWAVTOOLモードで位相ズレを原理上解消、同時にモーフィング機能を有し、VOCALOIDのいわゆるクロスシンセシスが可能
● WORLD系同等のループモードで音源の柔らかさ持たせる同時に、高精度のストレッチモードも活用可能、特に男性声にピッチシフトするとき、劣化の少なさは特出
● 任意入力フォーマット音声の混在、入出力共に8bit 16KHz~32bit 192KHzの間任意出力フォーマットへ指定
● 多彩な独自フラグを備える上に、Growl機能も内蔵
OpenMPマルチスレッドの実装で分析&再合成の並列高速化
● 音源フォルダーをD&Dすることで自動原音設定する機能

そして上記機能由来のこともあり、現状の欠点は

● モーフィング機能備えるといっても等価機能ではない。UTAUエディターでの活用が困難。
現状で活用できる箇所は「モジュレーション100調音」がメインになってると予想。
● 繊細な音声モデリング由来の不安定さ、F0エラーへの敏感、異音雑音を生む確率は高い
● PresampなどUTAUに特化する多様な実行モードを内蔵するためにバグが潜む可能性(時々構造再整理するのもこのため)

● 自らマルチスレッド高速化機能内蔵するため、複数Resamplerを1つのUSTに並存させるResampler Wrapperと互換性が悪い
● 出音の良さは音声モデリングと周波数領域処理に依存するため、内蔵WAVTOOL機能を使わないと良さが生かされない

*:意図的ではないため見落としました。direct$=true実装のためWAV入力混在が可能となりました。
Moresamplerをtool2に使うとwavtoolと準する機能があって、以上の二点は解消されてる。(....編集で混乱されるのに変更点加えて申し訳ない)

など、UTAU界隈との評価軸の乖離が感じさせる。

----
最近の問題点は、0.7.xは0.6.4と比べて性能が低下。

比較対象は
a. 0.6.4 legacy
b. 0.6.4 msvc64
c. 0.7.1

使用なのは以下のタスク
1. frqeditor で闇音レンリの全原音LLSM再生成時間を測る
2. 再生成したLLSMでEnd of Rainの合成時間を測る

タスク1
legacyはmsvc64バージョンより 生成速度が 25%前後と遅く(4分15秒 対して 3分27秒)、0.7.1だとは更に4.30秒と遅くなってる。

タスク2,合成時間の場合、
0.6.4 msvc64は42秒、0.6.4 legacyは75秒、0.7.1は90秒と減速した。
UTAUのバッチファイル生成時間約5秒が含むため、正味35/70/85秒前後となる。

この計算だと、60%前後の速度低減が考えられます。

上記の場合、以下の想定となります
1. MSVCでのコンパイルはminigwより有効が明らか(分析速度25%、合成速度50%差)
2. 0.7.xは原音設定部のコードザイズ分でローディングが遅くなってる

よって、全体の速度自体は以前より悪化したことは認められます。

ただ、minigwよりMSVCを使用することで開発者は負担が増えてると自認してるとは一つ、それをlegacy/32/64など複数バージョンで分けることで、ユーザー側もわかり辛くなったこともある。

当時コンパイルにMSVC採用したのは、OpenMP統合にアルゴリズム上の高速化がだいぶ辛くなってきたところが大きかった。開発リソース(個人なのでほぼ時間)を分析精度、音響モデリング、派生技術などの集中にしたいところもあって、モチベーション維持上で、MSVC使用はネガティブかと。

次に、内部計測を上げると、0.6.4と0.7.1では実際エンジン内で仕事する時間は50ms程度に対して、0.7.1でのOS側計測が200ms程度。すなわちプログラムローディングが全体の3/4くらいかかってること。MSVCで改善しているのはこの箇所です。マルチスレッド対応でパイプライン処理が出来てる時点で、全体の仕事率は変わらないから、そりぁモチベーションにならないよね。

よって、弱音を上げるところはちょっと恥ずかしいかも知れないが。
「遅くなったぞ」「はい、そうです。すみません。」
ということで、しばらくはこうなることになりそうです。

----
以降、現状のあるMoresampler関連記事のリストアップとなります。
まとめ上げたのは ちていこさん と まいこはーんさん、ありがとうございました。

http://ch.nicovideo.jp/ejiwarp/blomaga/ar1013792
Moresampler 0.6.4 以降の導入について

http://ch.nicovideo.jp/ejiwarp/blomaga/ar1013800
Moresampler mrq関連

http://ch.nicovideo.jp/ejiwarp/blomaga/ar1013816
Moresampler ができること(0.6.3準拠)

http://togetter.com/li/985175
Moresamplerの自動原音設定への意見・評判まとめ

http://togetter.com/li/966241
【UTAU】Moresamplerを使う時のための参考情報

http://togetter.com/li/924265
【UTAU】MoresamplerについてEjiさんに教えていただいた