Audacity 3.4(audacityteam.org) |
Audacity 3.4(audacityteam.org) |
Way to bury the lede! What's this magic algorithm being spoken of, how does it work so well?
> A more detailed overview of these changes can be found in our <a>changelog</a>.
The changelog is even more terse, saying only which key combo activates it :(
A way bigger deal to me is mentioned at the bottom of the "other changes" in said changelog: Opus support!
Edit: wait, under "libraries" it says
> lib-time-and-pitch implements a time stretching algorithm originating in Staffpad. It currently is one of the highest-quality time stretching algorithms for music on the market.
Staffpad links to https://staffpad.net and seems to be some music app. The library name links to a Microsoft repository (https://github.com/audacity/audacity/tree/e4bc052201eb0e6e22...) with no readme. The source code is documentation enough :)
It's a granular time-stretch algorithm. By the sound of the artifacts at extreme settings it's akin to the 'Complex Pro' algorithm in Ableton Live (if you have any reference to that) and seems to be equally effective at a wide variety of sources (percussion, vocals, full records).
Is it better than most commercial offerings? Hard to say after a brief test, but it's not bad!
I suspect it's plenty good for the needs of Audacity's audience, who are unlikely to be demanding audio pros. As an audio professional I would never use Audacity, but if you need a quick, free, and (relatively) simple option to time-stretch a file, then it should fit the bill.
Whether you do or not, there are a hell of a lot of hawkers of software and "hardware" alike, who stand ready to sell their overpriced "professional" tools to people who fail to make it in the music industry (which is going to be most of them, regardless of tools or even skills). A high sticker price is a way to prove your commitment - to oneself, at least. The end market is less likely to care.
The audacity!
The basic idea is this. For a time-stretch factor of, say, 2x, the frequency spectrum of the stretched output at 2 sec should be the same as the frequency spectrum of the unstretched input at 1 sec. The naive algorithm therefore takes a short section of signal at 1s, translates it to 2s and adds it to the result. Unfortunately, this method generates all sorts of unwanted artifacts.
Imagine a pure sine wave. Now take 2 short sections of the wave from 2 random times, overlap them, and add them together. What happens? Well, it depends on the phase of each section. If the sections are out of phase, they cancel on the overlap; if in phase, they constructively interfere.
The phase vocoder is all about overlapping and adding sections together so that the phases of all the different sine waves in the sections line up. Thus, in any phase vocoder algorithm, you will see code that searches for peaks in the spectrum (see _time_stretch code). Each peak is an assumed sine wave, and corresponding peaks in adjacent frames should have their phases match.
The two I know of are Paulstretch (which is really only for super-duper-long stretching) and Lent 1989 ("An Efficient Method for Pitch Shifting Digital Sampled Sounds"), which can be thought of as a form of granular synthesis but isn't really what most people think of when they hear that term.
Time stretching 2 of 6 make audio track stretching effective
You link to the official audacity and chose to (incorrectly) describe it as ”a Microsoft repository”
Why being dishonest?
Maybe I should simply have said git, though. Didn't think of that until now at the end of writing this reply. No dishonesty intended, quite the opposite in fact
A bit of an open ended question, but is there anything more I could do to process the audiobook to make it sound even better at 2x?
Sounds like you could download Audacity 3.4 and make a 2x version of your audiobook files using their new time stretching algorithm.
Staffpad is recent acquisition which is why they are now able to share technology like this: https://mu.se/
Depending on your needs, you'd want to favor one over the other. Granular stretches are far less CPU intensive and have significantly lower latency than an FFT Transform. The granular algorithm will likely have better transient fidelity at small time-stretch intervals (between 0.5x - 2x speeds), whereas FFTs tend to smear the transient information.
Where FFT transforms really excel is in maintaining or transforming formants and harmonic information. Especially at extreme pitch or time settings. Granular algorithms can only stretch so far before you hear the artifacts. FFTs are far more graceful for dramatic transforms.
I wonder how it compares to Ableton Live, warping was always a big part of Abelton.
- Overall great.
- The tempo stretching example in the video was too subtle for me. I listened a few times and had trouble telling the difference.
- The documentation at https://manual.audacityteam.org/index.html is still for 3.3 which is a bit frustrating when trying out new features. Also the link labeled Manual that is displayed in the splash screen 404s for me.
- It took a bit too long to scan my computer for plugins and at the end I was told some plugins were deemed incompatible but not why.
Suggestions on next steps:
- I want to download songs and map the tempo to the song. That way I can easily loop over few bars when practicing an instrument.
- Today I use Ableton for this which can automatically detect the tempo of a clip, and align bar and beat markers to the song, without stretching the audio. It also does a decent job of following tempo variations within a clip. This all started working well in version 11.3.2.
I tried to use Audacity for this and these were my impressions:
- Opus support makes it easy to work with material from Youtube.
- Adding clips to tracks obscures beat and bar markings making them difficult to align with transients.
- Having to generate a metronome track is a bit clunky.
- Stem separation would be a nice addition so that I could easily mute the instrument I'm playing.
that's the point of it. Being able to make 124 bpm samples cooperate with 110bpm samples without anyone ever noticing that it had happened.
> - The documentation at https://manual.audacityteam.org/index.html is still for 3.3 which is a bit frustrating when trying out new features. Also the link labeled Manual that is displayed in the splash screen 404s for me.
the manual job always takes forever to complete, but support.audacityteam.org is updated.
> - It took a bit too long to scan my computer for plugins and at the end I was told some plugins were deemed incompatible but not why.
It tries to load the relevant VSTs in a child process and if the VST crashes the child process it gets flagged as incompatible. Audio plugins are awful and nobody ever follows the spec.
All of the other things you mentioned are in various stages of being planned.
That's what's always kept me from using Audacity in the past. I like the interface and operations and everything, but cleaning up audio (removing room tone mostly) has always been the first step in my workflow, and its built-in noise reduction has just been unusably terrible compared to basic commercial tools.
Or is there a common plugin people use with it that I've never known about?
For example, that also makes them vulnerable to "enshittification".
Even to the suitiest of corporate suits it's clear that the enshittification funnel (first it's awesome for users, then for partners like publishers and advertisers at the cost of users, then it's awesome for making money at the cost of everyone else) simply doesn't work with an open source program.
In the 1990s in a long workroom of sun workstations we rigged a rlogin sox script to play succesive parts of some spooky music as a co worker walked past each one late one night.
on the other hand inkscape is made with gtkmm(gtk), which also runs cross platform.
Every now and again there'll be a hard to otherwise source episode of something that turns up two poor vesions, one with good video but damaged | lower quality sound another with good sound | bad video .. and they each have differing frame rates and edit cuts.
To make a better version involves a bit of time stretching on the audio between marks.
I still have an eye out for the best OS tool for merging and aligning video + audio + subtitles tracks .. the smoothly integrated intersection of MKVToolNix + SubtitleEdit + Audacity.
I loved Apple's Music Memos (works still on some old iPhones) as I could strum my guitar and sing my songs in it to automagically with one click add AI drums and bass (tempo could be changed/edited). They discontinued the app a few years ago, unfortunately.
Join:
SelectNone:Eventually, I held my nose and ran Audacity in a VM, and not a single crash.
Only binaries from Audacity themselves had the telemetry, which (as usual) is why you should never use upstream binaries.
That’s kinda the blessing and the curse of FOSS. You absolutely can fork the repo, remove the telemetry, and republish it as a new app.
But fragmentation is confusing, requires a lot of maintenance, and really I’m not sure it was worth it. Those who are particularly conscious about the telemetry can block it with a single line in /etc/hosts.
If you must state ownership you could have done so with something like ”a microsoft-hosted repository”.
Most of us have been around since before microsoft bought github.
For my work the standard DAWs are Pro Tools, Logic Pro, Cubase, and Ableton Live. There are lots of options each with their own strengths, but any of these will do a great job. I think it comes down to the person's workflow preferences. Certain disciplines will favor different DAWs.
Other than that Izotope (programs like RX and Ozone) are doing cutting-edge work for audio restoration. There are certain companies that are competitive or exceed them in certain situations, but Izotope is the company you're most likely to see working professionals use these days for general utility.
It can be more nuanced than that, but I don't know if you're asking for a deeper explanation.
Though with this new update, I thought I could stop using Sound Forge but quickly realised it doesn't have a real time pitch control on play back (think the pitch control on a turntable) so I will be keeping with Sound Forge untill then.
VS Code is also not immune (I use codium, but only as a secondary editor to Neovim).
This sort of situation is bad for everyone: People get their workflow broken, devs need to do work to remove and later reinstate a feature, and privacy-minded people who want to complain need to share name and email to sign up on a forum for an account. In addition, it is hard to gauge what significance the forum posts have: If 100 people are complaining, are they a vocal minority of the millions of users Audacity has, or are they representative of most people?
This is especially true considering Audacity is the sort of casual "useful toolbox USB stick" program for many people - they're not going to closely follow development and updates or participate in polls or surveys, simply because it's not a part of their life they care about that much. This situation is different for something like Blender in which the tool tends to be a major part of your hobby or job if you use it at all. Although, saying that: This is a hypothesis based on my perception which cannot be verified as neither Blender nor Audacity track this data.
With telemetry (which for Audacity would have been a "do you want telemetry yes/no"-type dialog on first launch) the question "does anyone actually use the cut/copy/paste buttons?" would have been answered with "actually, yes", things would have been done differently, nobody's workflows would have been broken, and privacy-minded folks would not have needed to put emails on a forum which may or may not get hacked in the future.
In some sense, even people who disable telemetry benefit from telemetry being an option - assuming that their needs are in aggregate otherwise similar to the average user.
> Audacity's source code is currently released under the GNU General Public License version 2 (GPLv2). We intend to update the license to GPLv3 to enable support for new technologies not compatible with GPLv2 (i.e. - VST3, which is compatible with GPLv3).
VST3 is dual licensed with some Steinberg license and GPLv3. The purpose of the CLA was to be able to migrate Audacity binaries to GPLv3 with VST3 support. This has happened as of Audacity 3.2.
Other uses for the CLA are to publish the thing in app stores down the road. It's not stopping Audacity being open source, unless you consider Apache software not open source.
> The CLA also allows us to use the code in other products that may not be open source, which we intend to do at some point to support the continued development of Audacity.
I am well aware that you're allowed to do this with permissively licensed code, too.
Also, if you want another one for your collection, I've been very happy with Avalonia for desktop UI (haven't done custom drawing in it though)
You can verify for yourself that there is no telemetry code in Audacity.
You are confusing it with audiophile gear.
Regarding Audacity, it's missing tons of features and it's UI is bad. Just like Gimp vs Photoshop. I did some audio production and Audacity is just not usable beyond the most basic operations, and even those are a bit of pain.
$100 gets you a SM57 which probably has been on more platinum albums than any other mic.
You don't even need an SM57. I know for a fact the iPhone mic and iPhone Garageband has been one artist's success.
That said, the ceiling of what's possible is far higher than what an SM57 can deliver. Not to diminish it. In some instances it's perfect, but one wouldn't have to look far to find better choices, depending on the context and needs of the record.
A Toyota Corolla (don't @ me, I'm not a car person) might be a low-cost, reliable choice in a pinch, but it's far from embodying what automobiles are capable of.
You wouldn't want to record an acoustic guitar ballad on it.
Edit: Mind you, it contains software instruments, sound packs and MIDI effects allowing you to add synthesized music to recorded music. Audacity only manipulates existing audio and you will need to bring in other software if you want to add synthesised audio which in Audacity will just be treated as extra audio tracks rather than MIDI. That will obviously make it more difficult to produce music. It would be like having to rasterise every layer instead of using a vector graphics to build an illustration.
I've also been around the block long enough to know what tools are worth investing in and which to avoid, so I'm not worried about vendors with bad value add.
The "Mixdown Industrial Complex" that provokes gear lust in audio professionals is not something I worry about at this point. I'm mostly satisfied on the tools that I use and the shiny new thing doesn't interest me like it once did. The focus now is on the work.
Barring a VM escape exploit, I know that my private data is not getting exposed.
Steven Soderbergh has shot several feature films on an iPhone and the movies were still great, but they're nowhere close to unlocking the full potential of visual expression that you'd get with more refined tools.
Artists who are serious about their craft will keep an SM57 and an iPhone mic in their color palette (Frank Ocean comes to mind), but that's all they are for serious practitioners: a creative choice.
Distributions and open source maintainers looking out for their users, once again.
https://github.com/audacity/audacity/blob/6c2e8a2377542d6722...
i write this as someone who's been involved in one too many debates about the perils of introducing telemetry to a commercial open source thing because "HN would tear us apart"
If it can fully run locally on my machine, I do not want it sending anything external.
Lastly, as an abused Firefox user, it seems that telemetry is only ever used to justify removing features I like.
If the removed features are only features you like, then they probably aren't doing things right... The one most relevant purpose for telemetry I see for Audacity is precisely preventing this from happening, meanwhile fostering a more vigorous growth of the repo by cutting off dead branches. Audacity is over 20 years of development of features, some of which we every now and again wonder if they're still used. Not knowing, we try our best maintaining these, which slows down Development, QA and Design in delivering features that are relevant now.
The original email appears to indicate they intended to contact CCP authorities. The inference I took is that they believed the developer was in China.
Later they stated that violation of law in Canada could result in revocation of visa.
So "threated to have someone deported" is maybe a stretch, "tortuted" is pretty untrue.
The github issue appears to show a pretty reasonable attempt by both parties to move forward.
1. https://github.com/Xmader/musescore-downloader/issues/5#issu...
Using a user’s computer to spy on them when they don’t want it to is extremely rude, in all cases, even if the surveillance data is thrown away and never used.
Developers who implement such features should be named and highlighted and should have trouble finding new jobs. It’s shady and unethical to make such software, doing so should be a black mark on one’s professional record, just like stealing. It is literally malware.
Your assumption that violating consent is ok as long as it isn’t “nefarious” is the problem.
"If found in violation of laws, residency may be revoked and he may be deported to his home country. This becomes even further complicated given another repo of his – 'Fuck 学习强国', which is highly critical of the Chinese government. Were he deported to China, who knows how he may be received."
Hard to take that as anything but a threat. My point stands that Musegroup has proven that they should not be trusted with any information about users.