DESOSA 2022

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. With a support for over 60 languages, and a custom-designed scripting language for plug-ins, Audacity is a highly customizable software geared towards both beginner users and advanced professionals.

The Domain of Audio Editing

Since its inception, Audacity has relied on its open-sourceness for development, and thus has a loyal community which has been able to continuously introduce features into the project. This has caused underlying domain of Audacity to become quite broad, with applications ranging from music creation to VoIP (Voice over IP) recording and more. However, despite a varied set of use cases, the application has always remained focused on the recording, editing and converting of audio files, and hence falls into the domain of audio processing.

Overview of Hobbyist and Professional Capabilities

In order to best encapsulate the capabilities of Audacity, we follow a bottom-up approach to describe the core characteristics Audacity employs, starting with beginner user-accessible content, before shifting to professional features, which are more geared towards entertainment content creation.

An Accessible Experience and Simple Learning Curve

Figure: Basic UI for Audacity

A simple hobbyist use of the application would be to record one’s voice, create an audio file and export it in a desired format. For ease of use, Audacity provides a basic UI layout which consists of an overview of the current sound settings and basic user controls. To record audio, the user needs to set the appropriate audio inputs and outputs (which are typically defaulted correctly), and simply click on play to begin the recording process.

To save the recorded audio, the user simply needs to click on File -> Export and select the file format desired for saving. Audacity supports a large variety of audio file formats, such as the compressed MP3 and older MP2 format, as well as AIFF, FLAC and uncompressed WAV.

Audacity encompasses a large variety of common settings which even hobbyists can use.

  • As microphone input, Audacity supports multiple types of interfaces to the sounds devices of the computer.
  • Before recording, the user can select the number of desired audio channels for different recording effects.
  • The number of samples per second can be adjusted using a drop down to commonly available formats (e.g. 44100Hz for audio files which can be burned onto CD drives)

Additionally, Audacity provides an easily customizable User Experience, such as changing the default theme to different variants such as a dark mode.

A Detailed and Malleable Tool

Whilst many people who download Audacity focus on simpler applications, such as converting audio file types or creating simple recordings, many enthusiasts look at Audacity as an alternative to the more expensive closed-source applications such as Adobe Audition.

Audacity caters to those seeking a more professional tool by providing a detailed list of available of customizable hotkeys and preferences. The software also allows the use of additional third-party plug-ins, which can be broken down into 4 categories. The installation instructions for each plug-in is provided on the Audacity website. Hyperlinks are largely employed to help users understand the definition of key terminology required for the installation process.

  • Nyquist Plugins: The Nyquist plug-ins consist of third party add-ons which are programmed using a twist on the Lisp programming language. These plug-ins have been a hit with the Audacity user base and allow a large range of custom sound synthesis and analysis.
  • LV2 Plugins: LV2 plug-ins are largely designed for Linux operating systems and allow for a large range of powerful audio processing features.
  • VST Plugins: These plug-ins allow VST effects to be loaded into Audacity on all operating systems. These plug-ins allow the emulation of a large variety of instruments through digital means.
  • Audio Unity Plug-ins: These macOS plug-ins come with a predefined GUI and allow compatibility with the Apple Audio specificities.

For more complicated projects, Audacity creates a simple method of combining and overlapping tracks, with a multitude of settings and customizable parameters a professional audio technician or content creator can make use of. These customary options for example include the blending, cutting and grafting of different sound documents or audio tracks together, as well as setting a timer for when to start the recording.

Beyond the content-creation oriented tools, built-in noise reduction, voice reduction, voice isolation or AutoTune is provided, with the possibility of customized variations using the plug-in system. The software additionally provides a variety of effects right out of the box, such as simple Bass and Treble adjustments as well as high/low pass filters.

The Context of Audacity

The external system context view is a way to distinguish between what needs to be built and what is already in place. The system context holds information about the necessary dependencies (e.g external API) and integration points that the system requires to function.

Most of the audacity source code is focused on user interface (i.e around three quarters) with less than a quarter focused on actual audio processing. The GUI is mostly dependent on an external library called wxWidgets, that provides the developers with the necessary GUI tools, such as dialogs and GUI controls to build interfaces. Their user base is mostly made out of amateurs who are new to the world of audio editing. The UI however doesn’t limit the software’s audio-editing capabilities, meaning that a more advanced user can still benefit from using the software. Audio editing inside the software is integrated using a multitude of external sound processing modules and algorithms. One good example is given by the libsample library, which is mostly used for audio resampling. Furthermore, because new algorithms, breakthroughs and modules are constantly and rapidly being publically released, the Audacity team is planning to make the architecture more modular through libraries such as LibAudacity and LibApp. Lastly, to remain relevant despite the many existing competitors, Audacity developed a homemade programming language named Nyquisti, which allows for the development and integration of plug-ins inside Audacity.

Stakeholder Analysis

The stakeholders of Audacity can be divided into three separable groups:

  1. End users:

    End users are people who work around in the audio processing domain and have a modest comprehension of the field. They can be podcasters, vloggers, audio producers, etc.. Audacity offers them a range of services to produce, edit and create audio for their creative projects. They play an important role in the continuous development of the open-source software due to their continuous feedback loop towards the project.

  2. Contributors:

    Three different groups of contributors ensure the smooth development of Audacity:

    • Developers: since the release of Audacity as an open-source software by Dominic Mazzoni and Roger Dannenberg in 20001, 155 developers have contributed to the project. The role of the developers is to fix issues raised on the community forum, suggest addition of new features or review suggestions and pull requests made by fellow developers. All contributors sign a Contributor License Agreement (CLA) 2
    • Translators: similar to developers, the translators contribute to Audacity by translating the content from English to other languages. They also play a supporting role of the community.
    • Documenters and Testers: this group ensures the quality of the overall project by documenting and testing features and releases.
  3. Owners:

    Since April 2021, MuseGroup owns the Audacity trademark 3. In their press statement, the company promises to keep the software open-source and free forever. Their goal is to provide the resources needed to develop new features and improvements.

Key Quality Attributes - An open contribution model

The Wiki page clearly describes that one of the key attributes of Audacity is the lightweight experience offered by the simple and minimal UI due to the fact that most new clients don’t take the time to read the manual. To achieve this, the team uses a concept named Discoverable User Interface4. In other words, the user should be able to learn Audacity through means of discovery and not by reading a manual or a piece of information. Additionally, the wikipage has a page dedicated on design principles and practices to follow when contributing to the project.

To allow anyone to contribute to the project, whilst maintaining the quality of the software and user experience, the Audacity team has set a robust Feature Request Pipeline in place, and a comprehensive list of code standards (including information on Convention, Preferences, Do’s and Do Not’s…).

The first step to contributing to the project is to request a feature. Once this feature is accepted, the developer is able to integrate it inside an experimental version of the source code. During the experimentation phase, new features are tested, debugged, improved and refined. Finally, as the feature is close to completion, it is integrated into the roadmap and assigned a definite Audacity release number.

Product Roadmap

Audacity does not specify a clear roadmap for releasing features. The classic choices of “Scope, Schedule and Quality” are not realistic goals to strive for. Instead, the current Audacity team prefers to release often to a fixed date chosen in advance (Schedule), and their main goal is removing bugs (Quality).

New features are added over time, however not on a consistent basis. New features are proposed on the Audacity forum where the community can discuss and vote for them. When a feature is fully accepted and properly developed it is to be included into the Roadmap and slated for a future update.

In summary, Audacity tries to release often focussing on quality and stability. New features may or may not be part of these updates based on community feedback and development.

Ethical Considerations

It’s obvious to assume the main ethical considerations of Audacity’s privacy-minded users is the violation of their privacy and abuse of their trust. As the software can record audio using the computer’s built-in microphone and can send data to a remote server after a single acceptance of the User License Agreement, it is primordial that the users trust those developing the project.

Recently, a concern sparked over MuseGroup’s proposed plans to add telemetry to the Audacity code base. The main rationale behind the idea was to allow the developers of Audacity to better track down hard-to-find bugs, and that the tabulation of anonymous usage could help determine where the future development time could be spent. As a consequence of this violation of their trust, the users of Audacity flooded the Github with comments on the pull request, displeased with the plans of the new Audacity owners 5. A similar case occurred with the mismanagement of the User License Agreement 6.

Despite the recent outrages caused by the change of ownership, Audacity itself has not outright violated any of the basic privacy regulations. All audio recordings, and edited elements are locally stored rather than transmitted to a remote server. However, as MuseGroup has only owned Audacity for a year and already committed two infractions in the eyes of its users, it is difficult to judge how the users feel about the application’s current ethical state.

References


  1. https://www.audacityteam.org/community/ ↩︎

  2. https://www.audacityteam.org/cla/ ↩︎

  3. https://mu.se/newsroom/tpost/6dhedma301-muse-group-acquires-audacity-expanding-c ↩︎

  4. https://whatis.techtarget.com/definition/discoverability-in-UX-design ↩︎

  5. https://hackaday.com/2021/07/13/muse-group-continues-tone-deaf-handling-of-audacity/ ↩︎

  6. https://www.reviewgeek.com/92109/audacity-mess-further-muddied-by-muse-groups-new-licensing-efforts/ ↩︎

Audacity
Authors
Haoran Xia
Nafie El Coudi El Amrani
Maxmillan Ries
Cristian-Mihai Rosiu