« フリーソフト - upconvfe 0.8.x のページ | トップページ | Upconv Frontend 0.8.x 説明書 »

2019年11月12日 (火)

upconv 0.8.x ソースコード公開ページ

フリーソフトの upconv 0.8.x(TEST版)を公開していますが、GPLなのでソースコード公開ページとして記載します。

upconv 0.8.x のソースコードは こちら から取得できます。

upconvのソースコードは upconv_src.zip と upconvfe_080 に分かれています。
upconv_src は変換本体です。
upconvfe_080 は変換をするプログラムを呼び出す GUI 部分です。

開発環境は windows で、msys2 (mingw64、mingw32)上で動作する gcc と embarcadero の RAD Studio (XE5 有償版)を使っています。
GUI 部分はRAD Studio の C++ Builder で作成しています。

upconv.exe は msys2 の mingw64かmingw32を開き、
upconv_src/upconv/build.shを実行するとビルドできます。

upconvfe.exeは
upconv_080の下にプロジェクトファイルがあるのでC++Builderから開き、
C++Builder からビルドできます。
C++BuilderにはC++Builder Community Editionがあります。

FFTを使用するサンプリングレートの変換方法を知りたい方は参考にどうぞ。
またupconvfe.exeのGUIの動きに興味がある方は参考にどうぞ。
(他のコマンドラインで動く変換プログラムのフロントエンドを作りたい方などの参考に)

upconv_080/Output/old_ver にはUpconv 0.0.3~のupconv_setup.exeが入っています。
それぞれのソースコードのバージョンは過去にPCがおかしくなったときに無くなってしまったのでありません。

 

 

[Upconv内部処理について]

Upconv frontend 0.8.x ですが0.7.x などから以下のところを変更しています。

変換本体がwav2raw.exe(wavから1チャンネルごとの作業用ファイル(64Bit整数)を作成するのに使用)と
upconv.exe(サンプリングレート変換)とwav2raw.exe内のrawからwavに変換するもの。
それとマルチチャンネル変換処理用のmconv.exeに分かれてました。
10年ぐらい前から作っていたもので、パラメータも多く名前も規則がないものを付けており、わかりにくいためupconv.exe1つで変換ができるように作り直しました。
0.7.xまではGUI部分も以下のように制御してました。

1.Decode(FlacやMP3など)
2.wav2raw.exeでrawファイルに変換
3.upconv.exeをwavのチャンネル数分だけ起動しサンプリングレート変換
4.3がすべて終わったらマルチチャンネル変換用にmconv.exeを起動
5.wav2raw.exeで変換後のrawファイルからwavファイルへ変更
6.Encode(Flacなど)

現行のものより前は2と5の処理がwav2raw.exeとraw2wav.exeに分かれてました。
GUI部分も処理が大変でしたが今回はupconv.exeを1つ呼び出すだけにして、複数個upconv.exeを呼び出すことで同時変換ができるようになりました。

変換パラメータが多すぎなので、パラメータファイルとしてファイルに保存しておくことで、upconv.exeに渡す引数も減らせました。

0.8.x の処理は以下のような流れになっています。

1.GUIからupconv.exeを起動
2.upconv.exe内部でrawファイルに変換
3.upconv.exe内部からwavのチャンネル数分だけupconv.exeを起動しサンプリングレート変換(変換中はupconv.exeが3つ動きます)
4.マルチチャンネル変換ならupconv.exe内部でマルチチャンネル生成の処理を実施
5.upconv.exe内部でrawファイルをwavに変換
6.upconv.exe内部でEncode(Flacなど)

変換の基本部分に問題がないかノイズが入らないかも再チェック中です。
今後はもう0.8.xのような大きな変更はないでしょう。

同時にノイズリダクション部分やHFA3の倍音生成部分もいじってます。
現行バージョンと聞き比べながら変更してますがなかなか難しいです。

 

« フリーソフト - upconvfe 0.8.x のページ | トップページ | Upconv Frontend 0.8.x 説明書 »

コメント

コメントを書く



(ウェブ上には掲載しません)




« フリーソフト - upconvfe 0.8.x のページ | トップページ | Upconv Frontend 0.8.x 説明書 »