Jump to content

All Activity

This stream auto-updates     

  1. Past hour
  2. Yesterday
  3. 3ll3d00d

    The Bass EQ for Movies Thread

    Looking at it some more (and checking the code at https://www.ffmpeg.org/doxygen/2.8/af__biquads_8c_source.html) suggests it really should be possible to avoid this problem unless something else in the chain clips it. Will dig a bit further.
  4. SME

    The Bass EQ for Movies Thread

    Zero headroom? That's not good because it implies the processing is using integers rather than fixed or floating point. This means that in addition to the potential for internal clipping, precision problems are likely to arise for low frequency filters, particularly below 20 Hz. How bad it is depends on whether it's processing with 16-bit or 32-bit integers. I'd guess that 32-bit integers might do OK except for the very low frequencies but careful testing is advised. With 16-bit integers, the results are likely to be complete garbage for ULF filters. I would not advise using ffmpeg for either analysis or processing unless you can figure out a way to force it to use floating point instead of integer processing. Even then, I'd want to know whether it applies any kind of dithering when converting from float back to integer. This is probably a pretty minor concern if the output format uses at least 24-bits but for 16-bit output, dithering is crucial to avoid raising the quantization noise floor too much, degrading sound quality particularly in quiet passages. While applying some gain before and after is a feasible work-around, you effectively give up signal-to-noise ratio in the process. A reduction of -10 dB is basically equivalent to giving up 1.66 bits of information per sample. At least reducing gain beforehand makes clip detection possible. Without upstream gain reduction, it's impossible to tell whether the clipping occurred during the processing or was already present in the original track. This fact is irrelevant to processing with ffmpeg because the clipping occurs within ffmpeg itself. This is a potential issue with any DSP; however, the vast majority of competently designed DSPs do processing using fixed or floating point rather than integers and have substantial internal headroom available.
  5. Kvalsvoll

    The Bass EQ for Movies Thread

    Apply gain -10dB before filtering, that should leave enough headroom. After applying all filters, you can fix the gain (+10dB), and perhaps give a warning if clipping occurs. But remember that for dsp processing during playback there may be more headroom available, if the dsp is located after master volume in the signal chain.
  6. 3ll3d00d

    The Bass EQ for Movies Thread

    I like the quick test https://imgur.com/a/8HopqIx which shows there is zero headroom available. I suppose this is not that surprising as ffmpeg filters are treated as completely independent blocks. not ideal though perhaps not a blocker as it would be simple enough to attenuate before filtering, good enough for analysis purposes perhaps (though not for the "create remuxed file" case) sample command for reference - https://gist.github.com/3ll3d00d/40be3ec6e1a5c0466ae324350be65cb0#file-gistfile1-txt
  7. SME

    The Bass EQ for Movies Thread

    If it were me, I would probably study the source code more carefully to try to figure out what it will do, but a quick test would be to try a pair of filters that cancel each other, for example: Low Shelf gain=+X; Low Shelf gain=-X at a common frequency, where the X is some relatively big number that will cause clipping depending on how much internal headroom the processor has. After running a track through the pair of filters, the input and output should be very nearly identical unless clipping or severe precision loss occurred. If the internal processing is floating point, then internal headroom and precision should be very high.
  8. 3ll3d00d

    The Bass EQ for Movies Thread

    I think I've worked out the incantation required to get ffmpeg to apply filters to individual channels so was thinking about how to test whether it does this correctly (re the concerns mentioned earlier about clipping). Any suggestions on what a simple, easily repeatable, test would be for this? i.e. generate a specific signal, apply some filter, output should be x.
  9. Last week
  10. 3ll3d00d

    The Bass EQ for Movies Thread

    this is built with pyinstaller so it should just mean download it and run it, nothing else required at all (except for the only known external dependency, i.e. libsndfile) all my linux boxes are configured the same way though so hard for me to tell if it works in other situations, could spin up a VM I guess...
  11. Kvalsvoll

    The Bass EQ for Movies Thread

    I may be the only one trying to run beqdesigner on linux, so it's like you did this for me, and I feel obliged to test it. I will see if I get the motivation to give it another try, requires some effort to upgrade to the right version of everything, including the right python version. I will report back when I have tried it, and thanks.
  12. 3ll3d00d

    The Bass EQ for Movies Thread

    @Kvalsvoll I built the latest build on my (debian testing) box, I don't have any other distros here to try it on but it works on this machine so give it a try and see if it works. https://github.com/3ll3d00d/beqdesigner/releases/download/0.0.3/beqdesigner
  13. I don't have confirmation of this, but I believe that many Disney and Skywalker Sound mixes in general have more mid-range and less bass than typical cinema content. I believe this is actually a good thing, even though it may reduce apparent loudness and/or dynamics compared to most other mixes. These mixes are likely to sound better on the vast majority of audio system out there including systems optimized for music playback. However, the response of different home systems varies a lot, and the variance is not necessarily any better for "full blown home theaters" vs. TVs and hand-held devices. For example, a lot of auto-EQ calibrate to targets that are bass deficient, IMO. If the Disney/Skywalker Sound movies sound whimpy, even after adjusting the master volume up, it may be in part because the playback system is calibrated to a bass deficient target. Cinemas are also bass deficient because the lower part of the X-curve is flat, whereas a natural in-room response from an anechoic flat speaker typically rises toward the bass in the bottom. Cinemas are also treble deficient because of the steep -3 dB/octave roll-off in the upper part X-curve vs. between 0 and 1 dB/octave with an anechoic flat speaker. I personally find most of the Disney/Skywalker soundtracks to be quite satisfying on my system, which has a substantial "house curve", consistent with a flat anechoic response. I do wish the tracks were more consistent though. Even though most of the Disney/Skywalker stuff has better balance between bass, mids, and treble than typical cinema tracks, the balance within each region is often weird. A lot of this probably reflects the limits of existing calibration technology, which is an area I'd like to see improvement. While most rooms exhibit fairly similar in-room response characteristics when using anechoic flat speakers, the differences are enough that calibrating to the same in-room target in different rooms won't lead to consistent sound. In the long run, it would be good to see the X-curve standard for cinema and dub stages go away to be replaced by a truly accurate calibration standard. This would likely eliminate one of the biggest differences between cinemas and home systems. Better yet, with all the production done on accurate systems, much less EQ would be applied to the mixes overall leading to a much better result overall on *all* systems *including cinemas*, where sound is often the worst. Indeed experiments suggest that cinemas sound better with anechoic flat speakers than with the X-curve calibration, *even when playing cinema content* mixed in X-curve calibrated dub stages. Yeah, really!
  14. Mattias Andersson

    Othorn, a building story from Sweden.

    Ooops...two identical pics. Okay then ill build two Othorns. Hehe
  15. Mattias Andersson

    Othorn, a building story from Sweden.

    Hey everyone, first I would like to thank you all members of this forum, you have inspired me to build myself some speakers. I also like to say, thank you Ricci for sharing the Othorn plan and giving all your support to me as a diy. As you probably know by now I will start to build Othorns to make my soundsystem complete. We are right in the beginning of this project, the speakers arrived today and the building start is not yet set. My goal with this build is to make the Othorns to look like the rest of the sound system. Please feel free to guide me through this project, ask for pictures if you like. I will gladly share this building project with you guys, you have giving me so much and I'll like to give something back in return. //Mattias
  16. Boyd

    Ricci's Skhorn Subwoofer & Files

    Have you looked at the LaVoce 21" (soon to be carried by parts express) as a possible driver candidate for the SKhorn? I've heard comment that it is very similar to the B&C 21DS115. If it models well, it could be a great option, as it looks like it's going to sell for $150 cheaper than the 21DS115. https://www.parts-express.com/lavoce-san21450-21-neodymium-subwoofer-8-ohm--293-732
  17. Regarding Disney's recent HT mixes, I can only second what others are saying about them : they are disappointing, and no, it's not just a question of loudness or master volume. What's interesting is to compare how it pored through video releases : the Forbes article has the starting point wrong : AOU was already problematic on BD. It was under-cranked, but also flatter than expected and with empty bass (I suppose the track doesn't go particularly low in frequencies). Its unfortunate the article is imprecise regarding this (though I guess that can only be expected from a non-technical publication like Forbes), but having now listened to many of the recent Buena Vista BDs, they do feel disappointing outside from the master volume being too low. They certainly aren't all the same, and some sounded better than others, but AOU, Black Panther, Last Jedi, Thor Ragnarok, GoG 2, but also things like Coco. Infinity War sounds a bit better and mostly is slighlty under-cranked, but even once the MV is increased, it still feels less impactful that one would expect. I can't say if it's a creative issue more than a technical limitation. But what I do know is that something definitely changed in the way these tracks are mixed, and despite whatever people might say (especially regarding how other studios have clipped or filtered tracks, as if it explains why the BV tracks are picked up but not the other ones, or as if it would somehow makes it better to know that), it's telling to see in the first post of this very thread the scores obtained by earlier MCU discs (Winter Soldier, Incredible Hulk, Thor 2) and then look at the scores for more recent movies. I don't know what Disney changed, but clearly, if they didn't change anything, we wouldn't have this discussion. If they changed it in a way that didn't feel this obviously debatable, we wouldn't have it either. So if Disney wants to simply go back to whatever they were doing 6 years ago, I'm all for it, and I DO hope they listen to the complaints to just go back and do that.
  18. m_ms

    Othorn - HT capable?

    Just a small update: My horn sub project in the form of @lilmike's MicroWrecker tapped horn has been initiated. I've ordered two B&C 15TBX100 15" drivers for a pair of Micro's, so plenty of headroom should be available. They'll be build in 11-layer Russian birch ply by a cabinet maker I know. Amp and DSP solution as of yet not determined.. /Mikael
  19. Ricci

    Ricci's Gjallarhorn & Othorn Files

    I do not think that would help. Just make sure to brace the hatch. Or just sit the cabs vertically with the hatch on the ground.
  20. Hello Guys, I am a newbie here, I want to use PURE VPN for Roku. Is It possible to setup a VPN on my router directly and connect Roku with a VPN? or please suggest me best Roku supported VPN provider. Regards,
  21. Kvalsvoll

    The Bass EQ for Movies Thread

    Kodi uses alsa on my machine, and this dsp can use alsa. But it will not work for movies, because audio is sent to hdmi directly as passthrough, for external decode in the av processor. It would be possible to configure to allow software processing if the movie audio is re-encoded to pcm, but then you still would need to extract, decode, encode and re-mux. Options here are severely limited due to the proprietary formats of audio in movies. Which leaves processing post-bm in the bass-system dsp is the best option for quick and reasonable quality bass-eq. This also eliminates problems with clipping.
  22. 3ll3d00d

    The Bass EQ for Movies Thread

    I haven't tried it myself but https://github.com/bmc0/dsp/wiki/System-Wide-DSP-Guide gives an example of how to use LADSPA for system wide dsp. It looks like there is a script for converting REW filters into a format LADSPA can use too so that might make it quite easy. Another (not free) option would be jriver as their linux build now has video support.
  23. SME

    The Bass EQ for Movies Thread

    Another issue that may be a lot more challenging to address is proper support for the lower-end MiniDSP devices, the 2x4 and 2x4 balanced, which use 56-bit fixed point processing instead of floating point. This causes errors due to precision loss below 20-30 Hz, which become worse with decreasing frequency. These errors can be substantial even when using the MiniDSP in the mode that is optimized for low frequencies, without which any kind of ULF EQ is pretty much useless. I got bit by this problem pretty hard back when I used a MiniDSP 2x4 for in-room sub EQ. The errors are not small. Even with a floating point implementation, the precision of the floats may matter. (I haven't thoroughly tested it.) Processing the audio in 32-bit float format should be good enough, but the biquad coefficients and temporary variables may need to be double precision for sufficient ULF accuracy. My implementation does this. I don't know if the floating point MiniDSP units represent the biquad coefficients and temp variables as 64-bit or not. Likewise, I don't know how much precision the fixed point MiniDSP units use to represent the biquad coefficients. These are details that may need to ascertained by reverse engineering in order make tools like beqdesigner as accurate as possible. What about DSP built into amps? It's the same story there too, and each device may behave differently. (This is probably part of the reason many amps don't allow filters below 20 Hz.) These issues don't just affect beqdesigner but affect implementation of the BEQs posted in this thread too. It's just that the independent channel BEQs are designed to be implemented upstream of bass-management, which limits the devices that can be used to apply them to devices that probably have at least 32-bit float precision. Along these lines, it would probably be good to investigate ffmpeg to understand how it will process biquads. I took a look just now. It appears that the internal implementation supports 16-bit and 32-bit integers along with 32-bit and 64-bit float with coefficients always being represented using 64-bit float. The integer formats don't offer any headroom, and because each biquad is processed separately, clipping will occur immediately if any one biquad pushes the signal above full-scale, even if this excursion would have been canceled out by a later biquad. As such, it is crucial that ffmpeg be used in such a way that it uses floating processing internally, and of course, the result will only be accurate for the highest precision floating point DSPs.
  24. Kvalsvoll

    The Bass EQ for Movies Thread

    There is no dsp available on the computer. But that is possible to fix, this is a linux machine running ubuntu and kodi, it would be difficult to implement at the time it was built, but there may be options available now. If filtering is done real-time during playback there is no need to do any processing on the soundtrack. This does however require some sort of analysis to ensure no clipping.
  25. 3ll3d00d

    The Bass EQ for Movies Thread

    That is correct, it will get added at some point though.
  26. SME

    The Bass EQ for Movies Thread

    So AIUI, if one is doing a multichannel BEQ there's currently no way to generate a graph showing the bass-managed result. Doing so requires re-analyzing the track, just like calculating headroom limitations. One can of course make some assumptions and calculate an estimate of the bass-managed result, but it won't match the real thing which requires a longer run. I didn't see anything suitable for streamed processing with biquads in scipy.signal but I may have not looked closely enough. If you're already requiring ffmpeg for extraction, then it makes sense to try it for processing. Hopefully it does the job well.
  27. 3ll3d00d

    The Bass EQ for Movies Thread

    There seems to be some confusion about what the app actually is at this point in time so let me clarify. It's an interactive *per channel* minimum phase filter designer with the tools required to quickly and easily work with either mono bass managed tracks or multichannel tracks, i.e. designing pre or post BM BEQ filters. Interactive means it must be quick hence the filter view is based on the transfer functions. Obviously this wouldn't work if we were trying to combine channels but we're not (except when extracting the source track which is pre filter) so this is fine. A post filter clipping check is something I am aware of and had logged it at https://github.com/3ll3d00d/beqdesigner/issues/19 a while ago. This isn't hard to implement (both sox and ffmpeg can apply biquads) so it's just a question of time and desire to implement the feature. One could also implement this in python using scipy or there are other python libs (with an underlying C impl, e.g. http://ajaxsoundstudio.com/pyodoc/) that could also be used if scipy is too slow. Having said that I would have thought that would be something that happens relatively infrequently as a final check so working with existing cli tools seems fine to me and would be quick and easy to implement. @Kvalsvoll the bit I don't get is why you want to remux that back into the original track. If you're playing an mkv then you're already on a computer that can do the filtering in real time so why would you want to alter the source itself?
  28. SME

    The Bass EQ for Movies Thread

    What you describe could be done by import/export of raw PvA data, which should be quite easy to implement. We'd also need a place on-line to host exported data so that people could enjoy the benefits you describe. At the same time, processing is still necessary in order to support key features including headroom/clipping analysis and independent channel BEQ. It does appear that ffmpeg supports generic biquads, so that is an option. However because processing is needed for "internal use" in addition to the use case of processing .mkvs, using ffmpeg may be a bit clumsy. I don't know the program well enough to say for sure. What I do know is that one probably wants the processing to support streaming, and it should be as fast as possible including using multiple CPU cores. I would suggest a simple multi-process architecture using UNIX sockets, but this thing has to run on Windows. As such, code to support the Windowsy methods for inter-process communication would have to be written as well. If there is interest, I'm willing to contribute my C/Python code to do stream processing of biquads along with a simple makefile for builds on UNIX. For Windows, someone else will have to step in, and whoever builds the Windows binary release will have to have a Windows C compiler tool-chain. If asked, I would write code for the multi-process streaming processor using UNIX sockets as well, but I don't think it would work on Windows. Edit: Actually, I think I could make a version that'll run multi-core just using the standard Python multi-threading support. It should work fine cross-platform.
  1. Load more activity
×