jfchapman / CoolEditFileFilters

Cool Edit File Filters
MIT License
0 stars 0 forks source link

Bringing read and write to missing formats: AC3, OGG, AAC (write), ALAC (write), MP3 (Lame) (write), etc. #1

Open Lebon14 opened 2 weeks ago

Lebon14 commented 2 weeks ago

Again, as I just replied to your email, thank you SO much for this wonderful upgrade!

In this upgrade, I've noticed that support for OGG and AC3, which are on your website, were not yet ported over. Which means these filters are still necessary to open these files into CEP/Audition 1.5.

I don't particularly open these often but, the broader the support, the better. Also, if possible to write, I think the OGG encoding settings should be redone. As of right now, it is super confusing.

I suggest the following:

For AAC, there are various AAC encoders and there's a list here. ffmpeg's is already implemented in READ. But I'd love to see QAAC (Apple's) implemented as it's, BY FAR, the best encoder. It does need iTunes to be installed and that's how, say, dbPowerAmp supports to convert to it. There's a file in the iTunes package that's necessary and I don't remember its name.

For its encoder popup, I suggest the following:

For MP3 (Lame), which is, by far, the best MP3 encoder. It should be able to be a copy of CEP/AA except for the ability to make "mp3PRO".

I couldn't find encoding settings for AC3 as dbPowerAmp only supports decoding.

Finally, I'd love to be able to encode 32-bit float recording as 32-bit integer FLAC (32-bit integer is supported since version 1.4.0. I didn't seem to be able to have Foobar2000 encode a 32-bit float to a 32-bit integer without some form of loss of quality. Additioanlly, it'll be great if we could save FLAC files as 16-bit or 8-bit when file is 24-bit (shown as 32-bit in AA) or 8-bit if 16-bit (ie. ability to downsample.

=-=-=-=-=

Finally, I think that, if possible, "Advanced Audio Codec / Apple Lossless (.m4a, .mp4)" should have its own entry in the dropdown menu when opening files.

I do not know how much is possible with the popup encoders and, seeing how limited are the boxes for the various formats, that what I'm asking might not be possible. A workaround might be to have multiple entries in the dropdown in the Save-As dialog and only have its possible values.

=-=-=-=-=-=

Again, thank you so, so much for the work you have put in the last month or so in reviving the usefulness of old but very mature software. I work with AA 1.5 every day!

Bye!

jfchapman commented 2 weeks ago

Hi!

Thanks for all your suggestions.

A general way to configure the filters might be nice, so you could alter the description and file types it supported. For example, if the 'ffmpeg.flt' looked for a 'ffmpeg.ini' file, which could specify the description & file extensions. You could then make a copy of this filter, rename it to 'ffmpeg2.flt' and configure that one differently, etc.

The FFmpeg filter will open pretty much any file (you just have to choose All Files in the file selector). The FFmpeg library supports encoding to all the different formats as well (AC3, OGG, AAC, ALAC, Lame MP3 and many more), so any future write support would be via FFmpeg. It's still a fair bit of work though, as every format would need to be configured differently.

For the FLAC filter, files are written using the current sample format. If you need to save to a different format, it's best to use the application to convert the sample format before saving, as it has more options. Cool Edit only supports 8, 16 and 32-bit sample formats, and it uses floating point internally for 32-bit. As 32-bit floats can only accurately represent integers up to 24-bit resolution, it is not possible to convert between 32-bit float and integer formats without a loss of precision. The FLAC filter writes 32-bit sample formats as 24-bit.

If anyone tells you they can hear a difference between 24-bit and 32-bit files, they are probably trying to sell you something 😃

It's been an interesting little project to rewrite these filters. It has been awhile since I looked at them - long enough that the old code no longer opened in Visual Studio!

Thanks, James

Lebon14 commented 2 weeks ago

A general way to configure the filters might be nice, so you could alter the description and file types it supported. For example, if the 'ffmpeg.flt' looked for a 'ffmpeg.ini' file, which could specify the description & file extensions. You could then make a copy of this filter, rename it to 'ffmpeg2.flt' and configure that one differently, etc.

The FFmpeg filter will open pretty much any file (you just have to choose All Files in the file selector). The FFmpeg library supports encoding to all the different formats as well (AC3, OGG, AAC, ALAC, Lame MP3 and many more), so any future write support would be via FFmpeg. It's still a fair bit of work though, as every format would need to be configured differently.

Very interesting idea! I'd be down for this. A configurable and easy to understand .ini file to generate entries in drop-downs and save menus would be a great way to be super versatile!

And I discovered this morning that I could open .mov files by selecting "show all files" but I didn,t know it would also support OGG, AC3 and etc...

For the FLAC filter, files are written using the current sample format. If you need to save to a different format, it's best to use the application to convert the sample format before saving, as it has more options. Cool Edit only supports 8, 16 and 32-bit sample formats, and it uses floating point internally for 32-bit. As 32-bit floats can only accurately represent integers up to 24-bit resolution, it is not possible to convert between 32-bit float and integer formats without a loss of precision. The FLAC filter writes 32-bit sample formats as 24-bit.

I knew about this for a very long time; I do this every single day at work. Adobe Audition works the same way as the last version of CEP in that regard. WHat I didn't really know if it would be possible to make a 32-bit integer from a 32-bit float. There wouldn't be a loss of precision per se, just empty bits past 24-bit and a loss of space. Like encoding a 16-bit as 24-bit.

If anyone tells you they can hear a difference between 24-bit and 32-bit files, they are probably trying to sell you something

Hahaha. Isn't that right enough. The audiophile tax and tinfoil hat theories.

It's been an interesting little project to rewrite these filters. It has been awhile since I looked at them - long enough that the old code no longer opened in Visual Studio!

Not surprised in the slightest. The code could still be technically opened in text editors but you kind of give up the Quality of Life coming from a dedicated app that checks for errors as you go.


EDIT: Could you edit the description of the project to change

They may also work with very early versions of Adobe Audition.

to

They will also work with Adobe Audition 1.5 (the first version after Adobe bought CEP). Compatibility with Adobe Audition 2 and 3 are untested. CS versions of Audition are not compatible as they changed the whole way plugins worked.

I think I did a good job overall testing various file formats to say that, at least, opening the files work great.