Skip to main content

Topic: If you could specify one (or more) lossless format to replace all existing ones, (Read 1373 times) previous topic - next topic

0 Members and 1 Guest are viewing this topic.
  • Porcus
  • [*][*][*][*][*]
If you could specify one (or more) lossless format to replace all existing ones,
what would you then want, which your current choice does not offer?

  • Somewhat inspired by https://hydrogenaud.io/index.php?topic=113703 and the fact that there is a format with some support for it already:
    Loops. Time to bring locking groove support to digital formats :D
  • Implementing playback order instructions (or "suggestions", falling back to a default for players which do not support) and randomization.  Let the artist code a "tonight you will get the saxophone solo" (or "repeat chorus another time every hundred thousand playbacks and see if anyone notices").
  • Implementing DSP instructions. Anyone else using de-emphasis components with foobar2000? That is a primitive example, and it could be tighter to the format with instructions for playback.
    Not that I want to resurrect the pre-emphasis monster though, and I hold pretty much the same opinion on the loudness war as anyone but Lars Ulrich and record execs, but if brickwalling could be a default processing in a car stereo, then maybe the signal in the file need not be irreversibly ruined already. Heck, even ID3 provides EQ and reverb ...
  • Since I use FLAC, I would jump at a WavPack feature: 32-bit floating-point. Because 32-bit floating-point PCM is used in processing, so why use .wav?

To consider: how much of this should be enforced as "open source metadata only", with licensing blocking closed-source meta-content? One could easily imagine that corporates working later in the playback chain could want to tweak the DSP to sound worse on the competition's gear, in order to fake better audiophile quality. (*cough* nobody would believe that MQA would do anything such, or ... ? *cough*)

  • KozmoNaut
  • [*][*][*][*][*]
Re: If you could specify one (or more) lossless format to replace all existing ones,
Reply #1
Personally, I would love for this mythical lossless format to have variable compression. Not data compression, but audio compression, so you could have the full-fat full dynamic range version for your home stereo, but also an easy way to compress the audio for situations where you don't want tons of dynamic range, like in your car. Ideally, it should avoid the 'pumping' issues and other drawbacks of applying compression to existing tracks.

  • j7n
  • [*][*][*][*][*]
Re: If you could specify one (or more) lossless format to replace all existing ones,
Reply #2
I think loops, other programmed repetitions, EQ, and reverb belong in the domain of a digital audio workstation project (a "mod" file). The DAW would use existing lossless codecs for the looped sections. Other replayers would inevitably fail to accurately reproduce one or another feature of this complex format, in obvious or subtle way. Loops could be off by one sample or fraction of a sample and produce clicks (if they are specified in clock time or musical time).

Emphasis type should be passed through through a good lossless codec in a standard way (as in MPEG formats). Encoders and decoders don't have to have EQ/filters to apply or undo the emphasis, only players should interpret the metadata. I feel that putting emphasis in the tags is an ugly hack, and it only works in one player.

Would the dynamic compression be a precomputed control signal like another audio channel (also compressed, lower resolution)? What were the perceived flaws in the Dolby format for dynamic compression? Was the resolution not good enough?

I would also add metadata for downmixing multichannel to stereo.

  • saratoga
  • [*][*][*][*][*]
Re: If you could specify one (or more) lossless format to replace all existing ones,
Reply #3
You can specify features like DSP postprocessing and playback order in a metadata system, but these aren't codec features, they are things that the software calling the codec does. If the feature is uncommon or very unique, most software will not be able to implement it. If you want very unusual features, you probably have to write the playback program as well if you want them implemented.

Codec features should be very carefully considered if you want to have a general purpose format. Otherwise you will end up forcing users to transcode for some uses (portable, etc) or have inconsistent playback of the same file.

  • Porcus
  • [*][*][*][*][*]
Re: If you could specify one (or more) lossless format to replace all existing ones,
Reply #4
FLAC has a decoder. WavPack has a decoder. MP3 (though not lossless) is defined in terms of what a decoder should do, isn't it?  So having to specify decoding is not an argument per se, but of course too high complexity could become troublesome.

I politely disagree that loops belong to a workstation. Loops for a working project may do, but loops for an end-user (like a locking groove on an LP) belongs in an end-user format - provided that anyone has use for it, of course. And clicks from being misimplemented off one sample, that could be avoided the same way one actually manages to do gapless playback, right?
I would figure that instructions on loops could be implemented in a way that would work on playback - transcoding, on the other hand could frustrate developers just the same way loss of information between file formats does in other applications. Not to mention, devs would be annoyed over users' questions on the matter, and HA would have to stopp touting "lossless is lossless" (which is strictly speaking already false, unless target format can carry the audio contained in the source).

DSP instructions, on the other hand, is something that playback software could choose not support, and could end up being "ignored" the same way that those ID3 tags are ignored.  I see that issue.

  • saratoga
  • [*][*][*][*][*]
Re: If you could specify one (or more) lossless format to replace all existing ones,
Reply #5
FLAC has a decoder. WavPack has a decoder. MP3 (though not lossless) is defined in terms of what a decoder should do, isn't it?

You can define whatever you want in a decoder, but if you specify something that software cannot reasonably do given normal playback application organization, applications will simply ignore the spec.  Ogg and MP4 define all sorts of features for instance, many are seldom or never supported, even ones that are supposed to be mandatory.  If you want to specify things like DSP effects, you had better implement them entirely inside the decoder in a way that is transparent to the application using the codec. 

So having to specify decoding is not an argument per se, but of course too high complexity could become troublesome.

It is not just about complexity.  If you specify a thing that software usually cannot do, people are unlikely to rewrite their software to support a single codec. For instance, if you give the codec the ability to specify to a playback application track ordering, nothing is going to support that because most audio applications decide what to decode before they decide which codec to load to do it.  Information is generally not going to flow back the other way without a lot of work from the developer. 

Even things like loops can be tricky.  It is pretty common for applications to buffer audio under the assumption that you move forwards in a file. If your loop tries to seek back to before the beginning of an application's current buffer, a lot of software will not be able to decode the loop. 

If you want to define a good format, you need to consider carefully what features you add and how practical they actually are for software that is likely going to have been designed for formats like MP3, AAC or FLAC.

DSP instructions, on the other hand, is something that playback software could choose not support, and could end up being "ignored" the same way that those ID3 tags are ignored.  I see that issue.

Realistically, all software will choose not to support DSP instructions.  You should implement these in your decoder or not at all. 

  • bennetng
  • [*][*][*][*][*]
Re: If you could specify one (or more) lossless format to replace all existing ones,
Reply #6
Release the content as Audacity projects, then the sellers make a disclaimer that they are not responsible for any technical issues.

I remember the old days when games use MIDI and users needed to take care of all synthesizer stuff.