music art image-classification en dataset:ccmusic-database/bel_canto license:mit region:us
---
license: mit
datasets:
- ccmusic-database/bel_canto
language:
- en
metrics:
- accuracy
pipeline_tag: image-classification
tags:
- music
- art
---

The Classical and Ethnic Vocal Style Classification model aims to distinguish between classical and ethnic vocal styles, with all audio samples sung by professional vocalists. The model is fine-tuned using an audio dataset consisting of four categories, which has been pre-processed into spectrograms. Initially pretrained in the computer vision (CV) domain, the backbone network undergoes a fine-tuning process specifically designed for vocal style classification tasks. In this model, the pre-training on CV tasks provides a foundation for the network to learn general audio features, which are then adjusted during fine-tuning to adapt to the subtle differences between classical and ethnic vocal styles. The audio dataset, comprising samples from classical and various ethnic singing traditions, enables the model to capture unique patterns associated with each vocal style. Representing spectrograms as input allows the model to effectively analyze both the temporal and frequency components of the audio signals. Through the fine-tuning process, the model continuously enhances its ability to discriminate between sound representations and subtle stylistic differences between classical and ethnic styles. This specialized model holds significant potential in the music industry and cultural preservation, as it accurately categorizes vocal performances into these two broad categories. Its foundation in pre-trained computer vision principles demonstrates the versatility and adaptability of neural networks across different domains, enhancing the model's capability to capture complex features of vocal performances.

## Maintenance
```bash
GIT_LFS_SKIP_SMUDGE=1 git clone git@hf.co:ccmusic-database/bel_canto
cd bel_canto
```

## Results
A demo result of SqueezeNet fine-tuning:

<style>
  #pianos td {
    vertical-align: middle !important;
    text-align: center;
  }
  #pianos th {
    text-align: center;
  }
</style>
<table id="pianos">
    <tr>
        <th>Loss curve</th>
        <td><img src="https://huggingface.co/ccmusic-database/bel_canto/resolve/main/squeezenet1_1_cqt_2024-01-30_00-57-26/loss.jpg"></td>
    </tr>
    <tr>
        <th>Training and validation accuracy</th>
        <td><img src="https://huggingface.co/ccmusic-database/bel_canto/resolve/main/squeezenet1_1_cqt_2024-01-30_00-57-26/acc.jpg"></td>
    </tr>
    <tr>
        <th>Confusion matrix</th>
        <td><img src="https://huggingface.co/ccmusic-database/bel_canto/resolve/main/squeezenet1_1_cqt_2024-01-30_00-57-26/mat.jpg"></td>
    </tr>
</table>

## Mirror
<https://www.modelscope.cn/models/ccmusic/bel_canto>

## Reference
<https://github.com/monet-joe/ccmusic_clstask_eval>