Chigozirim Igweamaka
a6507e8f1e
Update README.md
2025-11-19 12:59:13 -08:00
Chigozirim Igweamaka
e825099e17
Merge pull request #44 from cgzirim/development
...
Fix Critical Audio Fingerprinting Algorithm Bugs
2025-11-19 12:43:33 -08:00
Chigozirim Igweamaka
939a11a5cc
Update README.md
2025-11-19 12:42:51 -08:00
Chigozirim Igweamaka
9886871070
feat(erase): add db/all subcommands with db as default
...
Add selective deletion to erase command:
- 'db' (default): clear only database
- 'all': clear database and song files
Updated README and help messages with new usage examples.
2025-11-19 21:30:48 +01:00
Chigozirim Igweamaka
e9fc155153
Update README.md
2025-11-19 08:04:13 -08:00
Chigozirim Igweamaka
6a000f6d72
Update app name
2025-11-19 16:59:24 +01:00
Chigozirim Igweamaka
91ce362e7a
update README
2025-11-19 16:55:14 +01:00
Chigozirim Igweamaka
a255d495a3
feat(save): add concurrent file processing for batch song imports
2025-11-19 16:54:31 +01:00
Chigozirim Igweamaka
ced4fc7ee8
perf(shazam): optimize timing analysis from O(n²) to O(n)
...
Replace pairwise timing comparison with histogram approach that counts
time offset agreements. Bins offsets in 100ms buckets for tolerance.
Improves performance by 500-5000x for songs with many fingerprint matches.
2025-11-19 16:52:55 +01:00
Chigozirim Igweamaka
7104a1a7bc
fix(fingerprint): prevent address overflow with bit masking
...
- Scale and mask frequencies to 9 bits each
- Mask time delta to 14 bits
- Add sampleRate parameter to ExtractPeaks calls
Prevents hash collisions from bit overflow in fingerprint addresses.
2025-11-19 16:51:00 +01:00
Chigozirim Igweamaka
e3a35ef1eb
fix(spectrogram): correct STFT and peak extraction algorithm
...
- Fix frame calculation with proper sliding window iteration
- Change hop size to windowSize/2 for 50% overlap
- Return magnitude spectrum instead of complex values
- Fix Peak time/frequency calculations using proper frame-based indexing
- Add Hz conversion using frequency resolution
- Remove incorrect frequency-based time calculations
2025-11-19 16:47:01 +01:00
Chigozirim Igweamaka
6f1111eb35
refactor(downloader): remove WAV conversion step and update audio download function
...
- Remove unused wav package import and WAV conversion logic
- Pass original downloaded audio file directly to fingerprinting
- Update calls from downloadYTaudio2 → downloadYTaudio after function rename
2025-11-19 16:44:06 +01:00
Chigozirim Igweamaka
95218512a6
refactor(youtube): remove deprecated kkdai/youtube code and unify audio download method
...
- Delete old downloadYTaudio1 function using github.com/kkdai/youtube
- Rename downloadYTaudio2 → downloadYTaudio as the primary yt-dlp-based downloader
2025-11-19 16:42:46 +01:00
Chigozirim Igweamaka
ae6e7a3805
Update WASM load path to fingerprint.wasm
2025-11-19 16:41:57 +01:00
Chigozirim Igweamaka
e299b9bda5
chore: update .dockerignore
2025-11-19 16:41:02 +01:00
Chigozirim Igweamaka
8dcae2456b
chore(docker-compose): update compose config.
2025-11-19 16:40:37 +01:00
Chigozirim Igweamaka
28c7a7d4d0
feat(docker): overhaul Dockerfile for multi-stage build and production runtime
...
- Add multi-stage builds for React frontend and Go backend
- Use node:20-alpine and golang:1.24-alpine for slimmer build environments
- Switch to `/app` directory structure and improve COPY paths
- Use `npm ci` for deterministic frontend installs
- Add Go build optimizations with stripped binaries
- Introduce final Alpine runtime image with ffmpeg, python3, yt-dlp
- Add HEALTHCHECK for backend service availability
- Add non-root runtime user for improved security
- Create necessary app directories with proper permissions
- Update CMD to run Go server with explicit args
2025-11-19 16:39:07 +01:00
Chigozirim Igweamaka
8b1c9af8c1
Remove .env example from project's root
2025-11-19 16:36:56 +01:00
Chigozirim Igweamaka
26506e78c5
update wasm file
2025-11-19 16:36:12 +01:00
Chigozirim Igweamaka
2e253a0036
Add .env enxample to client
2025-11-19 16:34:33 +01:00
Chigozirim Igweamaka
d820dda8be
Add .env enxample to server
2025-11-19 16:34:24 +01:00
Chigozirim Igweamaka
068e28cdad
Move wasm folder from ./server to project's root
2025-11-19 16:33:52 +01:00
Chigozirim Igweamaka
3448cd390b
feat: Add support for stereo audio recording
2025-07-16 05:11:56 +01:00
Chigozirim Igweamaka
46d08c7fea
feat: Add support for stereo audio recording
2025-07-16 05:11:39 +01:00
Chigozirim Igweamaka
14df5b3845
feat: enhance generateFingerprint function to handle stereo input audio
2025-07-16 05:08:05 +01:00
Chigozirim Igweamaka
95d51b0ff5
fix: update .gitignore to include token.json
2025-07-15 15:39:28 +01:00
Chigozirim Igweamaka
64e8ee696d
feat: implement FingerprintAudio function to process audio files and generate fingerprints
2025-07-15 15:38:07 +01:00
Chigozirim Igweamaka
8a68843bc6
refactor: simplify WAV conversion and fingerprinting process
2025-07-15 15:37:28 +01:00
Chigozirim Igweamaka
c2fc834a0b
refactor: simplify WAV conversion and fingerprinting process
2025-07-15 15:36:35 +01:00
Chigozirim Igweamaka
6635647061
feat: add ExtendMap function to merge two maps
2025-07-15 15:35:52 +01:00
Chigozirim Igweamaka
2b85c7fd97
feat: update ConvertToWAV function to determine channels from environment variable
2025-07-15 15:35:33 +01:00
Chigozirim Igweamaka
781438c7b8
feat: enhance ReadWavInfo and WavInfo struct to include left and right channel samples
2025-07-15 15:33:52 +01:00
Chigozirim Igweamaka
e3ddaa050a
Update prerequisites to Include YT-DLP
2025-07-09 15:08:11 +01:00
Chigozirim Igweamaka
7a2130ce22
refactor: replace downloadYTaudio with downloadYTaudio2 and update file handling
2025-07-09 12:35:55 +01:00
Chigozirim Igweamaka
4f1137e162
feat: add downloadYTaudio2 function to download YouTube audio using yt-dlp CLI
2025-07-09 12:35:08 +01:00
Chigozirim Igweamaka
29867c8b34
fix: delete non .wav file after conversion.
2025-07-09 12:30:31 +01:00
Chigozirim Igweamaka
e51b06c159
Merge pull request #40 from KaNaDaAT/main
...
Spotify API and SQLite improvements
2025-06-27 11:01:56 -07:00
KaNaDaAT
c4b7f5a14a
feat: Use env for credentials
2025-06-07 16:15:38 +02:00
KaNaDaAT
d6bea0a568
feat: Logging for downloader.go
2025-06-07 15:09:39 +02:00
KaNaDaAT
ab5be2f50e
fix(db): prevent "database is locked" errors by improving SQLite usage
...
- Add explicit rows.Close() calls inside loops to avoid holding locks too long
- Add SQLite busy timeout (5s) to connection string to wait for locks instead of failing immediately
2025-05-15 21:49:34 +02:00
KaNaDaAT
1daf682062
fix: spotify regex pattern
...
Fix regex pattern to use non-capturing group for optional intl prefix in Spotify track URLs
2025-05-15 21:49:34 +02:00
KaNaDaAT
8f1ab855a2
Update README.md
...
Infos about the Spotify API
2025-05-15 21:49:34 +02:00
KaNaDaAT
fbaf329872
refactor: switch to official Spotify developer API with client credentials flow
...
- Replaced deprecated web token endpoint with POST to accounts.spotify.com/api/token
- Integrated client credentials OAuth flow using client ID and secret
- Adjusted request headers to use Bearer token
2025-05-15 21:49:30 +02:00
KaNaDaAT
98e4d46a31
style: Some tidy up / logging
2025-05-15 20:05:35 +02:00
KaNaDaAT
112b90968a
update: Versions
...
Xoutube.Client() did no longer work
2025-05-15 20:04:18 +02:00
Chigozirim Igweamaka
69bd180e99
fix: update .gitignore to ignore recordings directory
2025-04-12 14:34:46 +01:00
Chigozirim Igweamaka
5b24c06e6d
fix: update .gitignore to correctly ignore the songs directory
2025-04-12 14:33:13 +01:00
Chigozirim Igweamaka
28eca1ea2a
Delete songs folder
2025-04-12 14:32:44 +01:00
Chigozirim Igweamaka
649f19b4a0
Merge pull request #36 from cgzirim/development
...
Dockerize App
2025-04-08 02:49:12 +01:00
Chigozirim Igweamaka
fadd713226
Update README.md
2025-04-07 13:07:12 +01:00