https://github.com/google/zimtohrli Skip to content Navigation Menu Toggle navigation Sign in * Product + Actions Automate any workflow + Packages Host and manage packages + Security Find and fix vulnerabilities + Codespaces Instant dev environments + Copilot Write better code with AI + Code review Manage code changes + Issues Plan and track work + Discussions Collaborate outside of code Explore + All features + Documentation + GitHub Skills + Blog * Solutions For + Enterprise + Teams + Startups + Education By Solution + CI/CD & Automation + DevOps + DevSecOps Resources + Learning Pathways + White papers, Ebooks, Webinars + Customer Stories + Partners * Open Source + GitHub Sponsors Fund open source developers + The ReadME Project GitHub community articles Repositories + Topics + Trending + Collections * Pricing Search or jump to... Search code, repositories, users, issues, pull requests... Search [ ] Clear Search syntax tips Provide feedback We read every piece of feedback, and take your input very seriously. [ ] [ ] Include my email address so I can be contacted Cancel Submit feedback Saved searches Use saved searches to filter your results more quickly Name [ ] Query [ ] To see all available qualifiers, see our documentation. Cancel Create saved search Sign in Sign up You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert {{ message }} google / zimtohrli Public * Notifications * Fork 1 * Star 56 * License Apache-2.0 license 56 stars 1 fork Branches Tags Activity Star Notifications * Code * Issues 0 * Pull requests 0 * Actions * Projects 0 * Security * Insights Additional navigation options * Code * Issues * Pull requests * Actions * Projects * Security * Insights google/zimtohrli This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. main BranchesTags Go to file Code Folders and files Last Last Name Name commit commit message date Latest commit History 65 Commits .github/workflows .github/workflows cmake cmake cpp/zimt cpp/zimt go go python python .clang-format .clang-format .gitignore .gitignore CMakeLists.txt CMakeLists.txt COMPARISON.md COMPARISON.md CONTRIBUTING.md CONTRIBUTING.md LICENSE LICENSE README.md README.md configure.sh configure.sh go.mod go.mod go.sum go.sum install_external_metrics.sh install_external_metrics.sh zimtohrli.ipynb zimtohrli.ipynb View all files Repository files navigation * README * Code of conduct * Apache-2.0 license * Security Tests Zimtohrli: A New Psychoacoustic Perceptual Metric for Audio Compression Zimtohrli is a psychoacoustic perceptual metric that quantifies the human observable difference in two audio signals in the proximity of just-noticeable-differences. In this project we study the psychological and physiological responses associated with sound, to create a new more accurate model for measuring human-subjective similarity between sounds. The main focus will be on just-noticeable-difference to get most significant benefits in high quality audio compression. The main goals of the project is to further both existing and new practical audio (and video containing audio) compression, and also be able to plug in the resulting psychoacoustic similarity measure into audio related machine learning models. For more details about how Zimtohrli works, see zimtohrli.ipynb. Compatibility Zimtohrli is a project under development, and is built and tested in a Debian-like environment. Build Some dependencies for Zimtohrli are downloaded and managed by the build script, but others need to be installed before building. * cmake * ninja-build To build the compare tool, a few more dependencies are necessary: * libogg-dev * libvorbis-dev * libflac-dev * libopus-dev * libasound2-dev * libglfw3-dev Finally, to build and test the Python and Go wrappers, the following dependencies are necessary: * golang-go * python3 * xxd * zlib1g-dev * ffmpeg To install these in a Debian-like system: sudo apt install -y cmake ninja-build clang clang-tidy libogg-dev libvorbis-dev libflac-dev libopus-dev libasound2-dev libglfw3-dev golang-go python3 xxd zlib1g-dev ffmpeg Once they are installed, configure the project: ./configure.sh Build the project: (cd build && ninja) Address sanitizer build To build with address sanitizer, configure a new build directory with asan configured: ./configure.sh asan Build the project: (cd asan_build && ninja) Debug build To build with debug symbols, configure a new build directory with debugging configured: ./configure.sh debug Build the project: (cd debug_build && ninja) Testing (cd build && ninja && ninja test) About No description, website, or topics provided. Resources Readme License Apache-2.0 license Code of conduct Code of conduct Security policy Security policy Activity Custom properties Stars 56 stars Watchers 2 watching Forks 1 fork Report repository Releases 12 tags Packages 0 No packages published Contributors 4 * @zond zond * @dependabot[bot] dependabot[bot] * @mo271 mo271 Moritz Firsching * @sboukortt sboukortt Sami Boukortt Languages * Jupyter Notebook 85.7% * C++ 9.6% * Go 2.3% * Python 1.5% * CMake 0.4% * Shell 0.4% * C 0.1% Footer (c) 2024 GitHub, Inc. Footer navigation * Terms * Privacy * Security * Status * Docs * Contact * Manage cookies * Do not share my personal information You can't perform that action at this time.