sandreas / tone

tone is a cross platform audio tagger and metadata editor to dump and modify metadata for a wide variety of formats, including mp3, m4b, flac and more. It has no dependencies and can be downloaded as single binary for Windows, macOS, Linux and other common platforms.
https://pilabor.com
Apache License 2.0
428 stars 18 forks source link

Feature Request: Import chapter from CUE Sheet #63

Open Ohrwerk opened 7 months ago

Ohrwerk commented 7 months ago

I recently stumbled across the "chapter function" in MP3 files. Oh how useful, I have always realized this via CUE sheets. It would be a great relief if you could import the chapters from CUE sheets directly. Thank you

sandreas commented 7 months ago

Could you provide an example file and cue sheet? I already implemented a cue loader for m4b-tool but last time I checked the cue format was too limited for chapters... See https://github.com/sandreas/m4b-tool/issues/103#issuecomment-731322965

Ohrwerk commented 7 months ago

The audio file is from the free radio play Rick Future, because of the size I have included a download link in the readme. I created the cue sheet with CUEMaster (freeware), but unfortunately the program saves the files in ANSI format which requires a conversion to UTF-8. The players (that I use) all use UTF-8. The CUE sheet in the attachment has already been saved as UTF-8. Chapter 1 include a small test for Umlauts (Country-specific characters). CUE Sheet Example.zip

Ohrwerk commented 7 months ago

But there is also a small other problem with CUE Sheets. With ComactDisc audio CDs, a track could be divided into several indexes, but I only know this from classical music. Even in the heyday of the audio CD, only expensive CD players supported this function. This will certainly lead to problems when converting and I have not yet tested whether the conversion from CUE to the ffmetadata format can manage this. Tracks with multiple indexes.zip

sandreas commented 7 months ago

I created the cue sheet with CUEMaster (freeware), but unfortunately the program saves the files in ANSI format which requires a conversion to UTF-8.

Thanks for providing these examples. It might take a while, but I'll take a look.

Ohrwerk commented 7 months ago

Yes, no problem. Happy Coding

Zeugma440 commented 3 months ago

@sandreas Don't forget ATL can help you read from CUE sheets 😉

You can always ping me if there's something to improve.

sandreas commented 3 months ago

@sandreas Don't forget ATL can help you read from CUE sheets 😉

Great, I didn't know that. Thank you.

You can always ping me if there's something to improve.

Thanks. I really enjoy working with you and I probably would, but the things that I think of as an improvement would be more like a whole new feature...

I did work on something I call 'improver chain', where I use a composite and a few interfaces to load data from different sources (ffmetadata, mp4chaps, cue and many more). I already published a tone format containing all metadata as a json.

Another feature I worked on is a streamlined way to tag files (merge Track properties and AdditionalFields) to prevent side effects of different metadata formats, but this was too much work for me in my limited time.

I let you know as soon as I can provide something :-)

gitoss commented 1 month ago

I recently stumbled across the "chapter function" in MP3 files. Oh how useful, I have always realized this via CUE sheets.

To be useful, audio/music players (and not just tools like mp4merge) would have to suppport the actual mp3 chapter spec. Everything I've tried works just fine with cue+mp3, but doesn't recognize embedded cue into mp3.

For mp4 and ogg, embedded chapters work just fine - foobar has recently been upgraded for full embedded ogg chapter support btw.

sandreas commented 1 month ago

To be useful, audio/music players (and not just tools like mp4merge) would have to suppport the actual mp3 chapter spec. Everything I've tried works just fine with cue+mp3, but doesn't recognize embedded cue into mp3.

@gitoss

Thanks for pointing this out and being so commited improving tone. What do you mean by cue+mp3 just work fine? For desktop players this may be true, but I did not come across any portable device, that supports this ?!

I, personally still use an iPod Nano 7g.

Pro:

Con:

I worked through a lot of portable hardware and software and NONE could get the headphone remote to work like I would expect it to. I even wrote a PR for audiobookshelf-app but it did not get merged / accepted yet.

Here are the devices that I would think of as a possible replacement for my iPod:

Older devices (like Fiio M6) would be great, but besides being outdated, unfortunately Android 7.0 and lower does not support long-press headphone remote clicks..

I already had an extreme long journey on this - nothing fits. I also thought about rolling my own, but it would require a lot of hard work to do so... My base device would have been this one: https://github.com/yuansco/TinyEmbedded-Dual

gitoss commented 1 month ago

What do you mean by cue+mp3 just work fine? For desktop players this may be true, but I did not come across any portable device, that supports this ?!

I didn't kno portable devices were still a thing :-) ... last time I looked there was no real development there, everything moved to mobile phones. And yes, a pure portable device might last longer, but on the other hand battery packs are very good nowadays.

On Android, I'm using Listen Audiobook Player (my favorite) and Smart Audio Player (very good, too).