--- license: apache-2.0 tags: - audio - music - music-tagging - pytorch --- (Backup of https://huggingface.co/oriyonay/musicnn-pytorch) # MusicNN-PyTorch This is a PyTorch reimplementation of the [MusicNN](https://github.com/jordipons/musicnn) library for music audio tagging. It contains the model architecture and converted weights from the original TensorFlow 1.x checkpoints. ## Supported Models - `MTT_musicnn`: Trained on MagnaTagATune (50 tags) - **Default model** - `MSD_musicnn`: Trained on Million Song Dataset (50 tags) - `MSD_musicnn_big`: Larger version trained on MSD (512 filters) ## Super Simple Usage (Hugging Face Transformers) ```python from transformers import AutoModel # Load the model (downloads automatically) model = AutoModel.from_pretrained("oriyonay/musicnn-pytorch", trust_remote_code=True) # Use the model tags = model.predict_tags("your_audio.mp3", top_k=5) print(f"Top 5 tags: {tags}") ``` ## Embeddings (Optional) ```python from transformers import AutoModel model = AutoModel.from_pretrained("oriyonay/musicnn-pytorch", trust_remote_code=True) # Extract embeddings from any layer emb = model.extract_embeddings("your_audio.mp3", layer="penultimate", pool="mean") print(emb.shape) ``` ## Colab Example ```python # Install dependencies !pip install transformers torch librosa soundfile # Load with AutoModel from transformers import AutoModel model = AutoModel.from_pretrained("oriyonay/musicnn-pytorch", trust_remote_code=True) # Use the model tags = model.predict_tags("your_audio.mp3", top_k=5) print(tags) ``` ## Traditional Usage If you prefer to download the code manually: ```python from musicnn_torch import top_tags # Get top 5 tags for an audio file tags = top_tags('path/to/audio.mp3', model='MTT_musicnn', topN=5) print(tags) ``` ## Installation ```bash pip install transformers torch librosa soundfile ``` ## Credits Original implementation by [Jordi Pons](https://github.com/jordipons). PyTorch port by Gemini.