[opus] Stereo channel separation

O'Connor, Kevin Kevin.OConnor at inin.com
Mon Apr 7 12:41:54 PDT 2014


>This bleed-over should not be possible with the CELT layer (_especially_ not during silence), but it is possible with
>the SILK layer. 1.1 added automatic speech detection, so it is possible that this is caused by switching to SILK in
>places 1.0.2 would have defaulted to CELT based on your bitrate.

Yes, I still hear the bleed-over with that option. Here's the output of opusinfo after encoding:

New logical stream (#1, serial: 000012a5): type opus
Encoded with libopus 1.1
User comments section follows...
        ENCODER=opusenc from opus-tools 0.1.8
        ENCODER_OPTIONS=--set-ctl-int 4000=2051
Opus stream 1:
        Pre-skip: 120
        Playback gain: 0 dB
        Channels: 2
        Original sample rate: 8000Hz
        Packet duration:   20.0ms (max),   20.0ms (avg),   20.0ms (min)
        Page duration:   1000.0ms (max),  989.6ms (avg),  480.0ms (min)
        Total data length: 246911 bytes (overhead: 1.89%)
        Playback length: 0m:49.471s
        Average bitrate: 39.93 kb/s, w/o overhead: 39.17 kb/s

Interestingly, this looks nearly identical to the first one I sent. I also tried --set-ctl-int 4000-2049
and got the same results (bleed-over in the audio). Here is the opus-info from that one:

New logical stream (#1, serial: 000039cd): type opus
Encoded with libopus 1.1
User comments section follows...
        ENCODER=opusenc from opus-tools 0.1.8
        ENCODER_OPTIONS=--set-ctl-int 4000=2049
Opus stream 1:
        Pre-skip: 312
        Playback gain: 0 dB
        Channels: 2
        Original sample rate: 8000Hz
        Packet duration:   20.0ms (max),   20.0ms (avg),   20.0ms (min)
        Page duration:   1000.0ms (max),  989.6ms (avg),  480.0ms (min)
        Total data length: 247227 bytes (overhead: 1.89%)
        Playback length: 0m:49.471s
        Average bitrate: 39.98 kb/s, w/o overhead: 39.22 kb/s
Logical stream 1 ended

For completeness, I also tried --set-ctl-int 4000=2048 and, while it does sound like there may
be slight artifacts from the other channel during silence, it's nowhere near as bad as the other
two cases above. Here is the opus-info output:

New logical stream (#1, serial: 000001e6): type opus
Encoded with libopus 1.1
User comments section follows...
        ENCODER=opusenc from opus-tools 0.1.8
        ENCODER_OPTIONS=--set-ctl-int 4000=2048
Opus stream 1:
        Pre-skip: 312
        Playback gain: 0 dB
        Channels: 2
        Original sample rate: 8000Hz
        Packet duration:   20.0ms (max),   20.0ms (avg),   20.0ms (min)
        Page duration:   1000.0ms (max),  989.6ms (avg),  480.0ms (min)
        Total data length: 234522 bytes (overhead: 1.99%)
        Playback length: 0m:49.471s
        Average bitrate: 37.92 kb/s, w/o overhead: 37.17 kb/s
Logical stream 1 ended

Kevin O'Connor
Interactive Intelligence, Inc.


More information about the opus mailing list