FLAC 1.3.4

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • vircadia-native-core

    Vircadia open source agent-based metaverse ecosystem.

  • Both, primarily the first. Low latency is definitely a requirement, but no issues with Opus on that account.

    > I haven't looked into how expensive it is to encode in terms of CPU time, so I assume maybe you're taking about a bottleneck in terms of the number of simultaneous streams you can support on a single CPU?

    Yup! I work on https://vircadia.com/ -- we have to compress audio in real time and every user gets their own mix since it depends on their location in 3D space. It turns out to add up pretty fast, and you can't fit that many people into a cheap VPS.

    That's why I'm working on Opus support for it. If bandwidth is plentiful but CPU resources are lacking it's a good alternative to have.

    This code originally came from the High Fidelity company, which made their own codec. It's some piece of black magic that cuts down audio by exactly 1/4th and is amazingly fast. But it's closed source.

  • libfoxenflac

    Tiny, heap-allocation free FLAC decoder written in C

  • I can't comment on the "power hungry" part, but FLAC only requires and (to my knowledge) has ever only required integer math. Source: just looked at my own FLAC implementation [1].

    [1] https://github.com/astoeckel/libfoxenflac/blob/master/foxen/...

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • winddk-8.1

  • There is no de facto supported standard because WAV files are de facto not used as anything but intermediate format these days. You could have fifty standards, that wouldn't change much.

    WAV files can have any kind of compressed stream inside. A program that used some ancient API like WinMM ACM could theoretically play anything inside WAV as long as audio driver for that compressed format (now commonly called “codec”) was present. In addition, there are all kinds of standard metadata (like author and comment fields), and players in the '90s had no problem with displaying it in their interface if it was present. Old Windows Media Player had some of these status lines shown by default.

    By the way, “driver” was an actual driver, with an .inf file, update of win.ini/system.ini or registry, and probably a reboot required to start using the decoder.

    Old SDK tells us to look further into MMREG.H, so let's do just that.

    https://github.com/tpn/winddk-8.1/blob/f6e6e4da7d1894536cf1f...

    https://github.com/tpn/winddk-8.1/blob/f6e6e4da7d1894536cf1f...

    (Last line is quite ironic.)

    It's interesting to look how all those early '90s ideas that Universal Tagged Formats would be used to hold anything and everything, and dragged-and-dropped into any and all application completely flopped. Mac had those, Windows had those, Amiga had those. You can say that MP4, an international standard, is actually MOV in disguise, but it doesn't support all those early crazy options that could turn the file into poor man's PowerPoint presentation, poor man's Hypercard, or poor man's FMV game. On the other hand, Windows Media Player did support ASF interactivity like “open the link in a browser at this timestamp”, “show user some text at that timestamp”, and the consequences were so bad that it all had to be killed in mid-00s.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts