Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multichannel audio #41

Open
rawrbw opened this issue Aug 15, 2022 · 5 comments
Open

Multichannel audio #41

rawrbw opened this issue Aug 15, 2022 · 5 comments

Comments

@rawrbw
Copy link

rawrbw commented Aug 15, 2022

What is the reason behind the 5 channel limit on multichannel audio?

@csteinmetz1
Copy link
Owner

This is due to how things are defined in the original standard, they only specify behavior for 5.1 audio. I believe there has been more recent work to extend the standard to more multichannel formats. This is something we could look into building out in pyloudnorm. @rawrbw, did you have a particular use case in mind?

@rawrbw
Copy link
Author

rawrbw commented Aug 15, 2022

Ok I see. I was under the impression that 5.1 is actually 6 channels as the ".1" specifies the LFE channel? I was trying out multichannel content and noticed it would not accept more than 5 channels.

@csteinmetz1
Copy link
Owner

Ah, I see there is an issue.

The standard states:

The block diagram shows inputs for five main channels (left, centre, right, left surround and right surround); this allows
monitoring of programmes containing from one to five channels. For a programme that has less than five channels some inputs would not be used. The low frequency effects (LFE) channel is not included in the measurement.

The code needs to be adapted to ignore the LFE channel in this case instead of throwing an error. Let me work on a patch for this. Thanks for raising this issue. I have not done much testing with multichannel content myself.

@rawrbw
Copy link
Author

rawrbw commented Aug 15, 2022

Ok that explains it! Thank you for your excellent work! 👌

@csteinmetz1
Copy link
Owner

So after taking a second look I think the current behavior may be the best option, however, there could be more documentation to describe the expected usage. What is important is that the user feed pyloudnorm with the proper channel layout, and that may vary by use case. In other words, pyloudnorm expects that the channel layout as follows: [Left, Right, Center, Left surround, Right surround]. So, I think it is best if we leave it to the user to remove the LFE channel before making an estimate of the loudness, since pyloudnorm will have no way to know which of the 6 channels is the LFE in the input. I am thinking to add some further discussion on this in the README, but it is also noted in the docstring of the Meter class.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants