My apologies for being terribly dim, but where do I find “ImportFFmpeg.cpp”?
I would like to change this code!!
Thanks.
M
My apologies for being terribly dim, but where do I find “ImportFFmpeg.cpp”?
I would like to change this code!!
Thanks.
M
Here: https://github.com/audacity/audacity/blob/master/src/import/ImportFFmpeg.cpp
(See also: Finding files on GitHub - GitHub Docs)
What a marvellously quick reply!
And continuing to be dim, do I save this code to a raw text file with that name?
And where do I put it?
(Sorry - very much a user here, on a deadline!!)
Thanks, again.
Mark.
Actually, I really am being dim. I need to recompile Audacity with this altered file… it’s not a plug-in…?
I think this is beyond my immediate capacity, sadly.
In that case, i do think that this needs to be an option in Audacity prefs. I cannot think of any occasion where I would want a compressed transcode - I just want the raw audio data.
Apologies.
Mark.
Correct
Many thanks. I will look into this when I have more time.
M
And, with a lot of help from a code-savvy friend, I have Audacity compiled with AC3 DRC disabled. Marvellous.
It would really help for it to be a preference, though, were that to be possible in future builds. I have an application where getting uncompressed wavs from ac3 is vital.
Many thanks for help, here.
M.
It took two attempts and several hours of installing the tools, configuring, dealing with dependencies and the building instructions, but it finally worked.
One of the quick tests I did was importing a DTS:X file, now all 8 channels are recognized (previously it only recognized the 6-channel DTS core). Another test was importing the audio part of a D-Cinema package, previously it had a lot of silence padding. Regarding that ffmpeg v2.2.x is from 2014, there are surely some more improvements.
I only realized that Audacity v2 has passed and we’re into v3 when the installer was created. It looks like it only messes up most of the translations, but since it falls back to English, that’s fine for me at the moment.
If someone is interested in the installer, drop me a message. Next time I repeat the whole process, I’ll improve the “Building On Windows” instructions (I only used Windows 10, so I don’t know if it will work on all platforms) and I was about to say to do a pull request, but I just saw there’s already one for updating the ffmpeg headers (which is only 2 weeks old but there’s already a new ffmpeg version out).
Any chance of a quick walk through using VS C++
Can I just cut/copy/paste these overwrites in the source? Also, is recompiling within my limited (Basic circa 198x’s) coding skills? I have MSVS 2019 and the master audacity and ffmpeg files.
trembuzz
Can someone just post the compiled and fixed version? I’ve been trying for the last hour to waste what little crappy internet I have to download gigabytes and gigabytes of useless programs to compile this to literally no success. I’m tired of fiddling around downloading whatever random CMakes or Visual Studios or whatever the hell it’s “expecting” just to yield one or more programs not working.
Not everyone is a programmer. Not everyone who would like to edit an audio track is a programmer. The expectation that we have to be programmers to fix a frankly geriatric program (why is the FFmpeg version SO old that it’s doing this?) is astounding. So many posts on what line to fix, none HOW to do it, and none posting it already compiled. The GitHub is even worse and more pretentious.
Computer programming isn’t easy, is it? I bet you’re really glad that someone else normally builds Audacity for you so that you can just download it and use it (for free).
I bet you’re also glad that someone else builds an FFmpeg library that supplies the API for Audacity to interface with, and that someone provides hosting for it so that you can simply download and install it.
I know that other users are glad that Audacity supports FFmpeg on Mac and Linux as well as Windows.
Yes, a simple change to the code will “work” for Audacity on Windows, but does it work properly for all supported import / export formats? I don’t know. Does it work on Linux and macOS? I don’t know.
I do know that the update, as supplied by one of Audacity’s most senior developers involved a lot more changes - you can see it here: Cleanup and update FFmpeg support to v4.3.1 by lllucius · Pull Request #741 · audacity/audacity · GitHub
Unfortunately that change was reverted due to some unresolved issues that I don’t understand. I’m sure they will resolve it eventually.
In the meantime, Audacity on Windows has been updated so that the next version of Audacity will be available as a native 64-bit app, with a 64-bit FFmpeg 2.2.2 build available (for free).
Personally I am very grateful for the hundreds of thousands of hours of work, contributed by so many people to develop, test, document and support Audacity.
Well first off, it’d be mighty helpful if the build instructions actually worked instead of it assuming that the person trying to build it has more programs and more knowledge on it than actually listed as requiring.
https://github.com/audacity/audacity/blob/master/BUILDING.md
Error #1: Doesn’t even mention that you have to download Git.
Error #2: It says it requires Visual Studio 2019, but not that you need to find and install the optional CMake add-on for it. Given it’s buried in menus after menus, and not even mentioned, you’re going to encounter this issue fast. Okay, so…
After CMake regurgitates what I can only assume are a huge host of errors in red lines after the “Configurating done” portion, “Generate” seems to go on fine… then you press Open Project.
Visual Studio says the project is ready? Okay, cool… do the Build > Build Solution part, and it’s a metric tone of errors. Doesn’t actually compile.
I’m currently here. I assume there’s an umpteenth program or add-on I didn’t install but I don’t know what it is.
Yes, I did make my post yesterday very irritated. And honestly, I’m still pretty irritated, but I do admit I was rude yesterday and that’s not called for.
I have never had a positive experience with an open-source or Git community and so far this is shaping up to be the same thing entirely. “DIY” doesn’t work when you’re offering something to people who are not programmers and expect that they have the same knowledge you do and that’s precisely what’s going on here.
It’s not like DRC is a new feature—it (or different terms referring to it) are why Oasis’ What’s The Story and Michael Jackson’s HIStory (both released in 1995) are so hard to actually listen to because of the immense, ear-destroying loudness war. Heck, the “new jack swing” movement of the 1980s was littered with this too (Bobby Brown, etc.).
I understand wanting compatibility among all OSes, but why is this option forced? Why is there no way to simply enable or disable drc_scale? Why are we forced into one specific setting? You can’t possibly tell me that is what is maintaining stability among all three OSes. “It works if we force it to 1, but not if we let the user select 0 or 1.”
End users are not expected to have any software development experience, but if you chose to build from source, then that IS a software development task.
Unfortunately, building on Windows is much more complex than building on Linux and requires a lot more effort to set up a build environment.That’s just the way things are on Windows - Microsoft are not really interested in users building software, they expect users to be “consumers”.
I can’t in any good faith believe that “end users are not expected to have any software development experience” when you not only improperly outline instructions on how to build the software, but lock necessary and baffling features behind source code access instead of a simple yes/no box somewhere in the program.
Microsoft isn’t the most programmer friendly, but honestly, neither is this guide or program as a whole.
The “outdated” guide for assembing it on Windows (found here: https://wiki.audacityteam.org/wiki/Building_On_Windows) says there should be 0 errors and 17 warnings. I got 3 errors and 312 warnings. So, due to the errors, it doesn’t actually build.
It is true that Audacity, unlike a lot of Git products, is actually available precompiled, so I guess that’s the part you’re referring to, but the drc_scale option is baffling. It would be akin to a video editing program like a Handbrake or Hybrid locking CRF/QP options behind source code access, otherwise it defaults to 28, which would make no sense. It’s a vital thing for quality and preservation.
Yes, that guide is outdated. The current instructions are included in the code (in BUILDING.md).
To be honest, until quite recently I wasn’t even aware that FFmpeg did that. We don’t make FFmpeg, and virtually all of the work that I do is with audio files.
A possible workaround is to use another app to rip the audio from your DVD / video file as a WAV file, and then import the WAV into Audacity, thus bypassing the need to use Audacity’s (outdated) FFmpeg.
Yes, that guide is outdated. The current instructions are included in the code (in BUILDING.md).
Too bad it’s the only one that even comes close to being a complete guide. The mess in the “BUILDING.md” is missing numerous steps, although neither guide will lead to Audacity actually compiling. I take it you have no idea why either since I keep mentioning this and you’ve yet to say why it’s not working.
To be honest, until quite recently I wasn’t even aware that FFmpeg did that. We don’t make FFmpeg, and virtually all of the work that I do is with audio files.
You weren’t aware FFmpeg had dynamic range compression? Maybe you should quit data harvesting and actually pay attention to what your program is supposed to be doing?
You weren’t aware of one of the most basic functions of FFmpeg or audio as a whole for an audio editing program? FFmpeg isn’t some new audio codec and DRC is not a new concept. What do you do with Audacity that you weren’t aware of this “until recently”?
A possible workaround is to use another app to rip the audio from your DVD / video file as a WAV file, and then import the WAV into Audacity, thus bypassing the need to use Audacity’s (outdated) FFmpeg.
lol. My sides are hurting from this.
“A possible workaround is to endlessly reencode the same file over and over to avoid quality degradation and in exchange you get quality degradation”
Sorry, I only build on Linux these days.
I have nothing to do with data harvesting, and FFmpeg is not our program. I try to help people to use Audacity effectively.
Also, I don’t work with video, as I’ve already said.
Also I don’t rip commercial DVDs.
To avoid any degrading of sound quality, rip your DVDs as 32-bit WAV. (rather overkill really, given that you are starting with a lossy format).
Sorry, I only build on Linux these days.
Wouldn’t be at all surprised if the instructions for Linux didn’t work either. If the instructions, new or “old”, are so hopelessly useless for the most popular operating system in the world, I don’t have high hopes for one few users will be using.
I have nothing to do with data harvesting, and FFmpeg is not our program. I try to help people to use Audacity effectively.
You’re a Site Admin, are you not?
No one ever said you owned FFmpeg, but hey, guess what: you don’t own any of the formats that the program supports. FFmpeg is the only one that Audacity makes a conscious effort on utterly mauling for no reason by forcing a drc_scale setting instead of letting us select a 0 or 1.
Also, I don’t work with video, as I’ve already said.
Also I don’t rip commercial DVDs.
AC3 is a very common audio codec in general. It’s been an industry standard since… what, the 1990s when it was Dolby Digital? Pretty sure music CDs have been using it for decades too.
To avoid any degrading of sound quality, rip your DVDs as 32-bit WAV. (rather overkill really, given that you are starting with a lossy format).
Or just demux the audio out of it so it’s 100% pure. Your idea wasn’t bad here with the ripping as a .WAV but things have changed a lot with DVD and video editing as a whole, there’s little reason to be ripping audio specifically or doing any hokey conversions. MKVToolNix is one of the most useful programs to come out in the last 20 years. It can flawlessly separate most video formats (not just MKVs, but MP4s, as well) into a video track and an audio track.
It is also worth noting that it’s only technically “lossy”. I can pretty much guarantee the “lossless” FLACs you’re finding of music CDs aren’t lossless whatsoever and are just very high quality.
TRULY lossless is a dream you’ll never reach, much like how “decaffeinated coffee” does still contain up to ~3% caffeine as it can’t all be removed. What’s left ultimately doesn’t matter or isn’t perceivable.
There is a discord channel for help COMPLILING AUDACITY #windows here: Discord