Audacity 3.3 is out

By and large this is a quiet update, with most of the work being done under the hood. Some noteworthy changes:

  • Some built-in effects are realtime capable now
  • A new Shelf Filter effect has been added, it’s in the EQ & Filters category
  • An initial (beta) version of a beats and measures feature has been added, you can enable it via View → Toolbars → Time Signature Toolbar (beta), then right-clicking the timeline to change to beats and measures, and then changing the snapping and time and selection toolbar clocks to a beats format.
  • A new vertical ruler (Linear (dB)) has been added, you can enable it by right-clicking on the vertical ruler.
  • Project Rate has been moved to the Audio Setup button → Audio Settings and renamed Project Sample Rate

More changes can be found in the changelog: Audacity 3.3 – Audacity Support

You can download Audacity 3.3 from audacityteam.org/download.

GSoC 2022 – Work Product – Creating Fundamental Ruler and Waveform Display Options

Hello everyone! Now that Google Summer of Code 2022 has wrapped up, I’d like to present the work that I have done over the summer. I would also like to take the time to thank Audacity for giving me this opportunity that has made me much more aware of, and competent in, open-source development. Please use this link if you would like to return to my first blog post and read about the project from the beginning.

Code changes

You can view the final state of my work for GSoC on this pull request.

Project summary

I have met most of the goals originally proposed, with the structure of the Rulers updated for increased flexibility and the vertical Linear dB Waveform ruler and Beats & Measures timer having been created. Here is a summary of the changes made for this project:

  • Ruler Restructuring
    • The RulerFormat and RulerUpdater classes, as well as their large number of subclasses, were created by extracting and reformatting existing code into polymorphic objects.
    • The SetUpdater and SetFormat functions were created to support this polymorphism for the Ruler, replacing the SetLog and SetCustom functions which restricted the ruler to messier switch statements.
    • The SetUpdaterData and SetFormatData functions were created on the Ruler to allow for data of any type to be passed to the ruler. This replaces the SetUseZoomInfo function as well as other functions which control ZoomInfo, and open up the doors for much more flexible data passing.
    • Restructured Ruler structs like TickSizes, and added the ability to set minorMinor ticks (the smallest tick size) using TickSizes. This gives increased flexibility to updaters that rely on this, like the default LinearUpdater.
  • Linear dB Ruler
    • A new ruler option was created for the Waveform ruler, which can be accessed through the right-click menu as well as preferences dialogue.
    • This utilizes the new CustomUpdaterValue updater, which allows the specific necessary dB values for a linear dB ruler to be passed to the ruler creation function.
    • Code was written to generate these values and update the ruler as necessary, as well as make it responsive to a variety of decibel ranges and track sizes.
  • Beats & Measures Ruler
    • A new ruler format, BeatsFormat, was created, which relies on the new ability to pass in data to a ruler format.
    • A new option for the time ruler was created which utilizes BeatsFormat to display time based on user-defined beats per minute and time signature. This data can be set in the preferences dialogue.
    • A new format in the bottom time panel was made which displays bars and beats, and lets users snap to beats when selecting on their track.

I’d also like to go over some planned future changes, as I intend to continue working on this project:

  • Perform general cleanup of code, including comments and variable name changes for both new and legacy code.
  • Add the ability to pass customizable sizes for each different kind of tick.
  • Improve the cleanliness and visual appeal of the user interface, especially the vertical linear dB ruler.
  • Add a panel for setting the data on the beats & measures ruler without going into the preferences menu.

I’d like to especially thank my mentor Paul Licameli, as well as the support from everyone on the Audacity team, including but not limited to Dmitry Vedenko, Peter Sampson, and Peter Jonas. I hope that my work can lead to many new and useful development for Audacity’s user interface in the future.

Audacity 3.1.3 released

Audacity 3.1.3 has been released. It features the following improvements:

  • Made it harder to accidentally create loop regions when attempting to use Timeline Quick Play
  • Added snap guides when resizing clips
  • Added new default shortcuts Shift+L (set loop to selection) and Alt+Shift+L (Clear Loop)
  • Re-added selection and quick play indicators in the timeline
  • Improved performance, especially when loading in projects, up to 50x compared to 3.1.0
  • Fixed various crashes and other bugs. Details can be found in the release notes.

Between this release and 3.1.0 have been two hotfix releases which fixed critical bugs and crashes, but didn’t impact features (details: 3.1.1, 3.1.2).

You can download Audacity at audacityteam.org/download.

Rethinking the Manual

Hello

In this post, I want to introduce our plans to create a new online manual, which we intend to replace the current one found here.

First, it is worth explaining why we want to replace the existing manual, which has been meticulously kept up-to-date by a handful of dedicated contributors. The existing system is built on MediaWiki, which unfortunately comes with a lot of trouble attached that limits its overall usefulness: For example, due to spam problems, it has not been open to contributions from the public for a long time. As a result, the number of active editors has been very small (around 3 or 4 people). Consequently, it has also not been translated in quite a long time, which we feel is a big disadvantage.

Secondly, the manual was being packaged with the installer, which meant that it needed to be completely up-to-date prior to a release. Apart from being an unnecessary release blocker, this also meant that any corrections or optimisations to the manual could only be published whenever a new version of Audacity was released.

Thirdly, it was written to serve a dual-purpose: being both a developer reference as well as a user manual, which made it quite complicated – a problem exacerbated by not having a search function. As a result, around 90% of Audacity users were using web search engines such as Google to get help with Audacity, where more user-focused content from third parties massively out-performed our manual (the average manual page gets about 180 clicks per month). This is significantly lower than what we expect from an app as widely used as Audacity is. 

For the above reasons, we have decided that our resources are overwhelmingly better spent on creating a new manual that attempts to get users up to speed as easily as possible. This new manual will be called Audacity Support. 

With that in mind, we want to accomplish the following goals with Audacity Support: 

  • It should be user-focused. That means it should be easy to read and friendly, giving as much information as necessary to achieve a given task, without being either too vague or too detailed. It also should be search optimized, helping users to find what they’re looking for quickly.
  • It should be continuously editable by anyone and not be a release-blocker anymore. Although this means that pages will sometimes be ‘out of date’ at the time of a new release (although we’ll seek to avoid that as much as possible), we feel it is a price worth paying to achieve the goal of a vibrant community of contributors and translators.
  • In addition to written content, the manual should prominently be accompanied by video tutorials when appropriate. We intend to encourage the already large video tutorial community to create content that fits in with the task-focused structure of the manual. This would be a perfectly symbiotic relationship, since the manual will provide them an additional source of views.
  • Crucially, Audacity Support will also be translatable. Mediawiki can do this with great effort, but we’d like to have a system that supports translations more easily.
  • Readers should be able to search for content in Audacity Support itself, and be able to download a PDF version of it should they need access to an offline copy.

The current plan is to host Audacity Support on Gitbook. Gitbook has inherent benefits over MediaWiki for our purposes in several areas: 

For Contributors, Gitbook has a nice visual editor (as opposed to MediaWiki’s plain-text/wiki-syntax editor). It also can sync to Github, so if you prefer working with a local markdown or text editor, you can do that, too. This Github integration also will enable translations down the line (several translation tools integrate with it easily), but since we’re starting fresh, we’ll hold off on translations until the English version has reached a somewhat decent level of maturity. Video tutorial creators will be able to easily embed their content on relevant pages.

There may be individual pages from the old manual which make sense to be ported over to Audacity Support, but generally, we want a fresh start, with the developer reference bits of the old manual not getting ported over. Speaking of which, the old manual would stay as-is and will not get updated or included in the installer past 3.1.x.

As a preview, you can view the Gitbook page on https://audacity.gitbook.io/audacity/. Please bear in mind that we have only just started the process of populating it with content and it still contains a lot of unfinished material. While we are not yet calling for contributions, you can get editor access on https://audacityteam.org/gitbook-access. We will welcome anyone who wants to take part in defining the overall structure and style.

We would be very interested to hear your suggestions on how we can make further improvements to this plan. You can send them in our Forum, or in our new discord server.

Audacity 3.1 is out now!

Watch the release video now

We’re happy to announce that Audacity 3.1 has been released. This release focuses on making audio editing easier. The key improvements are:

  • Added clip handle bars, allowing you to move audio clips around more easily
  • Added smart clips, a way to non-destructively trim clips
  • Reworked the looping feature.

You can download Audacity 3.1 for Windows, macOS and Linux on audacityteam.org/download.