File size: 10,441 Bytes
4945fc0 d74789e 4945fc0 3610af9 4945fc0 d74789e 4945fc0 d74789e 4945fc0 66fe3f3 4945fc0 3610af9 4945fc0 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 |
---
language: en
tags:
- audio
- music-generation
- sample-generation
- piano
- fine-tuning
- stable-audio
datasets:
- RoyalCities/Vocal_Textures_Dataset
model_name: Royal Cities Vocal Textures (SAO Finetune)
base_model: stabilityai/stable-audio-open-1.0
license: other
license_name: stabilityai-community-license
license_link: https://stability.ai/license
---
<center><img src="https://i.imgur.com/MJvcnnn.jpeg" alt="Header Logo" width="100%"></center>
<center>
<h2 style="font-size: 30px;"><u>Royal Cities Vocal Textures (SAO Finetune)</u></h2>
</center>
<center>
<h2 style="font-size: 19px;">Introduction</h2>
</center>
This finetuned Stable Audio Open model specializes in Vocal / Operatic Chord Progressions to support granular music production workflows. Capable of creating an infinite variety of chord progressions, all output is BPM-synced and key-locked to any note within the 12-tone chromatic scale, in both major and minor keys. This model was trained on a custom dataset crafted within FL Studio and features three distinct voicings:
- **Male Vocals**
- **Female Vocals**
- **Ensemble Vocals** (Combination of Male and Female)
<center>
<h2 style="font-size: 19px;">Model Features</h2>
</center>
- **Multiple Types of Stem Generation:** Outputs three types of voicings with a focus on Chord Progressions only,
- **Tonal Versatility:** Generates stems in any key across the 12-tone chromatic scale, in both major and minor scales.
- **Audio-To-Audio:** Generates interesting vocal timbres when paired with vocal stems.
- **Simplified Scale Notation:** Scales are written using <b><i>sharps only</i></b> in the following format:
<pre>
<b>Minor Scales</b>
A minor, A# minor, B minor, C minor, C# minor, D minor, D# minor,
E minor, F minor, F# minor, G minor, G# minor
<b>Major Scales</b>
A major, A# major, B major, C major, C# major, D major, D# major,
E major, F major, F# major, G major, G# major
</pre>
For more details on the VSTs and gear used in sample creation, refer to the Gear section below.
<center>
<h2 style="font-size: 19px;">Training Methodology</h2>
</center>
This model was designed in conjunction with the Vocal Textures dataset with a focus on only generating vocal chord progressions across the 12-tone chromatic scale in either Female, Male or Ensemble outputs.
Vocals / Choirs have very long attacks so it was trained with metadata simply classifying each sample as "Chord Progression" along with the necessary key, bpm and bar information. More details can be found in the dataset section.
<center>
<h2 style="font-size: 24px;"><u>Usage Guide</u></h2>
</center>
<center>
<h2 style="font-size: 19px;">Supported GitHub Interfaces</h2>
<p style="font-size: 16px;">
This model works in both the <a href="https://github.com/RoyalCities/RC-stable-audio-tools">RC Stable Audio Gradio</a> and the <a href="https://github.com/Stability-AI/stable-audio-tools">original Stable Audio GitHub</a>.
</p>
</center>
<b>
<p align="center" style="font-size: 18px;">
You have 2 choices of model - A Full Version and a Smaller Quantized Version which uses less VRAM.
</b>
<b>
<p align="center" style="font-size: 18px;">
To use the model simply place both the .ckpt file and the config .json inside their own sub-folder within the "models" folder and launch the gradio.
</b>
<center>
<h2 style="font-size: 24px;"><u>VST Support</u></h2>
</center>
<b>
<p align="center" style="font-size: 18px;">
This model has direct VST compatibility in the <a href="https://audialab.com/products/deep-sampler-2/" style="font-size: 20px;">Audialab Engine.</a>
</b>
<center>
<h2 style="font-size: 24px;"><u>Prompt Structure</u></h2>
</center>
To ensure the best results, use the following format for your prompts:
<pre><b>
[Vocal Type], Chord Progression, [Key], [BPM], [Bar Count]
</b></pre>
Vocal Type Prompts
```python
["Male Vocal Texture"]
["Female Vocal Texture"]
["Ensemble Vocal Texture"]
```
<center>
<p style="font-size: 16px;"> <b>Examples</b>
</p>
</center>
##### Male vocal prompt with model output.
"Male Vocal Texture, chord progression, D# minor, 128BPM, 8 bars,"
<audio controls src="https://huggingface.co/RoyalCities/Vocal_Textures_Main/resolve/main/example_1.mp3"></audio>
##### Female vocal prompt with model output.
"Female Vocal Texture, chord progression, B major, 120BPM, 8 bars,"
<audio controls src="https://huggingface.co/RoyalCities/Vocal_Textures_Main/resolve/main/example_2.mp3"></audio>
##### Ensemble Vocal Prompt with model output.
"Ensemble Vocal Texture, chord progression, C major, 140BPM, 8 bars,"
<audio controls src="https://huggingface.co/RoyalCities/Vocal_Textures_Main/resolve/main/example_3.mp3"></audio>
<center>
<p style="font-size: 16px;"> <b>BPMs/Bars</b>
</p>
</center>
The BPMs ranged from as low as 100BPM up to 150BPM. The main denominations are **100BPM, 110BPM, 120BPM, 128BPM, 130BPM, 140BPM, 150BPM**.
There are 2 bar settings: **4 bars** and **8 bars**.
<center>
<h2 style="font-size: 24px;"><u>Dataset Breakdown</u></h2>
</center>
<center>
<h2 style="font-size: 19px;">Overview</h2>
</center>
- **Total .wav files**: 5040
- **Total duration**: 980.64 minutes
- **Average Length**: 11.67 seconds
- **Total Size**: 14.50 GB
- **Sample Rate**: 44100 Hz
This dataset was meticulously designed to maintain a perfect balance between major and minor chord progressions, ensuring high accuracy in key generation.
By including an equal number of samples for all 12 tones in both major and minor scales (across 4 and 8 bars), the model achieves precise results. It reliably produces chord progressions in either major or related minor scales, effectively handling the nuances where major and minor scales share the same notes.
For example, in music theory, the F major scale and D minor scale share the same notes, but the tonal center of the chord progression drives the classification. After training, the model accurately generates the correct scale based solely on the prompt.
##### "Male Vocal Texture, chord progression, D minor, 150BPM, 8 bars,"
<audio controls src="https://huggingface.co/RoyalCities/Vocal_Textures_Main/resolve/main/example_4a.mp3"></audio>
##### "Male Vocal Texture, chord progression, F major, 150BPM, 8 bars,"
<audio controls src="https://huggingface.co/RoyalCities/Vocal_Textures_Main/resolve/main/example_4b.mp3"></audio>
<center>
<h2 style="font-size: 19px;">Dataset Details</h2>
</center>
<table align="center" style="width: 80%; border-collapse: collapse;">
<thead>
<tr>
<th style="border: 1px solid black; padding: 8px;">Vocal Type</th>
<th style="border: 1px solid black; padding: 8px;">Major Progression (4 bars)</th>
<th style="border: 1px solid black; padding: 8px;">Major Progression (8 bars)</th>
<th style="border: 1px solid black; padding: 8px;">Minor Progression (4 bars)</th>
<th style="border: 1px solid black; padding: 8px;">Minor Progression (8 bars)</th>
</tr>
</thead>
<tbody>
<tr>
<td style="border: 1px solid black; padding: 8px; text-align: center;"><b>Male</b></td>
<td style="border: 1px solid black; padding: 8px; text-align: center;">420</td>
<td style="border: 1px solid black; padding: 8px; text-align: center;">420</td>
<td style="border: 1px solid black; padding: 8px; text-align: center;">420</td>
<td style="border: 1px solid black; padding: 8px; text-align: center;">420</td>
</tr>
<tr>
<td style="border: 1px solid black; padding: 8px; text-align: center;"><b>Female</b></td>
<td style="border: 1px solid black; padding: 8px; text-align: center;">420</td>
<td style="border: 1px solid black; padding: 8px; text-align: center;">420</td>
<td style="border: 1px solid black; padding: 8px; text-align: center;">420</td>
<td style="border: 1px solid black; padding: 8px; text-align: center;">420</td>
</tr>
<tr>
<td style="border: 1px solid black; padding: 8px; text-align: center;"><b>Ensemble</b></td>
<td style="border: 1px solid black; padding: 8px; text-align: center;">420</td>
<td style="border: 1px solid black; padding: 8px; text-align: center;">420</td>
<td style="border: 1px solid black; padding: 8px; text-align: center;">420</td>
<td style="border: 1px solid black; padding: 8px; text-align: center;">420</td>
</tr>
</tbody>
</table>
<center>
<p style="font-size: 16px;"> <b>The dataset is released on my HF page.</b>
</p>
</center>
<center>
<h2 style="font-size: 19px;">Technical Specifications</h2>
</center>
- **Platform**: Runpod
- **Monitoring Tool**: Weights and Biases
- **Epoch**: 23
- **Steps**: 1800
- **Learning Rate**: 5e-5
- **Optimizer**: AdamW
- **Scheduler**: InverseLR
- **Batch Size**: 32
- **Hardware**: 2x NVIDIA A40 GPUs
See config file for further details.
<center>
<h2 style="font-size: 24px;"><u>Limitations and Biases</u></h2>
</center>
The Model has high accuracy when it comes to staying in key due to the balance in the dataset. The metadata however was designed in such a way that the model is mainly designed to generate chord progressions only - as opposed to the piano model which also generated melodies. This is due to Vocal choir samples often having very long attacks so often sit at the back of a mix or to fill out the frequency space.
I have noticed some light noise in the outputs - in particular the ensemble progressions. It almost sounds like the model is trying to add other instrumentation in. I think this may be due to the base model primarily being trained on music stems rather than vocals but I cannot say for certain - this will need to be corrected in a future model or when there is far more vocal data.
Best use case may be to add some light reverb or post-processing for best results / use in a song.
<center>
<h2 style="font-size: 24px;"><u>Gear Used</u></h2>
</center>
- **DAW:** FL Studio (Image-Line)
- **Vocals:** Multiple Choir Libraries
- **EQ:** PRO-Q3 (FabFilter)
- **Additional Gear:** Fruity Reeverb 2, Shaperbox 3 (Compressor), Soothe2
<center>
<h2 style="font-size: 24px;"><u>License</u></h2>
</center>
This model is licensed under the Stability AI Community License. It is available for non-commercial use or limited commercial use by entities with annual revenues below USD $1M. For revenues exceeding USD $1M, please refer to the [LICENSE](./LICENSE.md) for detailed terms.
|