Skip to main content


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
AAC - Tech / How to repair a bad Exhale xHE-AAC audio file
Last post by degarb -
Every now and then I get bad m4a files that are corrupt, but seem to be of the correct size.  Also, no sign of audio playback interruptions.

I am using Exhale for the recordings, which are typically 8 to 20 hours, more or less.

So far, only foobar2000 can play the xHE-AAC, although this is now the standard audio format for  Android and Apple.  I use it because the audio sounds better and transparent at 24 kps for the spoken word, than the grainy Opus files, which is impossible to get rid of under 32 kps.     Usually the files get corrupted if the recording session is interrupted prematurely.  But if I see 11 hours worth of mb is present in a 12 hour recording, I would rather use a tool to uncorrupt the m4a and record the final hour or 20 minutes, rather than trying again from the start.

VLC and foobar, can't convert these corrupt files.  I have tried another program called kernel, which couldn't do it.  So, I am doomed to restart the recording from the start, which can knock back another 24 hours of recording time.

As far as I know, exhale (last checked in late December), could only encode a wav of so many samples per wav, and nothing else.

3rd Party Plugins - (fb2k) / Re: Playlist Organizer (aka foo_plorg) replacement on Jscript Panel 3
Last post by iridescentaudio -
Loving the recent developments. Thanks!

Can you please tell me what do you do to have that error ? I'd like to try to reproduce it as it seems to work for me.

It's a weird one. After posting my previous message, auto-collapse was enabled and mostly functional, but I am still getting crashes.

I have recorded a video screencapturing the behaviour since it's much easier to demonstrate than try to explain, but I'll try to explain as well: the script crashes when opening specific folders directly after other specific folders (e.g. opening "Unsorted" after "Main", or "Formats" after "Stuff I'm doing" as shown in the video), then when I reload the script, the folder I previously selected to open is open as intended. Basically it's crashing but then once reloaded it's resolved, so no actual loss of function. I just can't find rhyme or reason for it. The error code given is different to what I quoted before but similar, so probably part of the same issue (and the error code stays the same regardless of which folder caused the crash):

Code: [Select]
JavaScript runtime error
Unable to get property 'pl' of undefined or null reference
File: C:\Users\Dave\AppData\Roaming\foobar2000-v2\pl_organizer\pl_organizer.js
Line: 59, Col: 3
3rd Party Plugins - (fb2k) / Re: Playlist Organizer (aka foo_plorg) replacement on Jscript Panel 3
Last post by frogworth -
That's right - and your suggestion works! Merci beaucoup  :D

The large number of playlists that I have is why I don't use the Playlist Organizer as my main switcher by the way (but it's still super useful for scanning through and showing me where I am).

With foo_plorg, when I focused on the Playlist Organizer I was able to just start typing the name of a playlist, and focus would jump progressively to the playlist, much like typing in a Windows Explorer window.
I suspect this is too hard to implement here, but it would be pretty awesome to have that capability!

Oh - and this is also why the "Sort" option for folders was so useful. I solved this by opening up pl_organizer.txt and (carefully) sorting the playlists there. So now that they're sorted in the panel, and changes will be easy enough to move into place individually.
Opus / Re: Help with sample rate issue
Last post by pauleffect90 -
Yeah. It has to do with the clock dividers. The numbers are correct.
48387 is closer, but if you ever want to play back with tempo adjustment, it goes in the opposite direction of the 16, so you cannot just give them all 0.5 percent in the same direction.

(Dumb question ... are your numbers correct? 48387/2 matches the number above it in the table, but not so in the left column?)

The numbers are correct. They re all tried and tested.
The problem lies in the fact that I can't use an "audio source clock" (something like 24.567 Mhz) to derive the sampling frequency. Because that clock doesn't work in deep sleep mode. So I'm stuck with a general purpose 24Mhz clock. That's divded by dividers A and B. A is between 2 and 4; B is between 2 and 16. And that's further divided by two and by the decimation rate (I'm using a PDM audio block).
Eg: 48000 Hz target sample rate: 24.000.000 / 2 / 4 / 2 / 31 ~ 48387 Hz (if I could use the *audio* clock, that would have been a clean 48.000 result).
If I could use the 24.567 Mhz clock, I'd get clean, standard audio sample rates. With the clock I'm stuck with, I can only get the values in the table (so far).

Just for clarification, because I understand pretty much 0 about how Opus works under the hood.
Is it ok to:

1. Feed Opus a 20 ms frame of audio sampled at 46875;
2. Lie to it that it's actually sampled at 48000;
3. On the PC side, decode the Opus bytes as if the audio was originally 48000;
4. Use a proper resampling algorithm to actually make it 48000?

If that's ok, my problem's pretty much solved.