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
26506e78c5
update wasm file
2025-11-19 16:36:12 +01:00
Chigozirim Igweamaka
d820dda8be
Add .env enxample to server
2025-11-19 16:34:24 +01:00
Chigozirim Igweamaka
14df5b3845
feat: enhance generateFingerprint function to handle stereo input audio
2025-07-16 05:08:05 +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
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
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
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
28eca1ea2a
Delete songs folder
2025-04-12 14:32:44 +01:00
Chigozirim Igweamaka
8ea5a7a25b
Restructure project: Move server-side files to a dedicated 'server' directory
2025-04-07 02:27:59 +01:00