[Solved] Of audiobooks and `beet move`

So I managed to get my audiobooks tagged and imported but it wasn’t easy.

The first thing I noticed is that audiobooks import with the other albumtype. My custom path was set to albumtype:audiobook: Audiobooks/$artist/$album/$track $title so they imported under $artist and not the Audiobooks subfolder. So here’s where I used beet move Tolkien -d Audiobooks/ to move them all under my desired folder. I also used beet modify Tolkien albumtype=audiobook so a beet update wouldn’t reorganize them out.

So far, so good but I ran into one audiobook that refused to move sensibly, an audiobook on yoga breathing.
beet move Freeman -d /music/Audiobooks/ -p results in

/music/Audiobooks/Richard Freeman/15 Yoga Breathing Guided Instructions on the Art of Pranayama.mp3 
  -> /music/Audiobooks/Audiobooks/Richard Freeman/15 Yoga Breathing Guided Instructions on the Art of Pranayama.mp3

refusing to both categorize under its modified albumtype (audiobooks) and doubling its Audiobooks subfolder.

Also strangely: just setting a subpath of Audiobooks/ was enough the first time through but has since stopped working complaining of error: no such directory: b'/Audiobooks'.

What’s going on here?

1 Like

Hmm. Here’s the thing: if I were you, I wouldn’t try using move -d to manually specify a path. Instead, consider configuring your path format settings to use a special path for audiobooks. Then just use plain beet move without -d to let beets put the music into its “default” location, i.e., the audiobook path. Have you tried that route?

I just tried this which moved a couple of other folders into Audiobooks but a

abc@94c5d8edd001:/music/Audiobooks$ ls Richard\ Freeman/
'01 Yoga Breathing Guided Instructions on the Art of Pranayama.mp3'
'02 Yoga Breathing Guided Instructions on the Art of Pranayama.mp3'
'03 Yoga Breathing Guided Instructions on the Art of Pranayama.mp3'
'04 Yoga Breathing Guided Instructions on the Art of Pranayama.mp3'
'05 Yoga Breathing Guided Instructions on the Art of Pranayama.mp3'
'06 Yoga Breathing Guided Instructions on the Art of Pranayama.mp3'
'07 Yoga Breathing Guided Instructions on the Art of Pranayama.mp3'
'08 Yoga Breathing Guided Instructions on the Art of Pranayama.mp3'
'09 Yoga Breathing Guided Instructions on the Art of Pranayama.mp3'
'10 Yoga Breathing Guided Instructions on the Art of Pranayama.mp3'
'11 Yoga Breathing Guided Instructions on the Art of Pranayama.mp3'
'12 Yoga Breathing Guided Instructions on the Art of Pranayama.mp3'
'13 Yoga Breathing Guided Instructions on the Art of Pranayama.mp3'
'14 Yoga Breathing Guided Instructions on the Art of Pranayama.mp3'
'15 Yoga Breathing Guided Instructions on the Art of Pranayama.mp3'

shows no change for my one trouble artist.

Maybe I’m being slow here, but can you expand a little what’s going wrong here? It looks like all those files are (correctly) in an Audiobooks directory?

Sure so let me provide an example: I want Richard Freeman’s audiobook to be under /music/Audiobooks/Richard Freeman/Yoga Breathing but instead the book is flattened under his name.

Harry Potter looks like this:

taohansen@mother:~/music/Audiobooks$ ls J.\ K.\ Rowling\ read\ by\ Stephen\ Fry/                                                                                                                                    
Harry Potter and the Chamber of Secrets  Harry Potter and the Goblet of Fire     Harry Potter and the Order of the Phoenix  Harry Potter and the Prisoner of Azkaban
Harry Potter and the Deathly Hallows     Harry Potter and the Half-Blood Prince  Harry Potter and the Philosopher’s Stone

which is the sort of hierarchy I prefer.

Got it! And what does your path configuration look like?

paths:
    default: $albumartist/$album%aunique{}/$track - $title
    singleton: Non-Album/$artist - $title
    comp: Compilations/$album%aunique{}/$track - $title
    albumtype:soundtrack: Soundtracks/$album/$track $title 
    albumtype:other: Audiobooks/$artist/$album/$track $title
    albumtype:audiobook: Audiobooks/$artist/$album/$track $title

Got it. And are you sure both the $artist and $album fields are filled in for those tracks? You can check using beet ls -f and an appropriate format.

Looks like it!

abc@94c5d8edd001:/$ beet ls artist:"Richard Freeman"
Richard Freeman - Yoga Breathing - Yoga Breathing Guided Instructions on the Art of Pranayama
Richard Freeman - Yoga Breathing - Yoga Breathing Guided Instructions on the Art of Pranayama
Richard Freeman - Yoga Breathing - Yoga Breathing Guided Instructions on the Art of Pranayama
Richard Freeman - Yoga Breathing - Yoga Breathing Guided Instructions on the Art of Pranayama
Richard Freeman - Yoga Breathing - Yoga Breathing Guided Instructions on the Art of Pranayama
Richard Freeman - Yoga Breathing - Yoga Breathing Guided Instructions on the Art of Pranayama
Richard Freeman - Yoga Breathing - Yoga Breathing Guided Instructions on the Art of Pranayama
Richard Freeman - Yoga Breathing - Yoga Breathing Guided Instructions on the Art of Pranayama
Richard Freeman - Yoga Breathing - Yoga Breathing Guided Instructions on the Art of Pranayama
Richard Freeman - Yoga Breathing - Yoga Breathing Guided Instructions on the Art of Pranayama
Richard Freeman - Yoga Breathing - Yoga Breathing Guided Instructions on the Art of Pranayama
Richard Freeman - Yoga Breathing - Yoga Breathing Guided Instructions on the Art of Pranayama
Richard Freeman - Yoga Breathing - Yoga Breathing Guided Instructions on the Art of Pranayama
Richard Freeman - Yoga Breathing - Yoga Breathing Guided Instructions on the Art of Pranayama
Richard Freeman - Yoga Breathing - Yoga Breathing Guided Instructions on the Art of Pranayama
abc@94c5d8edd001:/$ beet ls album:"Yoga Breathing"
Richard Freeman - Yoga Breathing - Yoga Breathing Guided Instructions on the Art of Pranayama
Richard Freeman - Yoga Breathing - Yoga Breathing Guided Instructions on the Art of Pranayama
Richard Freeman - Yoga Breathing - Yoga Breathing Guided Instructions on the Art of Pranayama
Richard Freeman - Yoga Breathing - Yoga Breathing Guided Instructions on the Art of Pranayama
Richard Freeman - Yoga Breathing - Yoga Breathing Guided Instructions on the Art of Pranayama
Richard Freeman - Yoga Breathing - Yoga Breathing Guided Instructions on the Art of Pranayama
Richard Freeman - Yoga Breathing - Yoga Breathing Guided Instructions on the Art of Pranayama
Richard Freeman - Yoga Breathing - Yoga Breathing Guided Instructions on the Art of Pranayama
Richard Freeman - Yoga Breathing - Yoga Breathing Guided Instructions on the Art of Pranayama
Richard Freeman - Yoga Breathing - Yoga Breathing Guided Instructions on the Art of Pranayama
Richard Freeman - Yoga Breathing - Yoga Breathing Guided Instructions on the Art of Pranayama
Richard Freeman - Yoga Breathing - Yoga Breathing Guided Instructions on the Art of Pranayama
Richard Freeman - Yoga Breathing - Yoga Breathing Guided Instructions on the Art of Pranayama
Richard Freeman - Yoga Breathing - Yoga Breathing Guided Instructions on the Art of Pranayama
Richard Freeman - Yoga Breathing - Yoga Breathing Guided Instructions on the Art of Pranayama

Hmm, I’m not sure why this isn’t showing up in the generated paths. You could narrow it down by adding some other text to the appropriate path format—for example, use TEST $artist TEST in your path format to make sure the right one is getting triggered.

Every other audiobook is being triggered except this one.

And you’re sure that albumtype is audiobook for that one? (Again, you can test with the -f flag to the list command.)

Like this?

abc@94c5d8edd001:/$ beet list -f '$album: $albumtype' artist:"Richard Freeman"
Yoga Breathing: audiobook
Yoga Breathing: audiobook
Yoga Breathing: audiobook
Yoga Breathing: audiobook
Yoga Breathing: audiobook
Yoga Breathing: audiobook
Yoga Breathing: audiobook
Yoga Breathing: audiobook
Yoga Breathing: audiobook
Yoga Breathing: audiobook
Yoga Breathing: audiobook
Yoga Breathing: audiobook
Yoga Breathing: audiobook
Yoga Breathing: audiobook
Yoga Breathing: audiobook

Very strange! I’m basically out of ideas—I don’t see anything that would make this album special. Is there any way you can think of that we might reproduce this problem locally? Or do you see anything unique about the album that would make it different from others?

maybe you modified the tracks, not the albums?
beet mod -a albumtype=audiobook vs
beet mod albumtype=audiobook

because the tags don’t “propagate up”, AFAIK

2 Likes

This was indeed the issue.Thank you!