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
3
Development - (fb2k) / Re: Wishlist for new foobar functions
Last post by Porcus -
So the wvunpack command options are
--skip=[-][sample|hh:mm:ss.ss] = start decoding at specified sample/time, where a minus sign indicates relative to end of file, and 
--until=[+|-][sample|hh:mm:ss.ss] = stop decoding at specified sample/time, minus as previous and plus sign indicating track length.

AFAIUnderstand, it has to be passed once for each track to split into.


it would be great if all this could be done automatically by foobar - especially for people who are not fluent in command line programs etc or just for our comfort and convienience.
Then someone needs to set up a foo_run command that traverses the cuesheet and calls wvunpack for every track ... anyone?
You need to be aware that foobar2000's file conversion will not pass a file to an encoder, it will decode it and pass the decoded stream to the encoder (and possibly transfer things afterwards). For example, if you want to put an .aac file in an MP4 container for an .m4a, then it is easy to do so losslessly by just transferring the stream - but not by fb2k's converter as that is a tool for decoding and then re-encoding.
Also WavPack can compress DSD files, but you cannot use fb2k's converter for that; it will decode, and that's not what you want (presuming you want to keep DSD at all ...)

(Not saying I would object to fb2k getting an extended file processing feature ... but there is more than a "convert" to that!)
4
General Audio / Re: Directory structure for organizing FLAC files.
Last post by Porcus -
Do what you like! It also depends on how many albums you have, the first letter thing grows more useful when you have a ton of it.

Code: [Select]
µsic/
                            +0/
                                  + 2 Ton Predator {2001} Boogie ``9A0B410C
                                  + 2 Ton Predator {2003} Demon Dealer ``AC09670C
...
                            +O/
                                  + Opeth {1995} Orchid ``500F5907
                                  + Opeth {1995} Orchid `2003 remaster bonus`6310D608
                                  + Opeth {1995} Morningrise ``3D0F7D05
                                  + Opeth {1995} Morningrise `2003 remaster bonus`52117D06
...
                                  + Opeth {2001} Blackwater Park `2002 reissue bonus ¶1`650FC108
                                  + Opeth {2001} Blackwater Park `2002 reissue bonus ¶2`1F079703
...
                            +υarious/
...

Replace if necessary the second tickmark so that you get reissues appearing after the original. Your operating system and locale might have opinions on how to do that. I threw in a Greek letter for the various artists to get them at the end too.
5
Development - (fb2k) / Re: Wishlist for new foobar functions
Last post by wojak -
We already have an option to play files containing those formats (DVD, Bluray...), even with video (using foo_youtube or foo_mpv) and subtitles. The only thing missing is being able to pass undecoded bitstream to AVR. There is more and more music (meaning studio albums) available on Bluray and it is sometimes coded as DTSHDMA or Atmos (UK's Blurays have only stereo DTSHDMA sound, no PCM) plus when in multichannel, music can't (except for very few and very expensive multichannel DACs) be passed via USB to DAC but must be via HDMI to AVR, which could easily decode all those bitstreams and apply needed effects (dialog normalization, Atmos decoding, room correction etc.). I know it all can be "substituted" by just decoding it to PCM in foobar but the outcome is not the same. It would be really great feature.
DTSHDMA and TrueHD are lossless. So "outcome" is always the same.
If you are talking about music, not movies, what dialog normalization has to do with it?
Room correction can be done even more precise by software on PC side than on receiver.

I wanted to split 192kHz 32bit integer wavpack file containing an album to single songs using cue file. But foobar told me it can't do it losslessly because it has to convert it to 32bit fp. I also tried DBPoweramp - well it could convert losslessly between 32bit integer wavpack and wav but it couldn't split the file to tracks.
You can do this manually with wvunpack.exe. It can decode file from given time (or sample) and to given time (or sample).

1. If I listen to PCM or DTSHDMA tracks from the same disk they sound the same when DTS is passedthrough as DTS and PCM as PCM (which is not suprising) but when I listen to DTS decoded by foobar to PCM it sounds different to DTS passed through (but with another program because foobar can't passthrough).  It can mean that another program produces different sound or that DTS decoding by foobar (ffmpeg) is not the same as dedicated decoding by AVR. I assume that vocals in music are to some point equivalent to dialog. Or another way - what is in Center channel can be processed in different way than what is in front channels. Maybe I'm wrong but to me PCM is 2 (in stereo) or 6 (in 5.1) discrete tracks with given informatin what is in every one of them so decoding is always the same whereas DTS/Dolby is 1 "track" of bitstream with additional information what to do with it and how to "place it" in each speaker so here "specialized" processing is needed. Most AVR have their own microphones for calibration and very many functions to properly produce sound (speaker distance, delays of sound between different channels, each speaker capabilities (freq response, bass management and so on). Foobar and ffmpeg codecs just do not know what AVR I have and all those other infos. It just changes DTS/Dolby to PCM with no additional "bespoke" processing. So (maybe wrongly) I assume it will produce different outcome (meaning what I hear) even if it would be the same bits (meaning what we can measure).  There probably are plugins for foobar that make different processing but I do not want to use them, I do not want to place any DSP in my chain and let it all be done by AVR. Hence passthrough is needed. Plus for people having Atmos/DTS:X AVRs - decoding to PCM in PC disables all additional information.

2. If there are ways to manually split or convert such 32bit integer files it would be great if all this could be done automatically by foobar - especially for people who are not fluent in command line programs etc or just for our comfort and convienience.

To sum it up. I know all of this can be done with different players and programs but it would be nice to be able to make it with foobar too. It would make foobar even better than it is now.
7
General Audio / Re: Directory structure for organizing FLAC files.
Last post by zoliky -
Do you mean something like this?

Code: [Select]
    
+ Music/
      + A/
              + Aerosmith/
                      + YYYY - Album Name/
              + ASIA/
              + Alphaville/
       + B/
              + Bangles/
              + Bryan Adams/

  
8
Development - (fb2k) / Re: Wishlist for new foobar functions
Last post by Rollin -
We already have an option to play files containing those formats (DVD, Bluray...), even with video (using foo_youtube or foo_mpv) and subtitles. The only thing missing is being able to pass undecoded bitstream to AVR. There is more and more music (meaning studio albums) available on Bluray and it is sometimes coded as DTSHDMA or Atmos (UK's Blurays have only stereo DTSHDMA sound, no PCM) plus when in multichannel, music can't (except for very few and very expensive multichannel DACs) be passed via USB to DAC but must be via HDMI to AVR, which could easily decode all those bitstreams and apply needed effects (dialog normalization, Atmos decoding, room correction etc.). I know it all can be "substituted" by just decoding it to PCM in foobar but the outcome is not the same. It would be really great feature.
DTSHDMA and TrueHD are lossless. So "outcome" is always the same.
If you are talking about music, not movies, what dialog normalization has to do with it?
Room correction can be done even more precise by software on PC side than on receiver.

I wanted to split 192kHz 32bit integer wavpack file containing an album to single songs using cue file. But foobar told me it can't do it losslessly because it has to convert it to 32bit fp. I also tried DBPoweramp - well it could convert losslessly between 32bit integer wavpack and wav but it couldn't split the file to tracks.
You can do this manually with wvunpack.exe. It can decode file from given time (or sample) and to given time (or sample).
9
Scientific Discussion / Re: xiphmont’s ‘There is no point to distributing music in 24 bit/192 kHz’
Last post by bennetng -
Not if you started out anywhere close to peak-normalized. Which, so it happens, often is the case. No, certainly it does not have to be that way, but it seems to be. Integer formats go to full volume, and more bits -> more at the bottom.
From the perspective of a file format, integer has to pad to the MSB for consistent level to end users. For the perspective of processing, the DSP designers can have their own implementations. That means, regardless of integer or floating point math, for a field recorder, it only needs to spew out a normalized 24 or 16-bit file, and that's why I said in Reply #139 "both 32-bit formats are useless as distribution formats". In fact, integer math often involve "accumulator" -- the internal bit-depth, even for apparently simple hardware like DAC chips, with 48-64 bits. It is just a trade off between processing speed and memory bandwidth. Floats need processing power to shift bits, integers need more bandwidth so no shifting math is used. Dither is not always used, but if used, only when converting from the accumulator's bit-depth to the destination bit depth, instead of in every intermediate step.

Quote
Google link led me to https://archiv.rme-audio.de/en/support/techinfo/hdsp_totalmix_hardware.php , which is interesting. One format per operation type?!
The "multiplier" uses 24 bits integer, but now you got a full mighty sixteen bits volume control, that's more like it. ("65563" :-) )
Consider these products either output to analog or SPDIF/AES3/ADAT (24-bit integer), or in reverse, record from these sources, more precision means nothing other than added cost or fewer simultaneous real time operations.

10
Development - (fb2k) / Re: Wishlist for new foobar functions
Last post by wojak -
* First: you have had 32-bit float on DAWs for a while now - are you saying they are ditching 32-bit float (which is sensible for the purpose) for 32-bit integer? Srsly?
If they are - and please provide a bunch of URLs for evidence - it might be a cause. Discussion thread at https://hydrogenaud.io/index.php?topic=121171.0 , where Peter asked for any reason to support it.
For the time being, fb2k is a 32-bit application, which AFAIUnderstand means that dependence between foobar2000 and components will be broken if fb2k goes 64-bit. (Though far back in the day, fifteen years ago or something, there was 64 bit support? 0.8 or something? If so, a portable install ... if that even existed ...)

* Do those DAWs actually produce cuesheets? That would also be a valid point.

* The WavPack reference decoder cannot split by .cue ... not tried any of the following, but
shntools with cuebreakpoints; see https://hydrogenaud.io/index.php?topic=112637.msg933565#msg933565 on how it apparently needs three decimals in the cuesheet for hi-rez. 
ffmpeg can split (but I don't know if it can handle cuesheets) and supports wavpack;
Going by way of 32-bit .wav you have more options. You can even wvunpack to wav and refalac to ALAC and split by cuepoints.

* Finally: modern DACs can read 32 bits, but will just decimate down to something they can convert. Indeed they cannot make anything but randomness out of the 24th bit either.

To make it more precise:

1. bitstream passthrough - I think it is important and assume many users would like to see it and would benefit from it. Probably some of us would stop using any other audio/video players for good if foobar had it.
2. I know it is very, very niche and probably with not much of demand for it but I pressume it might (just might) be needed in future.