- Transitioned audio recognition in audioRecognition service from Audd API to AcoustID, leveraging audio fingerprinting instead of direct audio file analysis.
- Created acoustidApiErrorHandler for modular error handling within the audioRecognition service.
- Developed a retry mechanism for axios requests in the retryAxios service to enhance robustness.
- Added dependencies on fpcalc and chromaprint to generate audio fingerprints, now required to be installed and set in the system PATH for Windows environments.
Removed all files, dependencies, and mentions related to the AuDD API. Cleaned up the src directory, removing all non-developed or unused items, as part of a major cleanup. This change is due to the strategic shift towards using audio fingerprinting for song recognition, as opposed to sending the raw audio file itself.
- Refactor error handling by consolidating all errors in a newly created 'errors' directory.
- Introduce truncateAudioStream functionality to limit audio file processing to 25 seconds, optimizing performance and API usage.
The newly added 'errors' directory contains the apiError handler which provides a centralized error handling mechanism to easily manage error consistency and possible expansion in the future.
Remove dotenv package and update the application to use Node.jss built-in --env-file flag for loading environment variables. This change is made to simplify the configuration by utilizing native capabilities introduced in Node.js v16.x.x.