Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Arbitrary Multi-channel without LFE with opusenc?? (Read 2130 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Arbitrary Multi-channel without LFE with opusenc??

Hey,

This is driving me nuts. I just have several 6 and 7-channel files and I want them encoded in opus just the way they are! Without any channel remapping or reordering or lowpass filtering or any surround crap at all, because they are NOT surround files! But opus seems to think that every damn multichannel file adheres to the surround mapping with a LFE. It's really stupid since they even advertise it as arbitrary channel mappings in the spec, yet fail to provide an easy tool for that?

Each channel is a stem track (for audio production) so it has NOTHING to do with surround, yet one of the channels will be lowpass filtered and treated as LFE, not to mention that Opus re-orders the channels in some way for whatever stupid reason. For FLAC, I can use "--channel-map=none" and it will stop this stupidity, for Wavpack I can use "--channel-order=..." for arbitrary multichannel files, and it works just fine. But I can't seem to find an option for opusenc to allow me to do this simple thing. WTF?

And please, don't ask me why I want Opus for them, I'm already well aware of this choice (and anyway I have no issue using FLAC for it, only with Opus). Their whole mentality that multichannel files must be for surround only is just stupid and seriously annoyed me to the limit.


Am I out of luck, or is there some hidden undocumented option?? (like for FLAC, --channel-map=none is undocumented, gah). The re-ordering I can handle with a counter-reorder by using SoX and piping it to opusenc, what truly pisses me off is the lowpass filter that I CANNOT SEEM TO DISABLE for the LFE (because the channel is not a "LFE" at all!!!)

Re: Arbitrary Multi-channel without LFE with opusenc??

Reply #1
What you want is an encoder that will take your file and encode it to Ogg Opus with mapping family 255 (no defined channel meaning). Unfortunately, this is not yet supported by opusenc (patch welcome). Maybe there's a different encoder that supports it, I don't know them all). If you manage to encode such file, opusdec should be able to decode it.

 

Re: Arbitrary Multi-channel without LFE with opusenc??

Reply #2
I see, thanks for the response. I guess I'm out of luck without going into modifying the tool.

For now i modified this line in the source:

Code: [Select]
header.channel_mapping=header.channels>8?255:chan>2;

changed it to >2 instead of >8, works perfect.

Obviously it's a very hackish way of doing it and only works for my purposes, but I'll try submit a patch with a setting I guess when I have time for it. Now i have to recover the lost time, thanks again.