Moresampler 0.8.3

今回は限定的なケースだった。
このケースに嵌まらないなら急いアップデートする必要ないですが、出会う場合は困るわけで。

本家
Bowlroll

0.8.3 (2017年6月10日)
* 問題修正: 長い無音が続く音源を分析する場合でhは時々クラッシュする問題を修正
* 問題修正: 短いサンプルもしくは母音が全く含まらない(表情音など)サンプルを分析する場合で時々クラッシュする問題を修正

0.8.3 (Jun. 10, 2017)
* Bug fix: occasional crashes when analyzing samples with large chunk of silence.
* Bug fix: occasional crashes when analyzing short samples or samples that do
not contain any vowel.


Moresampler 0.8.2(再)

今回のMoresampler 0.8.2再アップロード、複数音源においてクラッシュしてしまう問題を修正しました。ログを見ると33人もダウンロードしたようで、ご迷惑かけました。

問題を反映及び検証音源「雲菓ヘンゼル(連続音)」を提供した @0oUFOo0 さんと、
検証に付き合った @supertosshii さんに感謝致します。

bowlroll
本家 (ファイルだけ変わりました)

なお、先日の記事にも新しいバージョンのリンクに変更しました。



Moresampler 0.8.2

繋ぎはMoresamplerの売りの一つであり、いわゆる「MOD100」「人力感」という方向の調整において、Moresamplerの機能は定評を頂いております。ただ時々音痴となる場合がありますので、精度を高め、修正パッチにしました。

同時にこの調整法に触発され、新しくMpというフラグを導入しました。
「ランダムで揺らぎを与える」機能を追加しました。
デフォルトは0、そして5あたりからでは違いがわかるはず。

Arpasing関連の問題も修正されます。英語圏にではこれがメインですがね。

Bowlroll
本家

[EDIT: 再アップロード反映しました]
-----
0.8.2 (2017年5月15日)

* 問題修正: oto自動生成機能部が音素 アルファベット "zh"を識別できない問題
* 問題修正: ホストソフト(UTAUなど)に呼び出されるではない場合で、そのままクラッシュするよりも、エラーメッセージを表示するようにしました。
* 機能改良: 入力音声がモジュレーションされる場合のピッチ検出精度を高めました。
* 新機能: 新しいフラグ「Mp」を導入。ピッチ曲線にランダムの揺らぎを与える。
値範囲は[0, 100]。揺らぎ具合の範囲をコントロールする。デフォルト値は0。


0.8.2 (May. 15, 2017)

Bug fix: the oto generator fails to recognize arpabet phoneme "zh".
Bug fix: display error message (instead of crashing) when launched outside of host software.
Improved feature: improve pitch accuracy under modulation effect.
New feature: new flag 'Mp' added for adding a random perturbation to pitch curve. The parameter, ranged from 0 to 100, controls the degree of such perturbation and is set to 0 by default.


Moresampler 0.8.1

人間はミスする生き物だ....

説明すると、ピッチ予測の前にノイズをフィルターリングするためにちょっと小さなノイズを生成して入力させますが、そのノイズ量は盛大に間違って(10倍大きく)たので、VUV判定の精度を大幅に低減した。それでも破綻しないのは凄いな....と感心してる。

軌跡と全体の音質には影響しないが、VUV判定で所々に雑音が出てしまう可能性があります。(VUV判定起因の雑音は「音質」の評価には入ってますが、ややこしいので)

本家
Bowlroll

0.8.1 (2017年3月29日)
* 問題修正:先日導入した新規ピッチ予測の重大バグを修正

0.8.1 (Mar. 29, 2017)

  • Bug fix: a severe bug in the recently upgraded pitch estimator.

----
追記:

libLLSMのコード整理が終わって、Githubにで今まで(0.3.x~0.8.x)のMoresamplerの成果が反映されました。主にPseudo Glottal Inverse filteringが入ってます。

https://github.com/Sleepwalking/libllsm/


Moresampler 0.8.0

いつか終わりがやってくる....


2015年頃、最初のMoresamplerの設計目標の一つは、分析合成面(UTAUだといわゆるResamplerとWAVTOOL側)で性能を最大限生かす事。

レガシィであることに対して否定をしません。
既に大量な成果が作り上げたことは事実。
それを「必要十二分以上に」強化する。

路線自体は一緒ですが、途中で新たな触発とか色々あるのため、それを反映して取り込んだ結果、予想より大分大きく逸脫していたかもしれない。

F0予測については、一部の成果はInterspeechへ論文投稿も行われます。
それについての議論は今後解禁待ちです。
直近で遅くなる(0.3.0時期に逆戻る)かもしれない心配はありましたが、それがリリース直前で解決しました。

(Edit: adYANGsafは2017/03/01にで先倒し発表)


自動原音設定と録音表体系の導入は正直いうと当初考えてませんでした。
需要が大きいであることは理解できましたが、コントロール手法に対する革新に属する。
現状でもotoのフォーマットからの制限が大きく、これ以上進むと「UTAU以外」でしか出来ないわけで、今後またどこかで機会があれば。



本家
BowlRoll

0.8.0 (2017年2月24日)

* 問題修正: u-flag有効のノートでクラッシュする問題
* 問題修正: 時々ピッチシフトする時でクラッシュする問題
* 問題修正: 浮動小数点 wavファイルを識別する問題
* 問題修正: 短い子音が結合後でロストする問題
* 問題修正: エイリアスのローマ字から平仮名へ変換する時"ja","jo","ju"が間違って"じぁ", "じぉ", "じぅ"にした問題。
* 機能改良: ピッチ予測を広範的改良した。有声無声音検出のエラーをより抑えました。
* 機能改良: oto生成機能はArpasingをサポートした。


0.8.0 (Feb. 24, 2017)
* Bug fix: crashes on u-flag-enabled notes.
* Bug fix: occassional crashes during pitch shifting.
* Bug fix: format identification error on float point .wav files.
* Bug fix: short consonants are missing after concatenation.
* Bug fix: "ja", "jo", "ju" are mis-aliased as "じぁ", "じぉ", "じぅ" during romaji to
hiragana conversion.
* Improved feature: the pitch estimator has been extensively improved. It now makes
fewer vocing detection errors.
* New feature: the oto generator now supports Arpasing.



Moresampler 0.7.2

告知:このバージョンはボカコン2016へ出展します。

Moresampler 0.7.2
(*:CVVC oto生成部バグ発覚のため現在修復中)(修復しました)

本家Blog
Bowlroll

0.7.0~0.8.0の間で、Moresamplerは独自録音表体系Arpasingを対応する予定です。oto生成部はindex.csvから設定させて欲しい原音リストの読み込む機能を対応しました。最近見つけたバグも修復していた。

現在oto生成部はCVVC生成を対応している。どんなフォーマット(かなもしくはローマ字)でもそのまま出力する。そのために窓は出てきて「どのフォーマットして欲しい?」と聞いてくる。

そしてフィードバックから「生成したotoには大量の余分エントリーがされてる(特にdiphone合成用としては)」ということで、あくまで既存oto.iniへのアップデートだけをするオプションを付けました。この場合もう新しくエントリーを作ることはしない。ただこの機能を有効化させるには、oto.iniを先に原音のフォルターへ入ってね。

チェンジログ

0.7.2 (2016年10月26日)

* 本バージョンでoto生成に関するコードを一部入れ替わりました。
一部はLuaで書き直されました。Arpasingは現状未実装(継続中)
* 問題修正: 「UTAU-style-normalization」が無効化される場合ノートの強さパラメータが一部無視される問題
* 問題修正: 2016年3月で導入されたある機能は分析時の時間解像度を低減する可能性があると判明。現在は「analysis-anti-distortion」有効時以外デフォルトオフ。
* 機能改良:oto生成部は原音生成がローマ字ファイルに対して仮名ファイル名で生成することが可能になった
* 新機能:oto生成部は既存oto.iniに対してアップデートを行えるようになりました。
既存otoファイルがある場合、新しくエントリー生成を回避する。
* 新機能:oto生成部はまず「index.csv」ファイルの有無を判定し、リストアップされた.wavファイルを読み込みます。
* 新機能:oto生成部は現在CVVC/VCVスタイルの生成を行います


---
0.7.2 (Oct. 26, 2016)

* This version has undergone some code refactoring on oto-generation. Part of the code was rewritten in Lua. Arpasing support is not yet available (work in progress).
* Bug fix: note intensity parameter is ignored when utau-style-normalization is off.
* Bug fix: a feature introduced in March 2016 could potentially reduce time-resolution of the analysis algorithm; the feature is now disabled by default unless analysis-anti-distortion is on.
* Improved feature: oto generator can create hiragana entries from voicebanks whose filenames are in romaji.
* New feature: oto generator now first loads index.csv if available, then loads the .wav files in the list.
* New feature: oto generator can update the entries in an existing oto.ini file without creating new entries.
* New feature: oto generator can create CVVC/VCV-style entries.



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さんに教えていただいた