Compiling Audacity

Building and customizing Audacity from the source code.

If you require help using Audacity, please post on the forum board relevant to your operating system:
Windows
Mac OS X
GNU/Linux and Unix-like

Compiling Audacity

Permanent link to this post Posted by redhat1968 » Wed Dec 07, 2016 6:20 pm

Windows 8.1
wxWidgets-3.0.2
Visual Studio 2105
Audacity 2.1.2
Build Instructions: https://github.com/audacity/audacity/bl ... ompile.txt
Audacity Source Code: https://github.com/audacity/audacity/
Audacity Change: C:\Audacity\audacity-master\src\effects TimeScale.cpp
FloatingPointValidator<double>
vldRatePercentChangeStart(6, &m_RatePercentChangeStart

My intent is to change the number of decimals of the %change of each input from 3 decimals to 6 to allow much more precise tempo or pitch changes.

I am having the following error while building the solution:
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppBuild.targets(1357,5): warning MSB8012: TargetPath(C:\wxWidgets\build\msw\.\..\..\lib\vc_lib\wxexpat.lib) does not match the Library's OutputFile property value (C:\wxWidgets\lib\vc_lib\wxexpatd.lib). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Lib.OutputFile).

1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppBuild.targets(1359,5): warning MSB8012: TargetName(wxexpat) does not match the Library's OutputFile property value (wxexpatd). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Lib.OutputFile).

2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppBuild.targets(1357,5): warning MSB8012: TargetPath(C:\wxWidgets\build\msw\.\..\..\lib\vc_lib\wxregex.lib) does not match the Library's OutputFile property value (C:\wxWidgets\lib\vc_lib\wxregexud.lib). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Lib.OutputFile).
2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppBuild.targets(1359,5): warning MSB8012: TargetName(wxregex) does not match the Library's OutputFile property value (wxregexud). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Lib.OutputFile).

etc...

I appreciate any help you might be able to offer. Thanks
redhat1968
 
Posts: 7
Joined: Tue Sep 27, 2016 12:09 am
Operating System: Windows 8 or 8.1

Re: Compiling Audacity

Permanent link to this post Posted by steve » Wed Dec 07, 2016 6:51 pm

The supported version of Microsoft Visual Studio is 2013.
Apparently it is 'possible' to build with later versions, but you're pretty much on your own if you choose to do so as there is no documentation (and I'm on Linux so I can't offer any help with MVS). http://wiki.audacityteam.org/wiki/Developing_On_Windows

redhat1968 wrote:My intent is to change the number of decimals of the %change of each input from 3 decimals to 6 to allow much more precise tempo or pitch changes.

6 decimal places sounds a bit over the top - it would certainly be over the top for Audacity versions prior to 2.1.3 as the SoundTouch library is not precise enough. A bit more precision may be justifiable now that SBSMS is available, but 6 decimal places still sounds like overkill, so out of interest, why such precision?
9/10 questions are answered in the FREQUENTLY ASKED QUESTIONS (FAQ)
steve
Site Admin
 
Posts: 44992
Joined: Sat Dec 01, 2007 11:43 am
Operating System: Linux *buntu

Re: Compiling Audacity

Permanent link to this post Posted by redhat1968 » Wed Dec 07, 2016 6:59 pm

At 3 decimals, an edited thirteen minute track is approximately 0.133 seconds off compared to a Finale Songwriter 2012 music file at 4 beats per second (Quarter Note = 60 tempo). It is enough to cause a noticeable difference in the mix. Thanks for the feedback.
redhat1968
 
Posts: 7
Joined: Tue Sep 27, 2016 12:09 am
Operating System: Windows 8 or 8.1

Re: Compiling Audacity

Permanent link to this post Posted by steve » Wed Dec 07, 2016 7:45 pm

redhat1968 wrote:At 3 decimals, an edited thirteen minute track is approximately 0.133 seconds off compared to a Finale Songwriter 2012 music file at 4 beats per second (Quarter Note = 60 tempo). It is enough to cause a noticeable difference in the mix. Thanks for the feedback.

I'm intrigued. Can you give me an actual example.
Here's one example:
Start with a 12 minute 47 second track and stretch it to 13 minutes (780 seconds):
-1.666 % 'should' give 779.995 seconds
-1.667 % 'should' give 780.003 seconds
-1.668 % 'should' give 780.011 seconds

In Audacity 2.1.2 and earlier, the actual length will not be as calculated above due to lack of precision with the "SoundTouch" stretching algorithm, but three decimal places are enough to define the new length to within 3 milliseconds in this case (much better than the 133 milliseconds that you quote).

In Audacity 2.1.3, the new "High Quality" option uses the SBSMS algorithm for stretching, which produces the correct (the calculated) length, so now you can actually get 780.003 seconds with the Change Tempo effect, even with 'only' three decimal places.

If even greater duration precision is required, you can use the Change Speed effect after (High Quality) Change Tempo, and stretch the sound to exactly 780.0000 seconds.
9/10 questions are answered in the FREQUENTLY ASKED QUESTIONS (FAQ)
steve
Site Admin
 
Posts: 44992
Joined: Sat Dec 01, 2007 11:43 am
Operating System: Linux *buntu

Re: Compiling Audacity

Permanent link to this post Posted by redhat1968 » Thu Dec 08, 2016 2:27 am

Thanks Steve. You were correct about the 2.1.3 version. It worked perfectly. With 2.1.2 the Sliding Time Scale/Pitch effect never seemed to line up correctly. A .001 second adjustment often made little difference, but a 0.002 adjustment might be too much. The new alpha version was much more precise with the outcome more predictable. Thanks again.
redhat1968
 
Posts: 7
Joined: Tue Sep 27, 2016 12:09 am
Operating System: Windows 8 or 8.1

Re: Compiling Audacity

Permanent link to this post Posted by steve » Thu Dec 08, 2016 10:17 am

Just for interest, the relevant changes can be seen here:
Change Tempo: https://github.com/audacity/audacity/commit/8e0089c5522
Change Pitch: https://github.com/audacity/audacity/commit/90e400b0a7
9/10 questions are answered in the FREQUENTLY ASKED QUESTIONS (FAQ)
steve
Site Admin
 
Posts: 44992
Joined: Sat Dec 01, 2007 11:43 am
Operating System: Linux *buntu


Return to Compiling Audacity



Who is online

Users browsing this forum: No registered users and 3 guests