2

wav ファイルを別のファイル形式 (pcm) にエンコードする必要があります。この形式には次のプロパティがあります: 8kHz、16 ビット。

c#またはvbでこれを行う方法を知っている人はいますか?

4

3 に答える 3

4

Alvasオーディオライブラリ。

主な機能は次のとおりです。

  • レコーダは以下を許可します:
    • 非圧縮オーディオデータ(PCM)の記録
    • 圧縮されたオーディオデータの記録:IMA ADPCM、Microsoft ADPCM、CCITT A-Law、CCITT u-Law、GSM 6.10、MPEG Layer-3(mp3)など。
    • データをストリーム(ファイルストリーム、メモリストリーム)に記録します。
    • 記録を一時停止して再開します。
    • 現在のサウンド位置を取得します。
    • システムにインストールされているレコーダー(複数のサウンドカード)にデータを記録します。

  • プレーヤーは許可します:
    • 非圧縮オーディオデータ(PCM)を再生します。
    • 圧縮されたオーディオデータの再生:IMA ADPCM、Microsoft ADPCM、CCITT A-Law、CCITT u-Law、GSM 6.10、MPEG Layer-3(mp3)など。
    • ストリーム(ファイルストリーム、メモリストリーム)からデータを再生します。
    • 混合オーディオデータを再生します。
    • 再生を一時停止して再開します。
    • 現在のサウンド位置を取得します。
    • システムにインストールされている任意のプレーヤー(複数のサウンドカード)からデータを再生します。

  • ミキサーコントロールを設定します。
    • 記録するソース行を選択します。
    • 録音用のソースラインの音量を変更します。
    • 追加のコントロール調整。たとえば、「マイクブースト」;
    • 再生するマスターボリュームを変更します。
    • 再生ミューティング。

  • 編集
    • オーディオデータの速度を変更します。
    • オーディオデータの音量を変更します。
    • 複数のオーディオを1つに結合します。
    • オーディオストリームの一部をカットします。
    • オーディオストリームにピースを挿入します。
    • オーディオストリームの一部を削除します。
    • バイト配列からオーディオ形式を作成します。
    • 指定されたオフセットを使用して、オーディオデータをメインオーディオデータに複数回挿入およびミキシングします。
    • 逆オーディオ波ストリーム;
    • ステレオオーディオストリームを2つのモノラルストリームに分割します。
    • 2つのモノラルオーディオストリームを1つのステレオにマージします。
    • いくつかのオーディオファイルの連結。

  • 変換
    • オーディオデータをあるオーディオ形式から別の形式に変換します。
    • オーディオウェーブストリームをmp3ストリームに変換します。
    • Dialogic .vox(adpcm)ストリームをMp3ストリームに変換します。
    • WaveストリームをMP3ストリームに変更します。WaveストリームにMPEGレイヤー3データが含まれている場合。
    • RAWヘッダーレスフォーマット(SLINEARなど)(Asterisk PBXで使用)を再生、記録、変換します。
    • Aviストリームからオーディオデータを再生および抽出します。
    • Dialogic .vox(adpcm)形式のデータ(Asterisk PBXで使用)をエンコードおよびデコードします。
    • オーディオウェーブストリームをmp3ストリームに変換します
    • Dialogic .vox(adpcm)ストリームをMp3ストリームに変換します

  • その他
    • 入力音声信号のレベルを表示します。
    • 強い名前でライブラリに署名します。オーディオライブラリをGACに追加できます
于 2009-05-11T09:33:58.297 に答える
2

圧縮されていない Wave ファイルには、プレーンな PCM データといくつかのメタ データが含まれています。詳細については、Wotsit.org を参照してください。

サンプリング レート、解像度、およびチャンネル数が一致する場合は、メタ データを取り除くだけで済みます。

それらが一致しない場合は、Wave ファイルを再サンプリングする必要がありますが、正しく実行したい場合、これは簡単な作業ではありません。定理と両方 - アップサンプリングとダウンサンプリング - 適切な補間が必要です - 理想的にはsinc 補間です。

于 2009-05-11T10:07:36.807 に答える
-1

あなたが何をしたいのか正確にはわかりません。WAV ファイルは (通常) 圧縮されていない pcm データの単なるラッパーです。

ただし、データにアクセスする場合でも、ヘッダーのない RAW PCM ファイルを書き出す場合でも、libsndfileを使用できます。ArsTechnica フォーラムでc#のサンプル コードを見つけました。

RE: Daniel Brückner の回答
libsndfile の作成者は、リサンプリングを簡素化できるlibsamplerateも作成しました。

于 2009-05-11T09:45:04.237 に答える