Skip to content

Andry925/AI-Audio-Analyzer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 

Repository files navigation

AI-Based Audio Analyzer App

This is an AI-based audio analyzer app.

Within the scope of this technical specification, you need to implement the logic for audio analysis—breaking the audio into prompts that can then be used to create images in MidJourney or another image generation service. You can use any APIs; I used ASSEMBLYAI for converting audio to text and Langchain for generating prompts.

How to Run the Program

  1. First, you need to fill the .env file with your data. The API_KEY_ASSEMBLYAI can be obtained for free by visiting their website: AssemblyAI.

  2. Example of data if you want to run it with Docker Compose.

  3. Then fill the docker-compose.env file (if you want it to run via Docker Compose).

  4. Another example.

  5. Finally, run docker-compose up --build and wait for it to start.

What I Have Implemented

  1. Full reliable JWT authentication with login, logout, and registration with reliable validation.
  2. Protected endpoints only for authorized users.
  3. Ability to create prompt tasks both with audio files and text.
  4. Optimized queryset to avoid the N+1 problem and a reliable database schema.
  5. Pagination to avoid large querysets.
  6. Docker and Docker Compose files.
  7. CRUD operations for the analyzer task, including bulk update/destroy, optimized for large datasets.

Documentation

  1. Created Swagger documentation for endpoints via this link: Swagger Documentation.

What I Did Not Manage to Do

  1. I did not manage to implement bulk update from prompts through nested serialization, so it is currently read-only.
  2. I planned to put the logic of converting audio and creating LLM prompts into Celery tasks (you may even see its configuration), but I decided not to do it for now.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published