ALSAのサウンドミキシングについて

ALSAのサウンドミキシングについて

ALSAの設定に時間を費やしたにもかかわらず、ALSAに自分が何をしたいのかを正確に実行させることはできないようです。私はそれをよく理解していないようです。

これは私のものです/etc/asound.conf

pcm.dmixed {
        type asym
        playback.pcm {
                # See plugin:dmix at http://www.alsa-project.org/alsa-doc/alsa-lib/pcm_plugins.html
                type dmix

                # Don't block other users, e.g. the Timidity midi-player daemon
                # http://www.alsa-project.org/alsa-doc/alsa-lib/pcm_plugins.html
                ipc_key_add_uid true

                ipc_key 5678293
                ipc_perm 0660
                ipc_gid audio

                slave {
                        # 2 for stereo, 6 for surround51, 8 for surround71
                        channels 6
                        pcm {
                                format S32_LE
                                #format S16_LE

                                #rate 44100
                                rate 96000

                                # http://www.alsa-project.org/alsa-doc/alsa-lib/pcm_plugins.html
                                nonblock true

                                type hw
                                card 0
                                device 0
                                subdevice 0
                        }

                        period_size 1024

                        # If too large, use CONFIG_SND_HDA_PREALLOC_SIZE=2048
                        buffer_size 16384
                }
        }
        capture.pcm "hw:0"
}

pcm.!default{
        type plug
        slave.pcm "upmix20_51"
}

pcm.!surround20 {
        type plug
        slave.pcm "upmix20_51"
}

pcm.!surround40 {
        type plug
        slave.pcm "dmixed"
        route_policy duplicate
}

pcm.!surround51 {
        type plug
        slave.pcm "dmixed"
}

pcm.upmix20_51 {
        slave.pcm "dmixed"
        slave.channels 6
        type route

        # Front and rear
        ttable.0.0 0.9
        ttable.1.1 0.9
        ttable.2.2 1
        ttable.3.3 1

        # Center and LFE
        ttable.4.4 1
        ttable.5.5 1

        # Front left/right to center
        ttable.0.4 0.5
        ttable.1.4 0.5

        # Front left/right to rear
        ttable.0.2 0.5
        ttable.1.3 0.5
}

現在達成された目標は次のとおりです。

  • Dmixing(これが実際に何をしているのかわかりません。どのように多くのソースがalsaに出力されても、デバイスがサウンドを再生することを保証すると思います。)dmixed

  • サンプリングレートを96Khzに強制

  • S32_LEでフォーマットを強制します。 (私のメディアプレーヤーではうまくいくとは言わないが、これはうまくいくと思いますが、S24_LEを入れると音が途切れるのでうまくいくと思います。)

  • Upmix 2.0は「upmix20_51」を使用して5.1サウンドを生成します。これは「!default」pcmのスレーブに設定され、2.0ファイルの通常の出力であると仮定します。

  • チャネル複製による4.0から5.1へのアップミキシング(route_policy冗長)

  • 通常、「!surround51」pcmを使用して5.1サウンドを再生します。

私が知りたいことは:

  • dmixingは正確にどのような用途に使用されますか?
  • 重複していますかpcm.!surround20? (削除する必要がありますか?)
  • サンプリングレート変換が現在のハードウェアまたはソフトウェアを介して行われているかどうかを確認できますか?
  • 周波数を96kHzに強制し、フォーマットを32ビットに強制すると、品質にどのように役立ちますか?
  • 5.1シグナルソースは「!default」pcmを使用しますか?もしそうなら、関連するアップミキシングは5.1ソースで問題になるでしょうか? 2.0ソースのみをミキシングするより良い方法はありますか?
  • モノラルサウンドをステレオにアップミックスし、ステレオを5.1サウンドにアップミックスする方法
  • これらのまれなソースの1つが得られた場合、7.1ソース(フロントスピーカーとリアスピーカーの間に分割されたサイドスピーカー)を5.1にダウンミックスするにはどうすればよいですか。
  • 現在alsaでやっているよりもアップミキシングを行うより良い/高品質の方法はありますか?サウンドのミキシング方法をより効果的に制御する方法はありますか?

関連情報