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
12
Lossless / Other Codecs / Monkey's Audio 11.00 (MULTI-THREADED ENCODING / DECODING)
Last post by MonkeysAudio -
Hi all,

I'm releasing a new Monkey's Audio 11.00 with multi-threaded encoding and decoding.

Robert Kausch worked unbelievable magic again! He had baked this a while back and I prodded him a little and he helped get it totally ready to release!

Encoding or decoding a big file is many times faster. It uses the same concurrency settings previously, but uses more threads when doing less files than threads.

Here's a a build and SDK you could test:
https://www.monkeysaudio.com/files/MAC_1100.exe
https://www.monkeysaudio.com/files/MAC_1100_x64.exe
https://www.monkeysaudio.com/files/MAC_1100_SDK.zip

History:
NEW: Added multi-threaded encoding and decoding (thanks Robert Kausch!) (uses the same setting for concurrent files but when processing less files than threads it will increase the number of threads -- so one big CUE file will be much faster).
Changed: Bumped the interface version because the number of threads was added.
NEW: When compressing from the command line, specify something like -threads=16 after the compression level to set the number of threads. (example: MAC.exe "C:\1.wav" "C:\1.ape" -c2000 -threads=16 -t "Artist=Abba")
NEW: When decompressing from the command line, specify something like -threads=16 after the decompress flag to set the number of threads. (example: MAC.exe "C:\1.ape" "C:\1.wav" -d -threads=16")
NEW: When verifying from the command line, specify something like -threads=16 after the verify flag to set the number of threads. (example: MAC.exe "C:\1.ape" -v -threads=16")
Changed: Renewed the code signing certificate for another year.
Changed: Updated to Visual Studio 17.13.5.
Fixed: The installer made an extra entry in the uninstall section of the registry with the start menu folder but now it is with the other uninstall data.
Fixed: The path combobox did not allow entering a path longer than the combobox (it wasn't scrolling).
NEW: Added a thanks to Robert Kausch in the About box for all his genius (32-bit float, multi-threading, etc.).

Testing and any feedback appreciated.
13
General Audio / Re: Live stream format with proper metadata & embededd album covers
Last post by zeremy -

Options looked into so far:
  • MP3, AAC with icy-metadata
    Very limited metadata capabilities, there does not appear to be any official specification of the icy-metadata protocol despite being in mainstream use for over 20 years. No metadata beyond artist - title, no proper delimiting of these two, unspecified character encoding (though everyone seems to have finally agreed to send UTF-8 by now). Some radio stations even transmit album cover picture links.
  • Ogg Vorbis
    Historically the first format to get of this stuff right, by sending new Vorbis stream headers with each new song. Sadly seems to be dying out.
  • Opus
    Technically possible to send live info as with Vorbis, but nobody seems to do actually it?
  • FLAC
    Live metadata capability missing, libFLAC won't decode concatenated FLAC files with new metadata.
  • Ogg FLAC
    Live metadata capability missing, libFLAC won't decode concatenated Ogg FLAC files with new metadata.
    EDIT: libFLAC 1.5.0 can decode chained Ogg streams, this looks like the most promising option so far.
    Certain radio station uses Ogg FLAC with icy-metadata, which is a horrible idea but works.



Below is my test icecast broadcast server , using a combination of foobar2000, virtual cable, liquidsoap and icecast.

http://zeremy.serv00.net:8200/status.xsl

Both opus and flac streams are chained, have metadata and include a cover_url tag witha link of the artwork for remote downloading  by the client.

I use a Jscript3 panel in foobar2000 to grab either $info(cover_url) or %cover_url% link to display the artwork.

The problem is that most clients don't support chained ogg, foobar2000 and aimp though work fine.

Relative discussions I had
https://github.com/savonet/liquidsoap/discussions/3990
https://github.com/AzuraCast/AzuraCast/issues/7240

If wanted I could provide more details of the setup.
15
CD Hardware/Software / Re: Figuring out an DISC's offset ?
Last post by Feilakas -
How do you feed the bin/cue into CUETools?
A very kind person by the name of Adam Gashlin (hcs64) created a few modified dll/pdb files which when added to CueTools 2.2.6, they enable it to understand multi-bin/cue images.

The file is still up in his webpage but I would rather not re-post it without permission.

I've used them to verify hundreds of images and then to re-encode them in bulk.

Attached you will find the new log (and cue) files.
Still weird but seem to be getting closer.

Walls of Jericho, the 14th track, has zeroes for the last 4200-ish samples. The difference to mine - after correcting for offset - is ninety dB down. That is, only in the least-significant bit.

Looks like your drive and/or ripping application cannot handle lead-out?

Yes, kinda. It was copied from an imperfect CD. Just trying to "fix" it somehow...
16
3rd Party Plugins - (fb2k) / Re: External Tags
Last post by Case -
That option will use the SQLite database for streams and the SQLite database is stored directly in the profile directory with the name "external-tags.db". The "external-tags" directory is used only to store the APE tags for streams as they can't be saved where they would otherwise belong.

You can't scan a peak of a stream. As it's a live broadcast it could be absolutely anything. If you don't want to lie you should leave the peaks blank. Though if you don't care about true peak and you have a FLAC radio station, you could use peak 1.0 there. That is the maximum peak a non-float format can produce when not taking into account the intersample peaks from true reproduced waveform.
17
3rd Party Plugins - (fb2k) / Re: External Tags
Last post by Defender -
I use "Ape tags, write stream tags to SQLite, read all three tag types" (not Only Ape). If I tag local *.m2ts file the tag is created in the folder conaining that m2ts audio file. That is great. If I create a tag for radio stream - does it go to the "external-tags" file?
What would be the best way to find proper peak in radio stream? If it can't be measured should I guess/estimate it from the graphic peakmeter by eye or measure with external dB meter (installed on the phone)?
I run a normal item in VU meter and adjust the level so it is more or less at 0db.
Then I switch to a stream and adjust values I write manually until it is more or less the same on the VU meter.

Bit tedious and quite unfortunate that there is not an automatic tool to do this.
I understand it cannot be scanned with a normal scanner that needs a 'track' to end at some time, but if a scanner was adjusted so that you can interrupt it manually after a certain time and it writes the values measured until that moment that would be great. It doesn't have to be that exact, but I don't want to go deaf when switching to a stream.

Scanner could be made so that this feature is only available on streams (http(s)://).

I'm not looking forward to manually add values for 200 different streams
18
3rd Party Plugins - (fb2k) / Re: External Tags
Last post by wojak -
I use "Ape tags, write stream tags to SQLite, read all three tag types" (not Only Ape). If I tag local *.m2ts file the tag is created in the folder conaining that m2ts audio file. That is great. If I create a tag for radio stream - does it go to the "external-tags" file?
What would be the best way to find proper peak in radio stream? If it can't be measured should I guess/estimate it from the graphic peakmeter by eye or measure with external dB meter (installed on the phone)?
19
3rd Party Plugins - (fb2k) / Re: External Tags
Last post by Case -
Oh my mistake. I thought you used folder tags when you talked about tags and folders.

If you use the default setting "Use only APE tags" you can still tag streams. The APE tag will be saved under foobar2000 profile in a directory called "external-tags". Its name will be the url with illegal characters replaced with placeholders.

The "folder tag" type was added per request. It creates only a single external tag file per directory/folder and stores all the external tags of that folder in this single file. It allows portability without littering the filesystem with numerous files. Folder tags mode is the only mode I don't allow using with streams.

And you obviously can't perform any kind of scan on a stream as they are infinite. They will never end. My suggestion from another thread to tag RG info was meant for manual entry.
20
3rd Party Plugins - (fb2k) / Re: External Tags
Last post by wojak -
Change the tag writing option in advanced preferences to "Prefer folder tags, write stream tags to SQLite, read all three tag types" and it will do exactly as the setting suggests. Folder tags will be used when there is a folder to write to, streams will use database and all supported tag types will be read.

Correct me if I am wrong.
I use Ape tags, write stream tags to SQLite, read all three tag types because it writes tags to a folder with a corresponding file.
Prefer folder tags, write stream tags to SQLite, read all three tag types would create a new Folder with tags - which I do not want.
With Ape tags, write stream tags to SQLite, read all three tag types I rightclick and use Create external tag and then try to scan with DRMeter or TPScanner - both seem to do their job, the bar goes green right to the right end....and nothing happens - it never ends.
I can only abort.
Is it true that "folder" mode makes a special folder for tags or will they be in folders with audio files?
Will this only work in "folder" mode or should it also work with "ape" mode?
Am I doing smth wrong?