MP3 Encoding only uses one CPU core?

This section is now closed.
Forum rules
Audacity 1.2.x is now obsolete. Please use the current Audacity 2.1.x version.

The final version of Audacity for Windows 98/ME is the legacy 2.0.0 version.
Locked
yupper3d
Posts: 2
Joined: Fri Aug 17, 2007 3:08 pm
Operating System: Please select

MP3 Encoding only uses one CPU core?

Post by yupper3d » Fri Aug 17, 2007 3:11 pm

Hi All,

I've noticed that Audacity only uses one CPU core in multi-core machines. Is that just because it's not designed to multi-thread? If so, are there any plans for Audacity to use multiple cores? (Dual, Quad, Octo)?

Thanks!

alatham
Posts: 1591
Joined: Tue Jul 31, 2007 2:27 pm
Operating System: Windows 10

Re: MP3 Encoding only uses one CPU core?

Post by alatham » Fri Aug 17, 2007 6:56 pm

Someone correct me if I'm wrong, but exporting compressed audio wouldn't benefit from using multiple processors. I don't think that's a process you can split up in any meaningful way.

You can, however, split up the processing when you apply plugins to multiple tracks. It would be nice if Audacity did that, as that's a good example of something that can benefit from parallel processing. Of course you're still limited to how much data you can write to the hard-drive, so there might not be much benefit to complicating the coding.

yupper3d
Posts: 2
Joined: Fri Aug 17, 2007 3:08 pm
Operating System: Please select

Re: MP3 Encoding only uses one CPU core?

Post by yupper3d » Fri Aug 17, 2007 7:00 pm

Seems like encoding/compressing audio is more of a CPU intensive task than a I/O intensive task. I would love to see the CPU used as much as possible. Thanks for your reply though, those are interesting points you make.

rofthorax
Posts: 2
Joined: Wed Dec 03, 2008 5:45 pm
Operating System: Please select

Re: MP3 Encoding only uses one CPU core?

Post by rofthorax » Wed Dec 03, 2008 5:54 pm

Hogwash..

MP3's are series of "frames" in fact if you look at the format it is a splittable set of frames.. All you would need to do is determine the frame length and break the computing up into pieces.. Parallelism can happen at two levels, splitting up time onto each core, and splitting up the non-dependent operations up into threads of independent computing processes.. Any Pentium processor benefits from threaded operation, but multi-core processors are easier as you only have to split up the resources and assign one half or quarter or eighth (...) to each processor.

I'm serriously suprised, given that Audacity supports lisp for a processing language, for custom processing, why it doesn't support multi-threaded or multi-core processing, as it would be as easy as splitting resources, previous to the application of an operation to support. No it should not be something that is supported in the nyquist language or in the plugins that audacity supports, but something audacity does before applying the plugins.. And it should be a choice of the users whether or not to use it, regardless of whether it is "correct" in the eyes of the developers.

PS- Also the audio processing in Audacity could benefit from extra processing power of sound boards like the X-fi's for fast matrix operations on sound processing. It would only be a matter of translating lisp (a very simple, low level recursive language) operations into operations that a sound board with extra processing power could perform.

steve
Site Admin
Posts: 81627
Joined: Sat Dec 01, 2007 11:43 am
Operating System: Linux *buntu

Re: MP3 Encoding only uses one CPU core?

Post by steve » Fri Dec 05, 2008 4:22 pm

rofthorax wrote:it would be as easy as splitting resources
See here: http://audacityteam.org/wiki/index.php? ... _Needs_You
9/10 questions are answered in the FREQUENTLY ASKED QUESTIONS (FAQ)

rofthorax
Posts: 2
Joined: Wed Dec 03, 2008 5:45 pm
Operating System: Please select

Re: MP3 Encoding only uses one CPU core?

Post by rofthorax » Mon Aug 10, 2009 2:16 am

stevethefiddle wrote:
rofthorax wrote:it would be as easy as splitting resources
See here: http://audacityteam.org/wiki/index.php? ... _Needs_You
Yowsa, I'm such a know it all.. I was coming through here, just searching through and saw this paragraph about a guy with the answer, then I noticed it was me.. This has happened to me more than once when searching for information.. Then I cringe, do I really know what I'm talking about here?

Well it would only work for atomic operations like invert, reverse, amplify, and such.. Don't know about reverb effects.. I think if the effects could be chained together, it might be possible to determine which effects can be split up and which can't. Then it would be up to the user to determine what order of operations would both be suitable for the effect they desire and would permit them to expedite the operation by taking advantage threaded operations.

This is sound more and more like a modular setup, like spiralsynth or jack, but for sound rendering, not for realtime operation.
Sometimes it's best to permit the user to make the decisions than to try to automate the process.

kozikowski
Forum Staff
Posts: 69374
Joined: Thu Aug 02, 2007 5:57 pm
Operating System: macOS 10.13 High Sierra

Re: MP3 Encoding only uses one CPU core?

Post by kozikowski » Mon Aug 10, 2009 2:31 am

<<<Sometimes it's best to permit the user to make the decisions than to try to automate the process.>>>

Actually, that's practically never true. See: Mac OS-X.

You're standing waaaaay too close to the problem. Take about fourteen steps backward and gaze on the multiple versions of Audacity being supported on multiple versions of each of three major operating systems and platforms. Correct me, but supporting multi-processor would make supporting Audacity even more of a nightmare than it is now.

Quick, how do you tell mom to test if multi-processor support is causing her mandolin rehearsal to crash?

Also See: Audacity Needs You.

Koz

Locked