I tried changing the tags from TagLibSharp to APEv2 and ID3v2. The tags stay blank, and I've tried playing them through VLC and MusicBee. I don't get this issue with other formats like AAC or FLAC.
Notes:
- You didn't state what version of CUETools you are using or where you downloaded it from.
- You also didn't state what version of opusenc you are using or where you got that.
- OPUS uses vorbis comments, not APEv2 or ID3v2.
- AFAIK Windows File Explorer does not display OPUS tags.
- CUETools writes the tags last (after all encoding is complete).
Tested using the official 2.1.8 and 2.1.9 from CUETools Download (http://cue.tools/wiki/CUETools_Download) and various builds from OPUS 1.3.1 (https://hydrogenaud.io/index.php?topic=117526.0)
AFAICT CUETools is writing the tags. MediaInfo (https://mediaarea.net/en/MediaInfo)
General
Complete name : F:\test\09. Miss You.opus
Format : Ogg
File size : 4.61 MiB
Duration : 5 min 6 s
Overall bit rate : 126 kb/s
Album : August
Part : 1
Part/Total : 1
Track name : Miss You
Track name/Position : 09
Track name/Total : 12
Performer : Eric Clapton
Recorded date : 1986
Writing application : opusenc from opus-tools 0.2-3-gf5f571b
Cover : Yes
ENCODER_OPTIONS : --bitrate 128
CTDBDISCCONFIDENCE : 1/55
CTDBTRACKCONFIDENCE : 54/55
CDTOC : C+B6+4A71+8ADE+D5CC+13074+1748C+1B910+20F3C+2661C+2BFE8+3167D+36ACE+3DB08
RELEASE DATE : 2000-09-19
RELEASECOUNTRY : US
PUBLISHER : Warner Bros. Records
LABELNO : 9 47736-2
Audio
ID : 28633 (0x6FD9)
Format : Opus
Duration : 5 min 6 s
Channel(s) : 2 channels
Channel layout : L R
Sampling rate : 44.1 kHz
Compression mode : Lossy
Writing library : libopus 1.3.1, libopusenc 0.2.1
and foobar2000
display the tags correctly (I don't use VLC or MusicBee).
However MP3Tag does not show tags.
So I ran a couple more tests, this time using the OPUS 1.3.1 encoder from foobar2000 (so the same encoder was used for each test).
ran opusinfo.exe on a file created by CUETools
F:\test>opusinfo.exe "09. Miss You.opus"
Processing file "09. Miss You.opus"...
New logical stream (#1, serial: 00006fd9): type opus
Encoded with libopus 1.3.1, libopusenc 0.2.1
User comments section follows...
ENCODER=opusenc from opus-tools 0.2-3-gf5f571b
ENCODER_OPTIONS=--bitrate 128
CTDBDISCCONFIDENCE=1/55
CTDBTRACKCONFIDENCE=54/55
CDTOC=C+B6+4A71+8ADE+D5CC+13074+1748C+1B910+20F3C+2661C+2BFE8+3167D+36ACE+3DB08
TRACKTOTAL=12
TRACKNUMBER=09
TITLE=Miss You
ALBUM=August
ARTIST=Eric Clapton
DISCTOTAL=1
DISCNUMBER=1
DATE=1986
RELEASE DATE=2000-09-19
RELEASECOUNTRY=US
PUBLISHER=Warner Bros. Records
LABELNO=9 47736-2
METADATA_BLOCK_PICTURE=3|image/jpeg|test\folder.jpg (300x296)|0x0x0|<16910 bytes of image data>
Negative or zero granulepos (0) on Opus stream outside of headers. This file was created by a buggy encoder
Opus stream 1:
Pre-skip: 312
Playback gain: 0 dB
Channels: 2
Original sample rate: 44100 Hz
Packet duration: 20.0ms (max), 20.0ms (avg), 20.0ms (min)
Page duration: 1000.0ms (max), 998.4ms (avg), 520.0ms (min)
Total data length: 4831854 bytes (overhead: 1.3%)
Playback length: 5m:06.506s
Average bitrate: 126.1 kbit/s, w/o overhead: 124.5 kbit/s
Logical stream 1 ended
ran opusinfo.exe on a file created by foobar2000 (same source file)
F:\test2>opusinfo.exe "09. Miss You.opus"
Processing file "09. Miss You.opus"...
New logical stream (#1, serial: 00003f9c): type opus
Encoded with libopus 1.3.1, libopusenc 0.2.1
User comments section follows...
ENCODER=opusenc from opus-tools 0.2-3-gf5f571b
ENCODER_OPTIONS=--bitrate 128 --vbr
ALBUM=August
ARTIST=Eric Clapton
CDTOC=C+B6+4A71+8ADE+D5CC+13074+1748C+1B910+20F3C+2661C+2BFE8+3167D+36ACE+3DB08
CTDBDISCCONFIDENCE=1/55
CTDBTRACKCONFIDENCE=54/55
DATE=1986
DISCNUMBER=1
LABELNO=9 47736-2
ORGANIZATION=Warner Bros. Records
RELEASE DATE=2000-09-19
RELEASECOUNTRY=US
TITLE=Miss You
DISCTOTAL=1
TRACKTOTAL=12
TRACKNUMBER=09
METADATA_BLOCK_PICTURE=3|image/jpeg||300x296x24|<16910 bytes of image data>
Opus stream 1:
Pre-skip: 312
Playback gain: 0 dB
Channels: 2
Original sample rate: 44100 Hz
Packet duration: 20.0ms (max), 20.0ms (avg), 20.0ms (min)
Page duration: 1000.0ms (max), 998.4ms (avg), 520.0ms (min)
Total data length: 4833886 bytes (overhead: 1.33%)
Playback length: 5m:06.506s
Average bitrate: 126.2 kbit/s, w/o overhead: 124.5 kbit/s
Logical stream 1 ended
Dropped both files into MP3Tag
File created by CUETools does not show tags
File created by foobar2000 does show the tags
I then tried checking a file before CUETools could add the tags
F:\test3>opusinfo.exe "09. Miss You.opus"
Processing file "09. Miss You.opus"...
New logical stream (#1, serial: 00002117): type opus
Encoded with libopus 1.3.1, libopusenc 0.2.1
User comments section follows...
ENCODER=opusenc from opus-tools 0.2-3-gf5f571b
ENCODER_OPTIONS=--bitrate 128
Opus stream 1:
Pre-skip: 312
Playback gain: 0 dB
Channels: 2
Original sample rate: 44100 Hz
Packet duration: 20.0ms (max), 20.0ms (avg), 20.0ms (min)
Page duration: 1000.0ms (max), 998.4ms (avg), 520.0ms (min)
Total data length: 4809358 bytes (overhead: 0.831%)
Playback length: 5m:06.506s
Average bitrate: 125.5 kbit/s, w/o overhead: 124.5 kbit/s
Logical stream 1 ended
Conclusion: CUETools is not properly adding the tags to the headers. This could result in some players/programs not being able to read the tags as written.
This issue should be added to https://github.com/gchudov/cuetools.net/issues
Bonus find:
F:\test4>opusinfo.exe "09. Miss You.opus"
Processing file "09. Miss You.opus"...
[...]
WARNING: Unknown picture type in METADATA_BLOCK_PICTURE comment 17 (stream 1): 255
METADATA_BLOCK_PICTURE=255|image/jpeg|http://coverartarchive.org/release/3272d67e-3a6a-3c03-a6cb-184de816dd80/14011995629.jpg (1401x1384)|0x0x0|<16910 bytes of image data>
[...]
There also appears to be an issue with the way CUETools handles METADATA_BLOCK_PICTURE when adding full path to image file
A build of CUETools with updated taglib-sharp, which includes required fixes for correctly writing tags to opus files, is available here for testing:
https://github.com/gchudov/cuetools.net/pull/147#issuecomment-985784082