Skip to content

littlebuddha-dev/soundenhancerC

Repository files navigation

Sound Enhancer C++

これは、オーディオファイルに対して高度な音響効果を適用し、音質を向上させるためのC++製サウンドプロセッシングツールです。内部では192kHzのサンプリングレートで処理を行い、最終的に高品質な96kHz/24bitの音声ファイルとして出力します。

主な機能

本ツールは、以下の高品質なオーディオプロセッシング機能を提供します。

  • M/S ボーカル・楽器分離: Mid/Side処理を利用してボーカルと楽器の成分を動的に分離・強調し、ミックス内での明瞭度を向上させます。
  • プレミアム・グロス・エンハンサー: 音楽的な倍音を付加し、プレゼンス(存在感)とエアー(空気感)を調整することで、サウンドに艶と輝きを与えます。高度なノイズ制御機能も内蔵しています。
  • エンハンスド・ハーモニック・エキサイター: 高周波数帯域に特化した倍音を生成し、失われた明瞭度やディテールを復元します。
  • 6バンド・パラメトリックEQ: 音楽的なカーブを持つ6バンドのイコライザーで、サウンドのトーンを細かく調整します。
  • マスタリング・リミッター: 最終段で音圧を最適化し、ピークを抑えつつ全体のレベルを均一化します。
  • 高品質リサンプリング: libsamplerate を利用して、内部処理用の192kHzへのアップサンプリングと、最終出力用の96kHzへのダウンサンプリングを最高の品質で実行します。

技術的特徴

  • 192kHz 内部処理: すべてのオーディオ処理は192kHzのサンプリングレートで行われ、非常に高い解像度での音質改善を実現します。
  • 2パス・プロセッシング・ワークフロー:
    1. 第1パス: 入力ファイルを192kHzにアップサンプリングし、主要なエンハンス処理を実行後、一時ファイルに書き出します。
    2. 第2パス: 一時ファイルを読み込み、マスタリング処理(リミッター、ノーマライズ)を適用した後、最終的な96kHzの音声ファイルとして出力します。
  • JSONによるパラメータ設定: params.jsonファイルを通じて、各エフェクトの詳細なパラメータを柔軟にカスタマイズできます。

対応フォーマット

  • 入力: libsndfileがサポートする主要なオーディオファイル (WAV, FLAC, AIFF, Ogg/Vorbisなど)。
  • 出力: 入力ファイルと同じコンテナ形式で、高品質な24-bit PCM / 96kHzの音声ファイル。

ビルド方法

依存ライブラリ

ビルドには以下のライブラリが必要です。

  • libsndfile: 音声ファイルの読み書き
  • libsamplerate: 高品質なサンプリングレート変換
  • nlohmann/json: 設定ファイルのJSONパース
  • CMake (3.15以上)
  • C++17対応コンパイラ
  • pkg-config

手順

  1. リポジトリをクローン:

    git clone <repository_url>
    cd soundenhancerC-main
  2. 依存関係のインストールとビルド: リポジトリに含まれるbuild.shスクリプトが、依存関係のインストールとビルドを自動的に行います。

    chmod +x build.sh
    ./build.sh

    スクリプトは、お使いのOS(Ubuntu/DebianまたはmacOS)を検出し、適切なパッケージマネージャー(apt-getまたはbrew)を使用して必要なライブラリをインストールします。

    ビルドが完了すると、buildディレクトリ内に実行ファイルenhanced_sound_processorが生成されます。

使用方法

以下のコマンドでプログラムを実行します。

./build/enhanced_sound_processor <入力ファイル名>

About

Simple effect of just multiplying BBE and exciter on a wav file

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages