Here’s how to properly add singletons to the correct artist dir using the quick import functionality in beets. We don’t care for tagging or musicbrainz lookups for these, we just want to add them to the beets database and move them to to corresponding directory.

Add this to config.yml:

plugins: ['fromfilename']

extrafiles:
  patterns:
    single_tracks:
      - '+tracks/'
  paths:
    single_tracks: $artist/+tracks

paths:
  singleton: %upper{%left{$artist,1}}/$artist/+tracks/$artist - $title

When we import single tracks to beets we don’t use the autotagger, so it’s important that the artist field is populated in the files, or else beets doesn’t know where to put the files. To quickly add the artist field on a bunch of files, we can utilize id3shit:

id3shit -w artist 'Anna Ternheim' *

Edit 2021-05-28: We can also use beets directly like this:

beet import --set artist=Anna\ Ternheim

The import command to beets for single tracks is beet import -sA "$@". I find it hard to remember all the commands so I saved it as beet-import-tracks.

Use it like this:

beet-import-tracks *(.) # import every file in cwd

Now, since we made sure that the artist field was populated prior to running the import command, we can find the imported singletons at A/Anna Ternheim/+tracks/.

My current beets configuration can be found here.