AudibleT 0.0.1
A real-time A/B/X audio testing tool for subjective assessment of various audio parameters, compatible for general purpose computer as well as embedded systems.
Loading...
Searching...
No Matches
AudibleT

Overview

AudibleT is a real-time embedded application for interactive A/B/X testing, used for subjective testing on various audio parameters. It focuses on developing a subjective assessment of audio parameters through Just Noticeable Difference (JND) testing.

Features

  • Real-time equalizer coefficients update
  • A/B/X testing of linear distortion
  • Stereo audio output support
  • Graphical user interface for training and testing sessions
  • Binomial distribution analysis and confusion matrix of each conducted ABX testing session
  • Utilizes JACK audio connection kit for low latency audio
  • Optimized for general purpose computer and tested on Raspberry Pi 400

Prerequisites

Before building this project, ensure you have the following installed:

  • JACK Audio Connection Kit: This project is dependent on JACK for low latency audio. Visit the JACK website for installation instructions.
  • Qt6 Libraries: This project is built with Qt6 and requires the Qt6 libraries to be installed on your computer. Visit the Qt website for installation instructions. The QtBase and Charts submodule is required to the least.
  • Operating Systems: This software is tested on Ubuntu 22.04.2, MacOS Ventura 13.3.1 (minimum target 13.0), and latest Raspberry Pi OS. However, it should run on any JACK supported Linux systems.

Building

This project uses CMake for building.

Building Only the Main Application

If you want to build only the main application (and not the tests or benchmarks), you can use the following steps:

mkdir build
cd build
cmake ..
make AudibleT

Building the Entire Project

If you want to build the entire project, including the tests and benchmarks, use the following steps:

mkdir build
cd build
cmake ..
make

Testing

The project includes both unit tests and benchmarks. After building the project, you can run these tests with the following commands:

Run unit tests

./AudibleTTests

Run benchmarks

./AudibleTBenchmarks

Documentation

The project uses Doxygen for documentation generation. It will require the doxyen be installed on your computer. Visit Doxygen to learn more.

To generate the documentation run following commands from repo root diretory:

doxygen Doxyfile

Licensing

The MIT License (MIT)

Copyright (c) 2023 Priyonto M Rahman

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Contributing

We welcome contributions to AudibleT and appreciate your help! Here are some guidelines on how to contribute:

  1. Fork and clone the repository: Start by forking the AudibleT repository to your own GitHub account. Then, clone the repository to your local machine to start making changes.
git clone https://github.com/priyonto/AudibleT.git
cd AudibleT
  1. Create a new branch: It's best to create a new branch for each set of changes you make. This keeps your contributions clean and well organized.
git checkout -b name-of-your-new-branch

Make your changes: Add, edit, or delete files as needed to implement your feature or fix an issue. Try to keep your changes focused and cohesive; avoid including multiple unrelated changes in the same branch.

  1. Commit your changes: Once you've made changes, commit them with a clear, descriptive commit message. This will help others understand what your changes do.
git commit -m "Description of the changes"

Push your changes: Push your changes to your fork on GitHub.

git push origin name-of-your-new-branch

Create a pull request: Once your changes are ready to be reviewed, go to your forked repository on GitHub and create a new pull request. Link any relevant issues or other related contributions to the pull request. Before creating a pull request, please make sure your changes do not break any existing functionality and they match the coding style used in this project.

If you're not sure how to contribute or have any other questions, please don't hesitate to ask! We're here to help. You can open an issue on GitHub to get help or clarification.