View Issue Details

IDProjectCategoryView StatusLast Update
0007350ardourfeaturespublic2017-05-24 15:43
Reporterriban Assigned To 
PrioritynormalSeverityfeatureReproducibilityN/A
Status closedResolutionwon't fix 
Product Version5.8 
Summary0007350: Add mp3 support
DescriptionNow that the patent has expired for mp3 encoding in the USA, there should not be a legal barrier to adding mp3 export support to Ardour.
Additional InformationTo be able to share audio widely, mp3 remains a good choice of audio encoding. Current workflow involves exporting a session to Flac then opening in another tool, e.g. Audacity, then exporting to mp3. It would be advantageous to export directly to mp3.

I believe the USA is the last country to hold patents for mp3 technology and that expired recently hence the request now to consider adding mp3 export to the roadmap.
TagsNo tags attached.

Activities

x42

2017-05-11 17:32

administrator   ~0019674

Ardour is not concerned with file i/o file formats nor codecs. Ardour uses libsndfile: https://github.com/erikd/libsndfile/issues/258

It's still questionable if it's a good idea for a DAW. Import: maybe; native support for recording/playback: pretty much a no-go for massive multi-track and sample-accurate seeking. Export: maybe one or two presets (already possible with a post-export hook).

riban

2017-05-22 06:41

reporter   ~0019727

I am not requesting Ardour use MP3 for its sound files. I am requesting an extra export option. @X42 says libsndfile provides Ardour i/o - does that mean that export formats are constrained by what libsndfile supports? Are there other factors?

Headwar

2017-05-22 10:26

reporter   ~0019728

@x42, an exemple of use-case where mp3 input can be useful is when you're using mp3 as a format for a "guideline" track that won't make it to the final mix but is used through creation, eg. for a cover or a movie audio track or as a timing reference etc... So if libsndfile allows it one day, integrating it into Ardour would make sense.

@riban, as x42 said, putting "lame -b256 %f" in the "Command to run post export" of an export format profile (http://manual.ardour.org/exporting/edit-export-format-profile/) will auto-generate a 256b/s mp3 in the same folder as the direct export.

x42

2017-05-22 12:03

administrator   ~0019729

"does that mean that export formats are constrained by what libsndfile supports?"

Yes. At least for everything built-in.

We don't add support for each and every codec/format directly to Ardour.
It's nice to have a library for that: a confined project, which is also not limited to Ardour. Ardour-devs do contribute upstream at libsndfile once every now and then.


If you use external apps like ffmpeg or lame as post-export hook or import, it's up to whatever app you use. (e.g. Session > Open Video > Extract soundtrack only can load .mp3 if you have ffmpeg around; you're on your own with respect to ffmpeg licensing; likewise for the "post export" command).



"Are there other factors?"

maybe: https://github.com/erikd/libsndfile/issues/258#issuecomment-302438668

and yes: Ardour developer man*hours.

For import: If libsndfile supports mp3, no change in Ardour is needed to load them (well, maybe a one-line change to add ".mp3" to the valid extension list vs "List All Files").

Export is a bit harder. If you look at the `lame` manual alone, there are an amazing number of options for encoding. It depends how many of them are exposed via libsndfile's to-be API (replaygain, bit-rate, constant vs variable bitrate, stereo-modes, meta-data etc). Integrating that will require work on the Ardour side.

riban

2017-05-24 15:42

reporter   ~0019735

Understood that file format / codec is handled by libsndfile which currently does not support mp3 (but may soon) and that export may required consideration of encoding settings. I also appreciate the pointer to use post export command to encode using lame (which works well - even on Windows with lame installed). I will close this issue. Cheers

riban

2017-05-24 15:43

reporter   ~0019736

libsndfile does not support mp3 but work-around exists via post-export command.

Issue History

Date Modified Username Field Change
2017-05-11 17:22 riban New Issue
2017-05-11 17:32 x42 Note Added: 0019674
2017-05-22 06:41 riban Note Added: 0019727
2017-05-22 10:26 Headwar Note Added: 0019728
2017-05-22 12:03 x42 Note Added: 0019729
2017-05-24 15:42 riban Note Added: 0019735
2017-05-24 15:43 riban Note Added: 0019736
2017-05-24 15:43 riban Status new => closed
2017-05-24 15:43 riban Resolution open => won't fix