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.
Recent Posts
21
3rd Party Plugins - (fb2k) / Re: foo_truepeak True Peak Scanner
Last post by Defender -
@Case is there a dB threshold where one can expect to hear this clipping?  That is about the only way I think one could present this into a concise single value, well maybe 2 values.  One being total clips and one being clips beyond a certain dB threhold.
IMO you should normalize total clipping samples also for tracklength/albumlength and samplerate. I now normalize to 44kHz/16bit and show the amount of seconds of clipping per hour. Your remark about dB threshold is of course completely valid and something I struggle(d) with too.

I colorcode the resulting seconds per hour completely arbitrary:
Code: [Select]
	$puts(cht.raw,[%truepeak_scanner_clipped_samples_track%])
$if($get(cht.raw),
$ifgreater($get(cht.raw),0,
$puts(cht.cph_samples, $muldiv($get(cht.raw)000000,3600,%length_seconds_fp%)) $puts(cmt, Clipped samples per hour times 1000000)
$puts(cht.cph_seconds, $div($get(cht.cph_samples),%samplerate%)) $puts(cmt, Clipped seconds per hour times 1000000)

$puts(round.raw,000000$trim($get(cht.cph_seconds)))
$puts(round.value,$add(0,$cut($get(round.raw),$sub($len($get(round.raw)),6))).$right($get(round.raw),6))
$puts(cht.val,%CODE.ROUND3%$get(round.result))

$puts(cht.cd,CH-$get(cht.val)s)

$puts(cht.max,99.999)
$ifgreater($get(cht.val),$get(cht.max),
$puts(cht.cd,CH-$get(cht.max)M)
$puts(col.cht,  %COL.RED%)
,
$ifgreater($get(cht.val),19,
$puts(col.cht,  %COL.RED%)
,
$ifgreater($get(cht.val),9,
$puts(col.cht,  %COL.ORANGE%)
,
$ifgreater($get(cht.val),0,
$puts(col.cht,  %COL.YELLOW%)
,
$puts(col.cht,  %COL.GREEN%)
))))
,
$puts(cht.cd,CH-NONE) $puts(col.cht, %COL.GREEN%)
)
,
$puts(cht.cd,CH-N/A) $puts(col.cht, %COL.YELLOW%)
)
26
3rd Party Plugins - (fb2k) / Re: foo_truepeak True Peak Scanner
Last post by ngs428 -

I spent some time today to think about what kind of statistics to gather from clipping, here's an experimental implementation: https://foobar.hyv.fi/foo_truepeak_clip_report_testing.fb2k-component
I hope people don't quote this link as the component will be nuked once testing is done, leaving quotes with bad links behind.

The new experimental statistics aren't shown on the result dialog or tagged, they are only printed to foobar's console. So it's best to test that with only one track.

Example results:
Code: [Select]
True Peak Scanning track: G:\Music\Lossless\Metallica\(2008) Death Magnetic\05. All Nightmare Long.flac
Oversampling to 352800 Hz with Resampler (SoX)
Clip stats: ch0: peak: 1.3002197 (2.2803346 dB), pos: 0:30.708, max clip rms: 1.2160325 dB, pos: 0:30.708, max consecutive clipping samples: 16.0000000 (0:00.000 s), total clipping samples: 377258 (0:01.069 s)
Clip stats: ch1: peak: 1.2273319 (1.7792406 dB), pos: 0:19.988, max clip rms: 1.0105605 dB, pos: 1:01.660, max consecutive clipping samples: 17.0000000 (0:00.000 s), total clipping samples: 781139 (0:02.214 s)
Clip stats track:: peak: 1.3002197 (2.2803346 dB), pos: 0:30.708, max clip rms: 1.2160325 dB, pos: 0:30.708, max consecutive clipping samples: 17 (0:00.000 s), total clipping: 1158397 (0:03.283 s)
Clip histogram:
peak at 0.0 - 0.1 dB: 1038987 samples (89.69 %)
peak at 0.1 - 0.2 dB: 78387 samples (6.77 %)
peak at 0.2 - 0.3 dB: 21630 samples (1.87 %)
peak at 0.3 - 0.4 dB: 8597 samples (0.74 %)
peak at 0.4 - 0.5 dB: 4253 samples (0.37 %)
peak at 0.5 - 0.6 dB: 2362 samples (0.20 %)
peak at 0.6 - 0.7 dB: 1473 samples (0.13 %)
peak at 0.7 - 0.8 dB: 910 samples (0.08 %)
peak at 0.8 - 0.9 dB: 605 samples (0.05 %)
peak at 0.9 - 1.0 dB: 394 samples (0.03 %)
peak at 1.0 - 1.1 dB: 293 samples (0.03 %)
peak at 1.1 - 1.2 dB: 188 samples (0.02 %)
peak at 1.2 - 1.3 dB: 138 samples (0.01 %)
peak at 1.3 - 1.4 dB: 76 samples (0.01 %)
peak at 1.4 - 1.5 dB: 49 samples (0.00 %)
peak at 1.5 - 1.6 dB: 23 samples (0.00 %)
peak at 1.6 - 1.7 dB: 13 samples (0.00 %)
peak at 1.7 - 1.8 dB: 5 samples (0.00 %)
peak at 1.8 - 1.9 dB: 4 samples (0.00 %)
peak at 2.0 - 2.1 dB: 4 samples (0.00 %)
peak at 2.1 - 2.2 dB: 3 samples (0.00 %)
peak at 2.2 - 2.3 dB: 2 samples (0.00 %)
peak at 1.9 - 2.0 dB: 1 samples (0.00 %)


I think you are on to something.  How granular the histogram has to be is a good question.  Do we need it by 0.1?  Is sure does show that your file have a ton of clips, but approx 90% are 0.1 or lower.  I think this helps explain the impact of the clip result.

Example results:
Code: [Select]
Oversampling to 192000 Hz with Resampler (SoX)
Clip stats: ch0: peak: 1.0216434 (0.1859869 dB), pos: 0:34.500, max clip rms: -0.0615525 dB, pos: 0:32.646, max consecutive clipping samples: 1.0000000 (0:00.000 s), total clipping samples: 3 (0:00.000 s)
Clip stats: ch1: peak: 1.0251275 (0.2155575 dB), pos: 0:34.500, max clip rms: -0.0170493 dB, pos: 0:26.200, max consecutive clipping samples: 1.0000000 (0:00.000 s), total clipping samples: 2 (0:00.000 s)
Clip stats track:: peak: 1.0251275 (0.2155575 dB), pos: 0:34.500, max clip rms: -0.0170493 dB, pos: 0:26.200, max consecutive clipping samples: 1 (0:00.000 s), total clipping: 5 (0:00.000 s)
Clip histogram:
peak at 0.0 - 0.1 dB: 2 samples (40.00 %)
peak at 0.1 - 0.2 dB: 2 samples (40.00 %)
peak at 0.2 - 0.3 dB: 1 samples (20.00 %)
True Peaks calculated in: 0:01.280, speed: 31.15x

@Case is there a dB threshold where one can expect to hear this clipping?  That is about the only way I think one could present this into a concise single value, well maybe 2 values.  One being total clips and one being clips beyond a certain dB threhold.
27
Wiki Discussion / Re: wiki 404 Not Found
Last post by korth -
@Peter
Template:Clickpic
Looks like you might need to check localSettings.php
https://meta.wikimedia.org/wiki/User:CharlesC/Template_for_navigational_images_on_Mediawiki_websites#If_you_want_to_use_an_image_that_is_contained_within_the_wiki

[...] the infobox templates now showing the text "[[File:" above and "|256px]]" below the actual image, as I've seen on this one

I've made an adjustment to the Template:Infobox foobar2000 component
I've also asked the template author @beardgoggles  to have a look.
30
3rd Party Plugins - (fb2k) / Re: Device-Priority-SMP
Last post by regor -
Sorry I wasn't clear.

Ad 1) With selecting manually I mean click on the button that shows a dropdown of available output devives and then click (not SHIFT click) the output device you want to activate.

nfortunately this only works the first time without the popup. And I have to switch devices by pressing SHIFT before selecting another device. If you don't hold shift while clicking another device it just reverts to the first highest priority available device.
Obviously, that's by design. As I said you, if the script tries to automatically switch devices, there is no way to identify a new device as a manual or automatic change. And you identify a manual change pressing shift. That will not change, but feel free to tweak the code.

Quote
Ad 2) When switching to an available device you don't get a popup and playback just continues on the newly selected device. What I mean I want that behavior too when (instead of switching) the activated/playing external device is switched off.
As I have written before, that works perfectly fine on my side. I never change devices, I just switch them on/off. With your priority order that will never work as you want..

Quote
Ad 3) Tested that already, but doesn't work for me. The JBL Charge is not only used by me and as such I don't want to switch automatically to it when it comes online. Might be one of my kids takimg a batch and wanting to stream to the JBL from their phone.
Then the problem is your particular usage  ;)  You are trying to use it in a way not designed to be used, can't help with that. I mean... it's technically possible to add a new variable which should flag specific devices to not be used automatically, but still maintain them in the priority list. But I have zero interest on that, since I will never use it myself. You can add such code though, which will be more simple than starting from scratch.

Also, you could try setting only a single device on the priority list. The PSD. I think if you manually select the external one, and then you power it off, it should try to switch to the PSD one automatically. i.e. a device doesn't need to be on the list for the rest to work.

Quote
I tested my code with adding the following lines when a device suddenly is unavailable:
   fb.RunMainMenuCommand('Playback/Device/' + arr[1].name);
   if (fb.IsPlaying)   fb.PlayOrPause();
With this code the second output (PBS) is selected and if the switched off external device was playing the Play command is also executed but starts playing from the beginning of the track and always gives the popup.
Kind of weird that fb.IsPlaying is true when foobar obviously stopped playback.
As I said, it is not as simple as just making it play again. It doesn't work. A lot of times playback time is reset without reason, devices act weird, etc. You have to add a few extra lines of code to handle all that.