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: AudioWorklet-based multichannel peakmeter visualization (Read 1492 times) previous topic - next topic - Topic derived from Re: AudioWorklet-base...
0 Members and 1 Guest are viewing this topic.

AudioWorklet-based multichannel peakmeter visualization

I made an another project (spun off from filter bank spectrum analyzer project) utilizing AudioWorklet for multi-channel peakmeter, which is a sequel to previous AnalyserNode-based one, which only supports stereo

X
X
X

Features:
  • Number of peakmeter bars is automatically set according to source audio's number of discrete channels
  • Comes with Mid/Side channel representations and can be displayed in tandem with L/R channels
  • Configurable RMS averaging length and three averaging domains to choose from
  • Also comes with infinite (cumulative) average meter, which works similarly to integrated measurement of LUFS but without K-weighting nor scaling to LUFS
  • Channel labels (and its corresponding M/S representations) are displayed accurately on anything other than standard stereo (at least for mono, 2.1 stereo, quadraphonic, 5.1 and 7.1 surround sound, and of course 17.1 surround sound)
  • Linear and nth root amplitude scales are supported in-addition to logarithmic (dB) scaling (yes, I'm aware that some peakmeters in DAWs have nonlinear but not exactly logarithmic amplitude scaling)
  • Potential clipping (+0dBFS samples, some browsers like Firefox don't clip on +0dBFS samples) is indicated by main bar(s) flashing red, though you can turn this off by unchecking "Show potential clipping (above 0dBFS) as red bars" checkbox button if you don't mind about +0dBFS samples

 

Re: AudioWorklet-based multichannel peakmeter visualization

Reply #1
Small update: Added a separator line between discrete channels and its M/S representations of channel pairs, which can look like this:
X

BTW, when there is center and LFE channels present, it will show the discrete center channels (including LFE on 5.1 and 7.1 surround sound) even on M/S mode since they're not part of channel pairs

Re: AudioWorklet-based multichannel peakmeter visualization

Reply #2
New update: Main bar (either peak or exponential average) can now be hidden to only show RMS or infinite (cumulative) average levels

Re: AudioWorklet-based multichannel peakmeter visualization

Reply #3
You're so tiresome!!

Re: AudioWorklet-based multichannel peakmeter visualization

Reply #4
You're so tiresome!!
It could be arguable that I might accidentally "scared" @Crossover off his foobar2000 component development, which becomes tiresome since there are no updates from him nor for his components (foo_enhanced_spectrum_analyzer and foo_loudness_peakmeter) since then, which means version 2.x.x.x (2.0.0.0 or whatever) of his components never come out soon, which is again tiresome

Re: AudioWorklet-based multichannel peakmeter visualization

Reply #5
sorry I was OOTL, isn't this what foobar2000 can do out of the box since ≥years ago? is there novelty?
a fan of AutoEq + Meier Crossfeed

Re: AudioWorklet-based multichannel peakmeter visualization

Reply #6
sorry I was OOTL, isn't this what foobar2000 can do out of the box since ≥years ago?
Definitely yes but this project combines the peakmeter and "VU" meter into one like foo_uie_peakmeter and Peakmeter Spectrum component

is there novelty?
While there is an option to display additional Mid/Side representations (I'm sure you heard about Mid/Side processing in music production context) as well as infinite (cumulative) average bars, which is a crude approximation of integrated LUFS, nothing truly new is there

Re: AudioWorklet-based multichannel peakmeter visualization

Reply #7
Does it use HW acceleration for display, to make it more fluid?
TAPE LOADING ERROR

Re: AudioWorklet-based multichannel peakmeter visualization

Reply #8
Does it use HW acceleration for display, to make it more fluid?
On this project or web app, it uses CanvasRenderingContext2D, which is hardware-accelerated by default, which is why my own spectrum analyzer and spectrogram project as well as filter bank analyzer one runs faster than foo_enhanced_spectrum_analyzer in foobar2000


Re: AudioWorklet-based multichannel peakmeter visualization

Reply #10
I thought you'd be dabbling with pqyt's webview component to do all this inside a fb2k panel with fb2k audio data?
I've used my own project on CodePen for my needs of analyzing audio in realtime (to produce animated graphs) with algorithms I've implemented but I haven't tried webview component thing yet to "port" some of my Web Audio API stuffs to foobar2000 audio player

But the thing is, Web Audio API doesn't provide channel mask or something like that describes channel layout (to distinguish quadraphonic from 3.1 stereo, and 2.1 stereo from 3.0 ones), so I have to guess based on what foobar2000 is giving the channel layout for multichannel WAV files generated from Audacity (which doesn't provide channel mask nor any other form of channel layout metadata for multichannel WAV files exported with "Advanced Mixing Options" AFAIK) or from other sources like this one lacking any channel layout metadata at all

Which means implementing Mid/Side mode is complicated on multichannel formats (more than 2 channels or stereo) because I have to account for different channel configurations and making sure M/S matrix works correctly on each pair on multichannel audio (5.1 or 7.1 surround sound) and ignore center and LFEs (though it could become eligible for M/S conversion if there are left and right pairs of multiple LFE channels), exacerbated by Web Audio API's lack of channel layout data