🐛 CDText does not work as tagging source
Is there an existing issue for this?
- [x] I have searched the existing issues
I have checked the wiki
- [x] I have searched the wiki for this problem
Does this issue exist in the latest version?
- [x] I'm using the latest release
Describe the bug?
When setting CDDBMETHOD=musicbrainz,cdtext, cdtext is never used, even when present on the disk.
To Reproduce
Get a CD without a musicbrainz match, but with CDTEXT. (tested with Bethea - In His Hands)
Set CDDBMETHOD=musicbrainz,cdtext
Rip CD
What OS are you seeing the problem on?
Other (please state in Anything else? section)
ARM Release Version or Git hash (You can find this in the arm settings page)
v2.10.3
Expected behavior?
One would expect abcde to first check musicbrainz, then, if the disk is not identified, fall back to cdtext to name the tracks/album
Relevant log output
[01-17-2025 03:04:10] INFO ARM: ARM version: 2.10.3
[01-17-2025 03:04:10] INFO ARM: Python version: 3.10.12 (main, Nov 6 2024, 20:22:13) [GCC 11.4.0]
[01-17-2025 03:04:10] INFO ARM: User is: arm
[01-17-2025 03:04:10] INFO ARM: Alembic head is: 6870a5546912
[01-17-2025 03:04:10] INFO ARM: Database version is: 6870a5546912
[01-17-2025 03:04:10] INFO ARM: ************* Starting ARM processing at 2025-01-17 03:04:10.235992 *************
[01-17-2025 03:04:11] INFO ARM: loglife is set to 0. Removal of logs is disabled
[01-17-2025 03:04:11] INFO ARM: Job: not identified
[01-17-2025 03:04:11] INFO ARM: Job #17 with PID 78809 is currently running.
[01-17-2025 03:04:11] INFO ARM: Job #19 with PID 82628 is currently running.
[01-17-2025 03:04:11] INFO ARM: Job #20 with PID 85302 is currently running.
[01-17-2025 03:04:11] INFO ARM: Starting Disc identification
[01-17-2025 03:04:11] INFO ARM: Mounting disc to: /mnt/dev/sr1
[01-17-2025 03:04:14] ERROR ARM: Mounting failed! Rip might have problems
[01-17-2025 03:04:14] INFO ARM: Waiting 60 seconds for manual override.
[01-17-2025 03:05:14] INFO ARM: ******************* Logging ARM variables *******************
[01-17-2025 03:05:14] INFO ARM: devpath: /dev/sr1
[01-17-2025 03:05:14] INFO ARM: mountpoint: /mnt/dev/sr1
[01-17-2025 03:05:14] INFO ARM: title: not identified
[01-17-2025 03:05:14] INFO ARM: year: None
[01-17-2025 03:05:14] INFO ARM: video_type: unknown
[01-17-2025 03:05:14] INFO ARM: hasnicetitle: False
[01-17-2025 03:05:14] INFO ARM: label: not identified
[01-17-2025 03:05:14] INFO ARM: disctype: music
[01-17-2025 03:05:14] INFO ARM: manual_start: False
[01-17-2025 03:05:14] INFO ARM: ******************* End of ARM variables *******************
[01-17-2025 03:05:14] INFO ARM: ******************* Logging config parameters *******************
[01-17-2025 03:05:14] INFO ARM: skip_transcode: False
[01-17-2025 03:05:14] INFO ARM: mainfeature: False
[01-17-2025 03:05:14] INFO ARM: minlength: 600
[01-17-2025 03:05:14] INFO ARM: maxlength: 99999
[01-17-2025 03:05:14] INFO ARM: videotype: auto
[01-17-2025 03:05:14] INFO ARM: manual_wait: True
[01-17-2025 03:05:14] INFO ARM: manual_wait_time: 60
[01-17-2025 03:05:14] INFO ARM: ripmethod: mkv
[01-17-2025 03:05:14] INFO ARM: mkv_args:
[01-17-2025 03:05:14] INFO ARM: delrawfiles: False
[01-17-2025 03:05:14] INFO ARM: hb_preset_dvd: HQ 720p30 Surround
[01-17-2025 03:05:14] INFO ARM: hb_preset_bd: HQ 1080p30 Surround
[01-17-2025 03:05:14] INFO ARM: hb_args_dvd: --subtitle scan -F
[01-17-2025 03:05:14] INFO ARM: hb_args_bd: --subtitle scan -F --subtitle-burned --audio-lang-list eng --all-audio
[01-17-2025 03:05:14] INFO ARM: raw_path: /rips/media/raw/
[01-17-2025 03:05:14] INFO ARM: transcode_path: /rips/media/transcode/
[01-17-2025 03:05:14] INFO ARM: completed_path: /rips/media/completed/
[01-17-2025 03:05:14] INFO ARM: extras_sub: extras
[01-17-2025 03:05:14] INFO ARM: emby_refresh: False
[01-17-2025 03:05:14] INFO ARM: emby_server:
[01-17-2025 03:05:14] INFO ARM: emby_port: 8096
[01-17-2025 03:05:14] INFO ARM: notify_rip: True
[01-17-2025 03:05:14] INFO ARM: notify_transcode: True
[01-17-2025 03:05:14] INFO ARM: max_concurrent_transcodes: 0
[01-17-2025 03:05:14] INFO ARM: ******************* End of config parameters *******************
[01-17-2025 03:05:14] INFO ARM: Checking for fstab entry.
[01-17-2025 03:05:14] INFO ARM: fstab entry is: /dev/sr1 /mnt/dev/sr1 udf,iso9660 users,noauto,exec,utf8,ro 0 0
[01-17-2025 03:05:15] ERROR ARM: Cant reach MB or cd not found ? - ERROR: caused by: HTTP Error 404: Not Found
[01-17-2025 03:05:15] INFO ARM: Disc identified as music
Grabbing entire CD - tracks: 01 02 03 04 05 06 07 08 09 10 11
MusicBrainz lookup returned an error "Not Found"
No lookup matches.
---- Unknown Artist / Unknown Album ----
1: Track 1
2: Track 2
3: Track 3
4: Track 4
5: Track 5
6: Track 6
7: Track 7
8: Track 8
9: Track 9
10: Track 10
11: Track 11
Selected: #0 (Unknown Artist / Unknown Album)
Edit selected CDDB data [y/N]?
Is the CD multi-artist [y/N]? n
- Artist : unknown artist
- Album : unknown album_9109bf0b
- Language : en
- Type : cover
---- Triggering: musictree local coverartarchive
---- Triggering: lastfm jamendo musicbrainz
---- Triggering: slothradio lyricswiki discogs
---- Triggering: rhapsody picsearch google
[WARNING] could not get cover
Grabbing track 01: Track 1...
cdparanoia III release 10.2 (September 11, 2008)
Ripping from sector 0 (track 1 [0:00.00])
to sector 18137 (track 1 [4:01.62])
outputting to /home/arm/abcde.9109bf0b/track01.wav
Done.
Grabbing track 02: Track 2...
cdparanoia III release 10.2 (September 11, 2008)
Encoding track 01 of 11: Track 1...
Ripping from sector 18138 (track 2 [0:00.00])
to sector 36220 (track 2 [4:01.07])
outputting to /home/arm/abcde.9109bf0b/track02.wav
Encoding track 01 of 11: Track 1...
Tagging track 01 of 11: Track 1...
Done.
Grabbing track 03: Track 3...
cdparanoia III release 10.2 (September 11, 2008)
Encoding track 02 of 11: Track 2...
Ripping from sector 36221 (track 3 [0:00.00])
to sector 48731 (track 3 [2:46.60])
outputting to /home/arm/abcde.9109bf0b/track03.wav
Encoding track 02 of 11: Track 2...
Tagging track 02 of 11: Track 2...
Done.
Grabbing track 04: Track 4...
cdparanoia III release 10.2 (September 11, 2008)
Encoding track 03 of 11: Track 3...
Ripping from sector 48732 (track 4 [0:00.00])
to sector 66612 (track 4 [3:58.30])
outputting to /home/arm/abcde.9109bf0b/track04.wav
Encoding track 03 of 11: Track 3...
Tagging track 03 of 11: Track 3...
Done.
Grabbing track 05: Track 5...
cdparanoia III release 10.2 (September 11, 2008)
Encoding track 04 of 11: Track 4...
Ripping from sector 66613 (track 5 [0:00.00])
to sector 86800 (track 5 [4:29.12])
outputting to /home/arm/abcde.9109bf0b/track05.wav
Encoding track 04 of 11: Track 4...
Tagging track 04 of 11: Track 4...
Done.
Grabbing track 06: Track 6...
cdparanoia III release 10.2 (September 11, 2008)
Encoding track 05 of 11: Track 5...
Ripping from sector 86801 (track 6 [0:00.00])
to sector 106933 (track 6 [4:28.32])
outputting to /home/arm/abcde.9109bf0b/track06.wav
Encoding track 05 of 11: Track 5...
Tagging track 05 of 11: Track 5...
Done.
Grabbing track 07: Track 7...
cdparanoia III release 10.2 (September 11, 2008)
Encoding track 06 of 11: Track 6...
Ripping from sector 106934 (track 7 [0:00.00])
to sector 120673 (track 7 [3:03.14])
outputting to /home/arm/abcde.9109bf0b/track07.wav
Encoding track 06 of 11: Track 6...
Tagging track 06 of 11: Track 6...
Done.
Grabbing track 08: Track 8...
cdparanoia III release 10.2 (September 11, 2008)
Encoding track 07 of 11: Track 7...
Ripping from sector 120674 (track 8 [0:00.00])
to sector 138481 (track 8 [3:57.32])
outputting to /home/arm/abcde.9109bf0b/track08.wav
Encoding track 07 of 11: Track 7...
Tagging track 07 of 11: Track 7...
Done.
Grabbing track 09: Track 9...
cdparanoia III release 10.2 (September 11, 2008)
Encoding track 08 of 11: Track 8...
Ripping from sector 138482 (track 9 [0:00.00])
to sector 158836 (track 9 [4:31.29])
outputting to /home/arm/abcde.9109bf0b/track09.wav
Encoding track 08 of 11: Track 8...
Tagging track 08 of 11: Track 8...
Done.
Grabbing track 10: Track 10...
cdparanoia III release 10.2 (September 11, 2008)
Encoding track 09 of 11: Track 9...
Ripping from sector 158837 (track 10 [0:00.00])
to sector 175972 (track 10 [3:48.35])
outputting to /home/arm/abcde.9109bf0b/track10.wav
Encoding track 09 of 11: Track 9...
Tagging track 09 of 11: Track 9...
Done.
Grabbing track 11: Track 11...
cdparanoia III release 10.2 (September 11, 2008)
Encoding track 10 of 11: Track 10...
Ripping from sector 175973 (track 11 [0:00.00])
to sector 187126 (track 11 [2:28.53])
outputting to /home/arm/abcde.9109bf0b/track11.wav
Encoding track 10 of 11: Track 10...
Tagging track 10 of 11: Track 10...
Done.
Encoding track 11 of 11: Track 11...
Encoding track 11 of 11: Track 11...
Tagging track 11 of 11: Track 11...
Finished.
[01-17-2025 03:11:24] INFO ARM: abcde call successful
[01-17-2025 03:11:24] INFO ARM: EMBY_REFRESH config parameter is false. Skipping emby scan.
Anything else?
OS: NixOS (ARM running as a docker container)
In the ABCDE config, there is the following:
# CD reader program to use - currently recognized options are 'cdparanoia',
# 'libcdio' (cd-paranoia),'icedax', 'cdda2wav', 'dagrab', 'pird',
# 'cddafs' (Mac OS X only) and 'flac'.
#CDROMREADERSYNTAX=cdparanoia
libcdio is what I used to verify that the disc did indeed have CDText, by running cd-info -C /dev/srX. I'm guessing it's possible that I need to install libcdio and set the CDROMREADERSYNTAX to libcdio, since it looks like it might use libcdio for cdtext and cd-paranoia for the actual ripping? I'm not entirely sure, but I might give that a shot.
Code of Conduct
- [x] I agree to follow this project's Code of Conduct
That sounds like an issue with abcde, not ARM. If the ripper doesn't do it, there's not much ARM can do about it.
Does abcde do it correctly when run on bare metal instead of in the container?
I haven't tested abcde bare metal, no. I'll try that and/or the libcdio idea and report back.
Does cdtext require any manual input? Not having used it, if it does that would cause issues as ARM sets .abcde and then just waits for it to finish
I also have not been able to get cdtext working (no sign of anything cdtext-related in the log files). For that matter, I also can't get cddb working... only musicbrainz-related activity appears in the logs. I have a growing pile of discs that were not recognized by musicbrainz, so I'm working on my config now for a second pass. Hopefully I will have some time to contribute some troubleshooting to this issue soon.
As an intital test, I installed abcde on Ubuntu 22.04.5 LTS and ripped a CD using the ARM's abcde.conf with no modifications.
When ripped by abcde alone, I get "CD-Text: not detected" for each track at the command line, and the temporary folder for this disc contains a "data-cdtext" subfolder. As expected, the "cd-text" file indicates that no cdtext was present on the disc but regardless it's clear that the feature is working in abcde.
With some tweaking, I have cddb working (using gnudb.org) but still no sign of cdtext via ARM with the following in abcde.conf :
CDDBMETHOD=cdtext,musicbrainz,cddb
CDDBURL="http://gnudb.gnudb.org/~cddb/cddb.cgi"
HELLOINFO="youruser@yourdomain"
ACTIONS=cddb,musicbrainz,cue,read,encode,tag,move,clean,playlist,getalbumart,embedalbumart
I notice that musicbrainz doesn't appear in the abcde docs for ACTIONS but it is in ARM's default abcde.conf:
https://github.com/automatic-ripping-machine/automatic-ripping-machine/blob/de2d8d404c0b07871d977d4ef4d16e72d318a624/setup/.abcde.conf#L379
There is no documented 'cdtext' action, either... alas adding it to ACTIONS doesn't seem to help. I guess that would be too easy.
The .conf gives the impression that configuring CDDBMETHOD with more than one method would run each of them via the 'cddb' action (hence no need for 'musicbrainz' either). Removing 'musicbrainz' doesn't seem to cause any problems for me so maybe it's superfluous.
I will likely need a disc with known-good cd-text to make additional progress.
Possibly related: can anyone tell me what causes all these "uncaught attribute type-id"s to be logged?
[08-28-2025 15:05:36] INFO ARM: Checking for fstab entry.
[08-28-2025 15:05:36] INFO ARM: fstab entry is: /dev/sr0 /mnt/dev/sr0 udf,iso9660 users,noauto,exec,utf8,ro 0 0
[08-28-2025 15:05:36] INFO ARM: in <ws2:artist>, uncaught attribute type-id
[08-28-2025 15:05:36] INFO ARM: in <ws2:artist>, uncaught attribute type-id
[08-28-2025 15:05:36] INFO ARM: in <ws2:recording>, uncaught <first-release-date>
[08-28-2025 15:05:36] INFO ARM: in <ws2:artist>, uncaught attribute type-id
[08-28-2025 15:05:36] INFO ARM: in <ws2:recording>, uncaught <first-release-date>
[08-28-2025 15:05:36] INFO ARM: in <ws2:artist>, uncaught attribute type-id
[08-28-2025 15:05:36] INFO ARM: in <ws2:recording>, uncaught <first-release-date>
[08-28-2025 15:05:36] INFO ARM: in <ws2:artist>, uncaught attribute type-id
[08-28-2025 15:05:36] INFO ARM: in <ws2:artist>, uncaught attribute type-id
[08-28-2025 15:05:36] INFO ARM: in <ws2:artist>, uncaught attribute type-id
[08-28-2025 15:05:36] INFO ARM: in <ws2:artist>, uncaught attribute type-id
[08-28-2025 15:05:36] INFO ARM: in <ws2:recording>, uncaught <first-release-date>
[08-28-2025 15:05:36] INFO ARM: in <ws2:artist>, uncaught attribute type-id
[08-28-2025 15:05:36] INFO ARM: in <ws2:recording>, uncaught <first-release-date>
[08-28-2025 15:05:36] INFO ARM: in <ws2:artist>, uncaught attribute type-id
[08-28-2025 15:05:36] INFO ARM: in <ws2:recording>, uncaught <first-release-date>
[08-28-2025 15:05:36] INFO ARM: in <ws2:artist>, uncaught attribute type-id
[08-28-2025 15:05:36] INFO ARM: in <ws2:recording>, uncaught <first-release-date>
[08-28-2025 15:05:36] INFO ARM: in <ws2:artist>, uncaught attribute type-id
[08-28-2025 15:05:36] INFO ARM: in <ws2:recording>, uncaught <first-release-date>
[08-28-2025 15:05:36] INFO ARM: in <ws2:artist>, uncaught attribute type-id
[08-28-2025 15:05:36] INFO ARM: in <ws2:recording>, uncaught <first-release-date>
[08-28-2025 15:05:36] INFO ARM: in <ws2:artist>, uncaught attribute type-id
[08-28-2025 15:05:36] INFO ARM: in <ws2:recording>, uncaught <first-release-date>
[08-28-2025 15:05:36] INFO ARM: in <ws2:artist>, uncaught attribute type-id
[08-28-2025 15:05:36] INFO ARM: in <ws2:recording>, uncaught <first-release-date>
[08-28-2025 15:05:36] INFO ARM: in <ws2:artist>, uncaught attribute type-id
[08-28-2025 15:05:36] INFO ARM: in <ws2:recording>, uncaught <first-release-date>
[08-28-2025 15:05:36] INFO ARM: in <ws2:artist>, uncaught attribute type-id
[08-28-2025 15:05:36] INFO ARM: in <ws2:recording>, uncaught <first-release-date>
[08-28-2025 15:05:36] INFO ARM: in <ws2:artist>, uncaught attribute type-id
[08-28-2025 15:05:36] INFO ARM: in <ws2:recording>, uncaught <first-release-date>
[08-28-2025 15:05:36] INFO ARM: in <ws2:artist>, uncaught attribute type-id
[08-28-2025 15:05:36] INFO ARM: in <ws2:artist>, uncaught attribute type-id
[08-28-2025 15:05:36] INFO ARM: in <ws2:recording>, uncaught <first-release-date>
[08-28-2025 15:05:36] INFO ARM: in <ws2:artist>, uncaught attribute type-id
[08-28-2025 15:05:36] INFO ARM: in <ws2:recording>, uncaught <first-release-date>
[08-28-2025 15:05:36] INFO ARM: in <ws2:artist>, uncaught attribute type-id
[08-28-2025 15:05:36] INFO ARM: in <ws2:recording>, uncaught <first-release-date>
[08-28-2025 15:05:36] INFO ARM: in <ws2:artist>, uncaught attribute type-id
[08-28-2025 15:05:36] INFO ARM: in <ws2:recording>, uncaught <first-release-date>
[08-28-2025 15:05:36] INFO ARM: in <ws2:artist>, uncaught attribute type-id
[08-28-2025 15:05:36] INFO ARM: in <ws2:recording>, uncaught <first-release-date>
[08-28-2025 15:05:36] INFO ARM: in <ws2:artist>, uncaught attribute type-id
[08-28-2025 15:05:36] INFO ARM: in <ws2:recording>, uncaught <first-release-date>
[08-28-2025 15:05:36] INFO ARM: in <ws2:artist>, uncaught attribute type-id
[08-28-2025 15:05:36] INFO ARM: in <ws2:recording>, uncaught <first-release-date>
[08-28-2025 15:05:36] INFO ARM: in <ws2:artist>, uncaught attribute type-id
[08-28-2025 15:05:36] INFO ARM: in <ws2:recording>, uncaught <first-release-date>
[08-28-2025 15:05:36] INFO ARM: in <ws2:artist>, uncaught attribute type-id
[08-28-2025 15:05:36] INFO ARM: in <ws2:recording>, uncaught <first-release-date>
[08-28-2025 15:05:36] INFO ARM: in <ws2:artist>, uncaught attribute type-id
[08-28-2025 15:05:36] INFO ARM: in <ws2:recording>, uncaught <first-release-date>
[08-28-2025 15:05:36] INFO ARM: in <ws2:artist>, uncaught attribute type-id
[08-28-2025 15:05:36] INFO ARM: in <ws2:recording>, uncaught <first-release-date>
[08-28-2025 15:05:36] INFO ARM: in <ws2:artist>, uncaught attribute type-id
[08-28-2025 15:05:36] INFO ARM: in <ws2:recording>, uncaught <first-release-date>
[08-28-2025 15:05:36] INFO ARM: in <ws2:artist>, uncaught attribute type-id
[08-28-2025 15:05:36] INFO ARM: in <ws2:recording>, uncaught <first-release-date>
[08-28-2025 15:05:36] INFO ARM: in <ws2:artist>, uncaught attribute type-id
[08-28-2025 15:05:36] INFO ARM: in <ws2:recording>, uncaught <first-release-date>
I will likely need a disc with known-good cd-text to make additional progress.
I have many, many disks at my disposal - I don't have a ton of time at the moment, but would be happy to do testing/supply an ISO/IMG if possible. If anyone knows off hand what utility I could use I'd be happy to try.