Skip to content

ge95pep/TabFinder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎸 TabFinder

Find the best guitar tabs, fast. Searches multiple sources, scores quality, returns the top picks.

Features

  • Multi-source search吉他社 (Chinese) + 谱全了 (Chinese) + 911Tabs (English)
  • Quality scoring — Weighted algorithm considers accuracy ratings, popularity, completeness, and more
  • Transparent ranking — See exactly why each tab scored the way it did
  • Filter by preference — Tab type, playing style, number of results
  • Fast — Parallel fetching + 10-minute result cache

Live Demo

Deployed at tabfinder.onrender.com — accessible from any device with a browser.

Quick Start

Development

# Backend
conda create -n tabfinder python=3.12 -y
conda activate tabfinder
pip install -r backend/requirements.txt
uvicorn backend.main:app --port 8888

# Frontend (separate terminal)
cd frontend
npm install
npm run dev

Open http://localhost:5173 and search!

Docker

docker compose up --build
# → http://localhost:8888

API

GET /api/search?song=晴天&top_n=3&source=all&tab_type=any&style=any

# Source options: all, jitashe, guistudy, 911tabs
GET /api/health

Scoring

Each tab is scored 0–100 based on:

Signal Weight Description
Accuracy 30% Community accuracy rating
Popularity 25% Views (log-scaled) or vote count
Completeness 20% Section tags (前奏, 间奏, solo, etc.)
Type match 15% Bonus if tab type matches preference
Validated 10% Bonus for having multiple ratings

Tech Stack

  • Backend: Python, FastAPI, httpx, BeautifulSoup
  • Frontend: React, Vite
  • Deployment: Docker, Render

License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors