diff --git a/backend/lib/ytdlp.js b/backend/lib/ytdlp.js index e4ed5be..937b517 100644 --- a/backend/lib/ytdlp.js +++ b/backend/lib/ytdlp.js @@ -135,8 +135,9 @@ async function downloadTrack({ jobId, artist, rawArtist, albumArtist, title, alb .filter(w => /^[A-Za-z0-9]/.test(w) && !titleWordSet.has(w.toLowerCase()) && !GENERIC_ALBUM_WORDS.has(w.toLowerCase())) .slice(0, 2).join(' ') : ''; - const albumQuerySuffix = (hasJpTitle || (albumWords && titleKws.length <= 1)) && albumWords - ? ' ' + albumWords : ''; + // Only append album words for Japanese titles where title keywords are stripped to nothing. + // For Western tracks, artist + title + duration matching is sufficient (matches spotdl behaviour). + const albumQuerySuffix = hasJpTitle && albumWords ? ' ' + albumWords : ''; const query = `${ytmArtist} - ${title}${albumQuerySuffix}`;