DESOSA 2022

Audacity

Figure: Audacity

Audacity is an open source multi-track audio editor and recorder for Windows, macOS, GNU/Linux and other operating systems. Audacity contains functionality for many audio production related activities such as:

  • Recording audio
  • Export/Import a wide range of audio formats.
  • High quality processing of audio
  • … and many more features.

The application is written in C++ and the UI built using wxWidgets. It contains excellent documentation and support for any contributors that are willing to add to the project.

Authors

Haoran Xia

CS MSc Artifical Intelligence track student at TU Delft.

Nafie El Coudi El Amrani

CS MSc Data Science track student interested in Computer graphics.

Maxmillan Ries

Msc in CS Data Science/AI really interested in Signal Processing and Data Science

Cristian-Mihai Rosiu

CS MSc Artificial Intelligence really passionate about Computer Graphics.

Audacity - Scalability

Audacity’s Scalability Challenges Audacity, as an application has to deal with many challenges such as managing or importing files of different sizes, and processing various audio editing related tasks. These are all handled by different algorithms, and in this section, we try to identify any scalability issues related to them. Feature Scaling A core principle which comes to mind when considering an open-source project, is how easy it is to contribute and integrate new features.

Audacity - Quality and Evolution

As a large open-source project, Audacity relies on the contributions provided by a large collaborative community. In this paper, we provide a retrospective on the quality and evolution of Audacity, investigating their contribution pipeline, the overall quality culture, and the technical debt that has been accumulated. Software Quality Processes Audacity uses two primary development tools to ensure a proper contributions are made with a maintainable format. Forking For developers to contribute to the Audacity code-base, they need the first fork the Github repository.

Audacity - From Vision to Architecture

In this post, we further investigate the set of fundamental concepts and properties of Audacity, notably the container, component, connector, development and run-time views. What is most interesting to note, however, is that despite the age of the Audacity application, very little refactoring was finalized1. The main architectural style The software was first developed by Dominic Mazzoni, whose main intention was to create a platform where developers can build and debug audio processing algorithms2.

Audacity - Product Vision

Audacity - Product Vision Figure: Audacity logo Audio editing and recording is a discipline used in many fields, such as the music industry, podcast creation and even in medical applications. There exist a multitude of tools able to edit audio files, with Audacity standing out as one of the most popular programs, despite being created over two decades ago. Audacity is a free-to-use, open-source audio recorder and editor software designed for use on multiple operating systems, such as Windows, macOS and many Unix-like systems.