Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

soundfileの依存を外す #731

Closed
3 tasks done
sabonerune opened this issue Aug 23, 2023 · 4 comments
Closed
3 tasks done

soundfileの依存を外す #731

sabonerune opened this issue Aug 23, 2023 · 4 comments

Comments

@sabonerune
Copy link
Contributor

内容

音声ファイルの読み込みや書き出しにSoundFileが使用されています。
しかしSoundFileの音声エンコード機能は使われていないためScipyの機能で十分かもしれません。

Pros 良くなる点

Linuxでlibsndfileのインストールが不要になる。
配布物のファイルサイズが小さくなる。

Cons 悪くなる点

MP3等のファイル形式対応ができなくなる。

実現方法

soundfileを使用している部分をScipy.ioに置き換える

OSの種類/ディストリ/バージョン

  • Windows
  • macOS
  • Linux
@github-actions github-actions bot added OS 依存:linux Linux に依存した現象 OS 依存:mac macOS に依存した現象 OS 依存:win Windows に依存した現象 labels Aug 23, 2023
@Hiroshiba
Copy link
Member

Linuxでlibsndfileのインストールが不要になる。

これは結構大きいように感じました。
特にエディター側ではインストール時にこのファイルがないと再実行を求められる感じになっています。
https://github.com/VOICEVOX/voicevox/blob/1e6bce16bacb5c093b0b58f42c8df60fedebe59f/build/installer_linux.sh#L145

MP3等のファイル形式対応ができなくなる。

こちらに関して、おそらくmp3だとさすがのVOICEVOXでも音質が下がる気がします。
どちらかというと非圧縮なflacとかのサポートなら必要そうかなと。
まあもしmp3が必要になっても、他のコーデックにも対応すべきだと思うので、soundfileではなくffmpegあたりに依存するのが良さそうに感じます。

この辺り @y-chan さん的の意見もちょっとお伺いしてみたいです 👀

@sabonerune
Copy link
Contributor Author

sabonerune commented Aug 23, 2023

どちらかというと非圧縮なflacとかのサポートなら必要そうかなと。
まあもしmp3が必要になっても、他のコーデックにも対応すべきだと思うので、soundfileではなくffmpegあたりに依存するのが良さそうに感じます。

SoundFileはMP3だけではなくFLACやVorbis等の可逆圧縮コーデックにも対応していますね。
むしろ映像圧縮コーデックがない分シンプルになると思います。

あとたった今気づいたのですがSoundfile 0.12.0からLinuxでもwheelが提供されるようになったようです。
これによりバージョンアップすればlibsndfileのインストールが不要になる可能性があります。

とはいえ全く使っていない機能に2~3MB(libsndfileの共有ライブラリ)を割くのは無駄な気がするのと #440 が放置されてしまっている現状を考えると自分は外してしまってもいいと考えています。

@Hiroshiba
Copy link
Member

Hiroshiba commented Aug 24, 2023

@sabonerune なるほどです!!!!

確かに容量が数MB増えてしまうのはもったいない気はしないでもないですが、将来的に(mp3ではない)別コーデックの提供は結構あり得るかなと感じています。
それとscipyはどちらかというとついでの機能として音声ファイル出力機能がある形だと思うので、専門的なライブラリに任せておいた方が頼もしい気がしないでもないです。
(その代わり破壊的変更の期待値は高そうですが・・・。)

外すべきか外さざるべきか、正直判断できないという考えになってきました。
依存を外すべきだということに特に強い意見がなさそうであれば、一旦このissueのタイトルを「外すかどうか議論する」に変更するか、あるいはまた課題が再発するまでクローズしておくとかもありかもと思いました。

特にコメントがなければ大きな問題ではないと思うのでcloseの方向に倒そうかなと今のところ考えています。
逆にsoundfileをアップデートしてlibsndfileの依存を外すというのは大事だと思うので、そのissueは立てようかなと思います。

@Hiroshiba
Copy link
Member

Hiroshiba commented Sep 15, 2023

とても遅くなりすみません、issueを建てました・・・!

@sabonerune さん情報ありがとうございます!!

@Hiroshiba Hiroshiba closed this as not planned Won't fix, can't repro, duplicate, stale Sep 15, 2023
@tarepan tarepan removed OS 依存:mac macOS に依存した現象 OS 依存:linux Linux に依存した現象 OS 依存:win Windows に依存した現象 labels Mar 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants