gpt4 book ai didi

webrtc - 强制左/右立体声

转载 作者:行者123 更新时间:2023-12-01 16:13:58 25 4
gpt4 key购买 nike

我正在尝试生成具有 L/R 立体声的低比特率作品文件。是什么决定 opusenc 是否使用 L/R 立体声而不是联合立体声?有我可以通过的标志吗?与比特率有关吗?

opusenc input.wav output.opus //produces L/R stereo
opusenc input.wav output.opus --bitrate 8 //produces joint stereo

最佳答案

看来已经确定了here :

    if (st->force_channels!=OPUS_AUTO && st->channels == 2)
{
st->stream_channels = st->force_channels;
} else {
#ifdef FUZZING
/* Random mono/stereo decision */
if (st->channels == 2 && (rand()&0x1F)==0)
st->stream_channels = 3-st->stream_channels;
#else
/* Rate-dependent mono-stereo decision */
if (st->channels == 2)
{
opus_int32 stereo_threshold;
stereo_threshold = stereo_music_threshold + ((voice_est*voice_est*(stereo_voice_threshold-stereo_music_threshold))>>14);
if (st->stream_channels == 2)
stereo_threshold -= 4000;
else
stereo_threshold += 4000;
st->stream_channels = (equiv_rate > stereo_threshold) ? 2 : 1;
} else {
st->stream_channels = st->channels;
}
#endif
}

只要简单地阅读一下 opusenc 源代码,看起来在 struct OpusEncoder 上将 force_channels 设置为 2 就可以让它工作了。然而,查看opusenc.c源代码,没有发现该字段在哪里设置。您可以轻松修改源,但始终强制 channel 为两个。对于 future ,opus 似乎称其为“双立体声”而不是“L/R 立体声”。

关于webrtc - 强制左/右立体声,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22866436/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com