Status of Mezzo dev, Audacity 2.0 Backend

Hello everyone, this is my first post in this forum.

Just quickly I’ve been using Audacity for the past 2-3 years both on Windows and Linux although mostly Windows, doing voice recording. I’m currently doing a Bachelor of IT in Australia majoring in programming. As part of this I wanted to work on building my own version of Audacity to specifically cater for my needs. Mainly just the GUI side of things making a stock standard point and click method of naming and exporting files predominantly.

I came across this Wiki post (wiki.audacityteam.org/wiki/Mezzo) recently, however the download link errors out with a 403 HTTP error. :slight_smile:

So I’m just wondering where Mezzo’s development is up to and where I can get my hands on the current development code as I find this a very interesting project.

Hi Azariah,

That page is rather old, dating back to 2006 with only a few minor updates over the last few years.
Most of the development work for the last few years has been directly on Audacity (the source code for which is available from SVN (http://wiki.audacityteam.org/wiki/Developing_On_Windows#Set_up_for_SVN)
There has also been significant work done on scripting (http://manual.audacityteam.org/index.php?title=Scripting and http://wiki.audacityteam.org/wiki/Scripting_Syntax) though this is still definitely experimental.

Audacity 2.x is not based on Mezzo.

I’m not sure why the Mezzo link is coming up as forbidden, I’ll ask about that.

Hi Steve thanks for the reply

The wiki indicates that it was edited in 2010 and 2012 why it wasn’t classed as inactive or superseded in those edits is odd hence why I’m inquiring on it’s status. The movement of Audacity back-end operations to Python would get the Open-Source community super exited for obvious reasons. I’ve got an Indie games developer here who’s super excited about the possibilities Mezzo offers, even in an alpha state Mezzo has huge advantages over the current version of Audacity.

I’m also well aware Audacity 2.X isn’t based on Mezzo, it’s still written in a C based language which is the main reason I’m inquiring because I don’t exactly have a lot of experience in C languages the only one I know is C#. :stuck_out_tongue: Having a Python library I can access from multiple GUI languages would change the game entirely especially with regards to making a Windows 8 UI for Audacity. :wink:

The Audacity documentation is not written by the developers but by other volunteers that make up the documentation and support team. As you are probably aware there is a tendency for developers to be hopeless at producing end user documentation :wink: The recent edits to that page in the wiki were just grammatical and formatting changes with no change to the actual content.

Thanks to your question I’ve now got an update from the developers (the documentation will be updated accordingly). Here is a summary:

Mezzo has not been worked on “in a while” (2006), is only minimally implemented (probably around 30%) vs replacing Audacity’s audio buffering/processing and none of the disk-based buffering has yet been implemented. A lot of work would be required to do anything practical with Mezzo.It is not currently being developed and there are not the resources or intention to work on it further any time soon. The most recent source code for Mezzo is available in SVN http://code.google.com/p/audacity/source/browse/ There is no intention of removing the source code (it may come in useful in the future) but it will be removed from the Audacity documentation as it is no longer active.

Sorry for the disappointment but I hope this answers your question.

Oh well, I tried. :slight_smile: Guess I’m stuck with the outdated VS2008 solution and the C code. :frowning: Oh well that’s why I’m at UNI :slight_smile: Hopefully I’ll be able to come up with my own solution to the problem cause I really don’t want to use wxWidgets but it appears I’m stuck with that choice of GUI for now. :neutral_face: oh well.

I’d advise keeping an eye out for a version of Audacity built by Australian programmers sometime in the next year or so. At this stage (and granted I don’t know the lead programmers personal situations) it appears Audacity’s main developers have no short term plans to bring audacity into the 2nd decade of the 21st century. Between Windows 7&8, Ubuntu 11.04/11.10/12.04LTS, KDE, and Gnome there have been some radical changes to GUI’s and Audacity still looks and operates like it hails from the Windows 98 era. :neutral_face:

If all goes well hopefully I’ll be able to breath some life into this great project. I still use it myself but the common computer user doesn’t cope well with operating it. Hence my desire to improve the GUI so I don’t have to guide my assistants through using it when I’m not present to operate everything.

In the mean time long live Audacity.

Audacity can be built with VS2010 (though the core developers have no intention of moving to MSVC 2010, due (a) to the ‘This is for evaluation purposes only’ MSVC 2010 Express splash screen and (b) bugs in MSVC 2010 Express that are not present in MSVC 2008 Express).

See here for a topic about building on VS2010: Success compiling Audacity with VS2010
See here for documentation about building/developing on Windows: Missing features - Audacity Support

Will do. Better still, stay in touch and let us know on the forum how you get on. This forum board would be as good as anywhere for such posts: General Audio Programming - Audacity Forum but if you have anything that you think would benefit the main Audacity distribution then this forum board may be better: Adding Features - Audacity Forum

Much of the “look” are due to WxWidgets, which in spite of its faults provides good cross-platform support (and is a lot less clunky than it used to be). Personally I quite like the way that it looks on Debian, though I’d not object at all to a more modern “skin” as long as that could be done without detracting from functionality.

well there’s a few million Audacity users that don’t agree with you. In fact we often receive feedback that Audacity is a lot easier to use than other multitrack editing software (even if they do look prettier).

Please feel free to make suggestions for how to improve the GUI. If you can include patches/source code along with your suggestion, all the better.

You may also be interested in this: Request: Skin - #7 by fractalorangejuice
“Theme” support has been temporarily dropped from Audacity as it was a bit buggy and underdeveloped, but it would be nice to see it come back - perhaps with your help?

Hi Steve

Don’t get me wrong here, Audacity is a great piece of software and I’ll definitely be contributing what I can into the main project but… :slight_smile: There are a few small things that bug me. Not being able to save to .mp3, .wma, .wav, etc. from the save menu is a big one, having to go to the export file option stumped everyone else who uses our recording system here when I first made the switch to Audacity. (recording wasn’t hard to do at all it was just the export) Also not being able to do multi-channel recording that’s the only really big things that bug me, currently. :slight_smile:

Yeah WxWidgets doesn’t look tooooo bad in Debian it is a little sleeker than the Windows experience I’ll give you that. And it does offer things like the real-time input/output level meters and the graphic waveform for the project tracks but beyond that. Hmmmm it just feels a little tacky to me and moving the tool-bars around to customize your environment isn’t particularly intuitive. You never know though, with a little extra tweaking we may be able to find a good compromise. And if we can get the theme support back up and running without bricking the software like what happens to VLC when I’ve themed it. :slight_smile: Then we’ll be able fix some of the other issues with regards to the somewhat dated colour scheme relatively easily while still giving people the choice to opt. out if they don’t like the new scheme. :slight_smile:

Anyway I’m thinking while standing on my head here. :slight_smile:

With regards to VS I’m a MSDN Academic Alliance subscriber (thanks to my UNI) so I’m probably better placed than some to update the code to VS 2010 and 2012 if we ever decide to move to a Win8UI (formerly Metro) interface for Audacity, but that will be a little further down the track and will offer some new challenges with regards to the WinRT side of things. :slight_smile:

I’ve heard it stated previously that Arm processors don’t have the processing power or perhaps the battery life to cope with Audacity’s “Raw” audio manipulation but perhaps a tablet over say a phone will have that capacity. We shall have to wait and see.

Have a great day, Azariah

Do you mean directly from the File Menu? If so, what do you suggest - we cannot have 14 separate File menu export items for each format. Perhaps we need a way to make shortcuts for exports to particular formats?

I’ve been discussing this with one of the developers recently. I think we could do some redesign here - fairly easily by moving (and possibly renaming) the “Options…” button to be underneath the drop-down lists, or (more difficult) building the format options into the menu items or the body of the dialogue. Is this what you have in mind? In Audacity 1.2 the format options were in Preferences but few people want to go back to that, I think.

Audacity supports multi-channel recording - with some known limitations - but the support is device- and driver-dependent. Are you building Audacity with ASIO support? That would make a big difference on Windows. See Missing features - Audacity Support .


Gale

Gotta love proprietary drivers. :stuck_out_tongue: Right… So I’m going to have to start compiling Audacity for every computer I use just to get multi-channel recording. Great! :unamused: I’m beginning to think an installer that actually compiles the program each time it’s installed, specifically for each machine, wouldn’t be such a bad idea.

I’m still not getting it though. The wiki you linked to http://wiki.audacityteam.org/wiki/Multichannel_Recording mentions multi-channel capable devices. Why can’t you take input from different devices simultaneously, say for instance from a Sound-Card and your MotherBoard (yes I know motherboard sound is pretty nasty but as an example) It’s not like Windows can’t hot-swap between outputs and inputs these days. Is there any reason you couldn’t do it? Besides the issues Windows has with “mixing” 2 audio inputs at a software level. Just a thought.

I’ve often wished for the ability to receive to sound inputs (at a software level) and then send them separately to two different outputs. So that I could have a movie playing on one connected display (TV) with sound going to it (probably over HDMI) and then my game on the other screen with audio from it going to headphones. :stuck_out_tongue: But alas I’ve yet to meet an “entry level” $100-$300 graphics card that could handle Video and 3D graphics at the same time. (for the life of me I can’t figure out why especially with some GPU’s offering 6 outputs. :stuck_out_tongue:

But I digress.

File save dialog box. You know what I had completely forgotten about the file properties dialog box. I remember it from when I first tried Audacity about 2 years or so back (my timeline is sketchy) at the time I decided that it was way to difficult to operate for our setup so we stuck with what we had. Then around a year to year and half ago we lost that software we had through a complete BIOS meltdown. :slight_smile: By which time the properties dialog box had vanished and I’ve never had a wish to change the default settings on my MP3 exports so I’ve never really thought about it again.

Ah I found it again. :slight_smile: Maybe we can use the export dialog box as it stands just disable the options button when the .aup project file option is selected and the addition of either an option in settings or a check box that allows you to select the default file format by ticking “Use this format as default.” next to the Options button in the file menu or if you use the settings option (or both) maybe a way to set more than one default from the program settings for those that want to save a copy of the .aup Project as well as .wav or other common format for distribution.

Sorry about taking so long to respond I’ve had assignments to do. :slight_smile:

If all the computers are Windows 2000 and later, compile Audacity once with ASIO support then copy the built executable with the correct widgets and msvc* dll’s to the other computers.

Once you have the ASIO SDK and have set the ASIOSDK_DIR environment variable, it is no more effort to rebuild Audacity with ASIO support than not.

According to this old PortAudio thread:
http://music.columbia.edu/pipermail/portaudio/2004-March/003313.html

PortAudio suported device aggregation under MME a long time ago, but Audacity has never shown any inclination to support this. It’s probably a case of insufficient demand compared to the work involved.

There may be some use in a “default” export format (or multiple export defaults if user really wants to export each format every time) .

However, export (audio files) and save (Audacity projects) are currently treated as two different things (even though most people think exporting is a “save” just like any save of a file). The argument that export is different to saving audio files is based on the idea that Audacity does not open any audio files, rather imports them into “projects” then “renders” (exports) from the project whatever can be rendered according to the capabilities of the audio format.

This page may interest you:
http://wiki.audacityteam.org/wiki/Proposal_Menu_Reorganisation#Details .



Gale

There are a number of technical problems that make it very difficult to support multiple simultaneous recording devices on Windows with MME or Direct sound. The main problem is driver support. Most consumer grade sound cards just do not support being aggregated due to limitations of their MME / Direct Sound drivers. The old Creative k1000 and later k2000 drivers support aggregation and proper channel mapping, but only with third party drivers (See KxProject) but even then the sound cards will gradually drift out of sync unless a hardware modification is made to give the cards a common clock signal (see here for an example: Hotrodding the X-Fi: A Layman's Guide (No 56k) | Headphone Reviews and Discussion - Head-Fi.org). Such steps are obviously beyond what most Audacity users will want to do.

I know very little about the new WASAPI API, but I get the impression that it offers functionality approaching that of ASIO, so when Audacity supports WASAPI then it may become a practical proposition to develop multiple card recording. Unfortunately, WASAPI is unlikely to be the answer to all sound card issues as buffering problems (and so “stuttering”) are a known issue http://wiki.jriver.com/index.php/WASAPI

What happens with “daisychaining” the same hardware device together? I think this is not uncommon on high end external devices for example Firewire (more common on Mac than Windows) and for example the Zoom R16. I take it the DAW sees one audio device comprising the channels from both hardware devices (when it works)?

You can also aggregate to one device in software routing (with the usual clock synchronisation problems):
Audacity Manual .


Gale