Search UX improvement — typo tolerance and semantic search via LLM middleware

Feature description

Hi,

I’ve been using Symfonium with the epoupon/LMS server (Lightweight Music Server, Subsonic/OpenSubsonic API) and I’m very happy with the app overall. However, I’d like to raise a topic around search quality that I think is worth discussing.

Current situation:
Symfonium’s local search performs exact substring matching (SQL LIKE).

I’m aware the keyword-order issue was already fixed — thank you for that. Typo tolerance would be the natural next step.

My question / feature inquiry:

  1. Typo-tolerant search: Is there a plan to implement fuzzy/Levenshtein-based matching in the local search? Even a tolerance of 1–2 character edits would dramatically improve the experience.

  2. LLM middleware / semantic search: I run a local Ollama instance on my home server. Would it be technically feasible to configure a custom search endpoint in Symfonium — so that a natural language query like “play jazz from the 70s” gets sent to an LLM middleware first, which translates it into structured API parameters before forwarding to the Subsonic server? Is this something that has been considered, or is there an existing hook/plugin mechanism that could support this?

I understand this is non-trivial, but I wanted to check whether there’s an architectural path for it before building something on my end.

Thanks for the great work on the app.
Best regards

Problem solved

  • Typos like “Beethovn” or “Beethofen” return zero results
  • Queries mixing fields (e.g. “jazz 1970s” spanning genre + year) are not understood
  • The search experience feels brittle compared to the web UI of servers like Navidrome

Brought benefits

  • Users with large libraries (thousands of tracks) benefit enormously — exact spelling recall becomes a real barrier at scale
  • Non-English libraries (artist names in German, French, Japanese etc.) are disproportionately affected by exact matching since spelling is less intuitive for the user
  • Reduces friction for casual/quick searches — the user shouldn’t need to know the exact spelling of every artist name by heart
  • Brings Symfonium’s search quality in line with its overall polish as an app

Device type

Phone

I searched existing feature requests

on

The app works multi server and offline so won’t call any search endpoint on the servers.
And the app is working on phones with SQLite version provided by the OS so no access to a few things and would have to take in account the storage size of the necessary data too + performance. The app already have handling of romanized and accent handling and a couple of other things built during sync. But fuzzy is not really possible.