As you can see, the difference is considerable. I study it better and listen. This is the maximum correction, the start of the function is set in 80/100. Itâs not a wow effect like the original version, but for me itâs better tolerable in the long run. Iâll test for sure. If there was ever a version that sets the high band gain individually as well as where the end of the correction is, ie probably where the useful signal is no longer heard, it would be perfect (the starting point of the correction work is already in FusionDSP). Iâll try to think about the shape of the curve, I canât comment on that right now. I think the only guide is ISO 226: 2003.
Iâm going to test !!!
Greetings, if you have the time, here is an accurate overview of the ISO 226: 2003 standard.
http://www.macfreek.nl/memory/images/Equal-loudness_contours.xlsx
With the file we can easily read:
If we want to reduce the level from 80 Phons / 1kHz = 80dB to the level of 40dB then we reduce it roughly as follows:
20Hz - 19.1dB
100Hz - 28.1dB
250Hz - 33.9dB
400Hz - 36.7dB
1000Hz - 40.0dB
2000Hz - 41.4dB
5000Hz - 41.6dB
8000Hz - 40.4dB
10000Hz - 37.5dB
12500Hz - 33.9dB
The result is surprising, but if we realize how quiet it is, we come to the need for a dynamic volume change. It is a question of opinion, taste and habit. So what each of us actually imagines from the quiet reproduced sound and the Loudness function, this function should not be confused with a dynamic expander. However, if we succeed and we are a little lucky, it will allow us to hear in peace at home about the same ratio of low, middle and high tones as heard by the sound engineer in the studio at the working volume of âhisâ Genelec 1236A.
What do you think about this feature and what shape should it have? I like to read opinions and experiences.
I present as one of the possible solutions with the help of ISO 226: 2003, it is a solution based on measurement, it is functional. The question of how it will be liked. I could imagine it, at night, in silence it works nicely, during the day it needs to be strengthened and I canât, the curve is not dynamic in my case, of course, I donât know how to do it.
Have a nice day and I look forward to your opinions
I apologize for the English, I use the translator and I also thank Google âŚ
Thanks Petr
Thank for your post. I read it carefully. And I donât if I want/can/know how to implement it in the plugin. I can try to improve the shape though and add more user settings. But Iâm afraid it may be confusing for most of themâŚ
But Iâm open to any suggestion
Attempt to mimic the ISO curve for -40dB / 1kHz SPL:
//------volume loudness sectionâ
let loudness = self.config.get('loudness')
if (loudness) {
self.logger.info('Loudness is ON ' + loudness)
var composedeq = '';
var pipelineL = '';
var pipelineR = '';
composedeq += ' highshelf:\n'
composedeq += ' type: Biquad\n'
composedeq += ' parameters:\n'
composedeq += ' type: Highshelf\n'
composedeq += ' freq: 10000\n'
composedeq += ' q: 1.0\n'
composedeq += ' gain: ' + (loudnessGain * 0.28).toFixed(2) + '\n'
composedeq += '\n'
composedeq += ' lowshelf:\n';
composedeq += ' type: Biquad' + '\n';
composedeq += ' parameters:' + '\n';
composedeq += ' type: LowshelfFO\n';
composedeq += ' freq: 75\n';
composedeq += ' gain: ' + loudnessGain + '\n';
composedeq += '' + '\n';
composedeq += ' peakloudness:\n';
composedeq += ' type: Biquad' + '\n';
composedeq += ' parameters:' + '\n';
composedeq += ' type: Peaking\n';
composedeq += ' freq: 2000\n';
composedeq += ' q: 0.9\n';
composedeq += ' gain: ' + (loudnessGain * -0.04).toFixed(2) + '\n';
composedeq += '' + '\n';
composedeq += ' peakloudness2:\n';
composedeq += ' type: Biquad' + '\n';
composedeq += ' parameters:' + '\n';
composedeq += ' type: Peaking\n';
composedeq += ' freq: 4000\n';
composedeq += ' q: 0.8\n';
composedeq += ' gain: ' + (loudnessGain * -0.036).toFixed(2) + '\n';
composedeq += '' + '\n';
result += composedeq
//-----loudness pipeline
------ actions tools------------
FusionDsp.prototype.playToolsFile = function (data) {
const self = this;
self.config.set(âtoolsfiletoplayâ, data[âtoolsfiletoplayâ].value);
let toolsfile = self.config.get(âtoolsfiletoplayâ);
let track = toolspath + toolsfile;
self.commandRouter.replaceAndPlay({ uri: track });
self.commandRouter.volumioClearQueue();
};
FusionDsp.prototype.sendvolumelevel = function () {
const self = this;
socket.on(âpushStateâ, function (data) {
let loudnessVolumeThreshold = self.config.get(âloudnessthresholdâ)
let loudnessMaxGain = 26
let loudnessLowThreshold = 30
let loudnessRange = loudnessVolumeThreshold - loudnessLowThreshold
let ratio = loudnessMaxGain / loudnessRange
let loudnessGain
What do you think about it?
Thank you
Peter
Nice! I canât test now but curve looks like Iso.
How does it sound for you?
I think it works, but itâs different. The problem is caused by unequal modular recordings, when the recording is weak so it needs to be amplified and at that moment the Loudness effect is weaker, itâs logical, it would want more controls âŚ
But if the recording is good and well modulated, then even quiet listening is full of frequency and you can hear even 29Hz (I measured the spectrum and listened at night) and I would consider that a success. But it only works as Loudness, it does not serve to highlight the faint high tones that otherwise disappear in the noise of the day. At night, in complete silence, itâs great in my opinion. However, as I wrote, people may have different ideas about this feature. The whole Hi-Fi has been revolving around heights for the last 30 years, so the more heights the more Hi-Fi. Iâm elsewhere.
In any case this is Loudness based on research, not some Loudness entirely fictional, without any justification, as can be seen with one unnamed brand producing DSP.
Peter
Yes it works, but what a massive attenuation!
IMHO, loudnessLowThreshold = 30 is to high. Effect is max below 30. I set it to 5.
I also adjusted a bit values for filters
composedeq += ' highshelf:\n'
composedeq += ' type: Biquad\n'
composedeq += ' parameters:\n'
composedeq += ' type: Highshelf\n'
composedeq += ' freq: 10000\n'
composedeq += ' q: 0.8\n'
composedeq += ' gain: ' + (loudnessGain * 0.28).toFixed(2) + '\n'
composedeq += '\n'
composedeq += ' lowshelf:\n';
composedeq += ' type: Biquad' + '\n';
composedeq += ' parameters:' + '\n';
composedeq += ' type: LowshelfFO\n';
composedeq += ' freq: 75\n';
composedeq += ' gain: ' + loudnessGain + '\n';
composedeq += '' + '\n';
composedeq += ' peakloudness:\n';
composedeq += ' type: Biquad' + '\n';
composedeq += ' parameters:' + '\n';
composedeq += ' type: Peaking\n';
composedeq += ' freq: 2000\n';
composedeq += ' q: 1.1\n';
composedeq += ' gain: ' + (loudnessGain * 0.06).toFixed(2) + '\n';
composedeq += '' + '\n';
composedeq += ' peakloudness2:\n';
composedeq += ' type: Biquad' + '\n';
composedeq += ' parameters:' + '\n';
composedeq += ' type: Peaking\n';
composedeq += ' freq: 4000\n';
composedeq += ' q: 0.8\n';
composedeq += ' gain: ' + (loudnessGain * -0.036).toFixed(2) + '\n';
composedeq += '' + '\n';
composedeq += '' + '\n';
result += composedeq
The result with volume 5 Threshold 90
And with volume 35 Threshold 90
Yes I know. I set 30 because under 30 I basically canât hear anything anymore. I have reduced the volume on the DAC so I can to 90 on the Volumio to have the resolution for the SW Volume. I understand that, but my monitors can no longer be set to a lower sensitivity. Thatâs why I work from 30 to 90 and I have a trial gain of Loudness 85 or 90.
I will definitely try your setup today. Wouldnât it please do without that ripple? At 1kHz it should have 0.0dB, 2kHz -1.4dB, 4kHz -1.7dB, 6.3kHz -1.0dB, 10kHz 2.5dB and 12kHz 6.1dB.
I will try to attach an Excel graph from that standard.
Thanks so much for the discussion, I appreciate it
Peter
Yes, of course I tested it right away. I see only one problem in the area above 1kHz. But this wave also occurs there of other manufacturers of the Loudness feature. I may be wrong, but I think Iâm right, Iâm still thinking about it. In my opinion, at least as I understand it, it is not our task to âstraightenâ these generally known curves of the sensitivity of the human ear, because firstly it is not and secondly that man is used to the characteristics of his ear. The point is that the master of sound aligns the recording according to his intention (as the artist does). However, it does so in some working sound pressure (SPL) and in an acoustically optimized studio environment. Suppose this happens at 85-90dB SPL. We then reproduce this recording in the evening / at night in our house / in the apartment with regard to other members of the household or neighbors in sound pressure (SPL) 45-50dB. Therefore, I opted for a curve with a maximum attenuation of -40dB, which is this Excel curve that shows the difference in ear sensitivity at 80 and 40dB. I donât know if this is the right procedure or that this standard is correct, but we have nothing else. The last curve published looks great, do you have the settings for them? I would like to test it, my attempts will probably not be clean in terms of programming.
Thank you for the wonderful consultation.
Cheers Petr
Czech Republic
with
highshelf:\n'
type: Biquad\n'
parameters:\n'
type: Highshelf\n'
freq: 10000\n'
q: 0.8\n'
gain: ' + (loudnessGain * 0.28).toFixed(2) + '\n'
'
lowshelf:\n';
type: Biquad' + '\n';
parameters:' + '\n';
type: LowshelfFO\n';
freq: 75\n';
gain: ' + loudnessGain + '\n';
+ '\n';
peakloudness:\n';
type: Biquad' + '\n';
parameters:' + '\n';
type: Peaking\n';
freq: 2000\n';
q: 0.4\n';
gain: ' + (loudnessGain * -0.04).toFixed(2) + '\n';
+ '\n';
peakloudness2:\n';
type: Biquad' + '\n';
parameters:' + '\n';
type: Peaking\n';
freq: 4000\n';
q: 0.8\n';
gain: ' + (loudnessGain * -0.036).toFixed(2) + '\n';
loudnessMaxGain = 23
Do I need to change the high?
I think I going to include these setting in next releaseâŚ
Hello,
next week the officially Update for Volumio is comming. I hope that Fusion DSP will get the stable state soonđ.
Do you think it will be able to have an multichanel Setup with Volumio and Fusion DSP in future?
It will be nice to control a subwoofer alone.
I know, at first Volumio has to implement the feature.
Maybe a dream, But what will we be without dreamsđ.
I have no plan to use multi channels in the UI. But FusionDsp gives you access to CamillaDsp GUI. Just choose Pure CamillaDsp GUI as DSP mode. From here, you can set all channels you need.
Edit but Iâm still open to think, one day to implement thisâŚ
For me, the topic of volumio and FusionDsp is completely new.
I have installed volumio with FusionDsp on an old RPi 2 B Rev. 1.1 and connected it to an amplifier. On my terrace are 2 KEF Ventura 4 outdoor speakers mounted:
KEF
Product Specifications
Dimensions (HxWxD) in mm 230x171x154
Cross Over Frequency 3.5kHz
Recommended Amp Power 10 - 80 Watts
HF Driver 19mm Tweeter
LF Driver 115mm
Enclosure Type Two-Way Sealed Box
Frequency range 75Hz - 20kHz
With these I would like to boost the bass range. What is the best way to do this?
The easiest way is to use 15 bands Eq and increase a little low frequencies below 200Hz and test until it sounds at your tasteâŚ
Ok, then Iâll try this.
I read in a post about the Linkwitz Transform.
When I select the parametric equalizer and then select the Linkwitz Transform, I get a floating point error at eq1. It says 0,0,0 by default. What must be entered there and is it suitable at all?
Oh. I see. Even if 0,0,0 is displayed, you need 4 parameters for this filter.
Parameters:
freq_act: actual resonance frequency of the speaker.
q_act: actual Q-value of the speaker.
freq_target: target resonance frequency.
q_target: target Q-value.
Ex 70,2.2,80,3.1