/beatfarmer

BeatFarmer stands out in the realm of audio analysis tools by not only offering deep insights into audio samples but also by being a source of creative inspiration for music producers, hobbyists, and enthusiasts. With BeatFarmer, elevate your music production process and bring organization and innovation to your audio samples.

Primary LanguagePython

BeatFarmer 🎡

BeatFarmer is not just another audio analysis tool; it's your creative partner! Dive deep into the world of audio samples, organize them, analyze their attributes, and get innovative song ideas with just a few clicks. Music producers, hobbyists, and enthusiasts alike, it's time to elevate your craft.

πŸ“˜ Info

Beatfarmer works by analysing and processing longer pieces of audio such as loops.

Features 🌟

Deep Audio Analysis: Dive into the DNA of your samples, extracting various attributes such as musical key, tempo, instrument type, and much more. Beatfarmer uses SOTA machine learning to automatically categorize your samples.

Bulk Processing: Got a massive library? No worries! Efficiently processes vast directories of audio files, no matter how large.

Database Integration: Beyond mere organization – store audio file attributes in a relational database for advanced querying, management, and retrieval.

Song Idea Generator: Get those creative juices flowing. BeatFarmer can also suggest song ideas based on the analyzed samples.

Extensibility: Future-proof your toolset. Easily extend BeatFarmer to support more audio formats or incorporate additional audio analysis techniques.

Prerequisites πŸ› 

Python 3.x
Libraries:
    librosa
    soundfile
    pyrubberband
    torch
    tensorflow

Quick Start πŸš€

Set Up:

Ensure you have Python 3.x installed and all required libraries. You can install the libraries using pip:

pip install -m requirements.txt

Analyze Your Samples:

Update the directory_path in the script to point to your audio sample directory. For example:

directory_path = r"E:\path_to_your_samples"

Run The Script:

Navigate to the script's directory and run:

python main_analysis.py

And then:

python generate_beats.py

Contribution & Support 🀝

Feel like adding more features or improving existing ones? Your contributions are always welcome! Just fork the repository, make your updates, and submit a pull request.

Encountered a bug or need assistance? Raise an issue, and we'll get back to you ASAP. License πŸ“œ

This project is licensed under the MIT License. Please see the LICENSE file for more details.

Happy beat farming with BeatFarmer! 🎢🌱πŸ”₯