Audialab - EDM Elements 2024
Introduction
Sound Description | Audio |
---|---|
1. Sine / Bell Plucks | |
2. Lead Square Legato Synth | |
3. Lead Square Warm Synth | |
4. Bass Plucks | |
5. Supersaw Leads & Chord Progressions |
Furthermore, the model is capable of generating multiple post-processing effects, with several different levels of control based on the prompt alone. All effects can be prompted individually or together.
- 1. Reverb - Small Reverb, Medium Reverb, High Reverb
- 2. EQ Sweeps - Rising Low-Pass, Falling High-Cut
- 3. Gate Effect - Quarter-Beat gate, Half-Beat Gate
The model has high Audio-To-Audio / Style Transfer capabilities. For example you can upload a .wav sample and have the model turn the sample into say a Supersaw version with a rising low-pass.
Prompt | Settings | Before | After |
---|---|---|---|
Supersaw, high reverb, rising low-pass | CFG: 10.0 / Noise: 1.29 |
Model Features
- Multiple Types of Sample Generation: - Outputs multiple types of high quality EDM-Centric samples with several variations on melody and chord progressions.
- Dynamic FX Chain: - Add multiple effects based on prompt alone (prompts above) - i.e add "Medium Reverb" for a medium reverb effect on the output.
- Tonal Versatility: - Generates stems in any key across the 12-tone chromatic scale, in both major and minor scales.
- Triplet Time Signature Support: - Add "triplets" to any prompt and get triplet outputs.
- AI Style Trasnfer / Audio to Audio: - The model has robust AI Style Transfer capabilities.
- Speed Controls Independent of BPM: - The model can be prompted with "Slow Speed", "Medium Speed" & "Fast Speed" that is independent of BPM. i.e. ask for an arp at a "Fast speed" at 140BPM vs "slow speed" at 140BPM and the model will subdivide the notes accordingly while staying within the same bpm.
- Simplified Scale Notation: - Scales are written using sharps only in the following format:
Minor Scales A minor, A# minor, B minor, C minor, C# minor, D minor, D# minor, E minor, F minor, F# minor, G minor, G# minor Major Scales A major, A# major, B major, C major, C# major, D major, D# major, E major, F major, F# major, G major, G# major
Training Methodology
This model was designed to understand and generate several types of samples:
- Chord Progression Samples
- Chord Progression with Melody Samples
- Melody Only Samples
- Supersaw Dance Chord Progressions
- Bass Plucks / Riffs
- Arps
By exposing the model to various musical motifs and distinct sample differences, it has SOTA musicality and melody structure with output samples ready to use in music production.
Prompt Structure
Both the Audialab Engine (VST) and RC Github fork are best used when working with this model. The RC Github also features a randomized prompt button tuned to this models metadata.
If you wish to prompt outside of these interfaces - then to ensure the best results use the following format for your prompts:
[Sound Type], [Modifier][Chord Progression], [Modifier][Melody Type], [Key], [FX], [BPM], [Bar Count]
[Sound Type Prompts]
- 1. Bell Plucks: - 'Pluck, Sine, Bright, Clean, Bell'
- 2. Lead Square Legato Synth - 'Lead, Square, Synth, Buzzy, Legato'
- 3. Lead Square Warm Synth - 'Lead, Saw, Synth, Warm, Supersaw'
- 4. Pluck Bass - 'Bass, Punchy, Pluck, Clean, Sub, Sine'
- 5. Supersaw Leads & Chord Progressions 'Supersaw, Synth, Warm, Saw'
Major prompt terms and their effects
- Chord Progression - produces chord progressions
- Arp - produces arps
- Melody - adds melodies
- Triplets - outputs triplet time
- Bounce - more syncopassion/ off beat rhythm
- Epic - encourages more interesting melodic output
- Simple - slower / simpler melodies / chord progressions
- Slow speed - slower chord progressions, arps and melodies
- Medium speed - encouraged 4/4 chord changes or melodies
- Fast speed - higher subdivisions / faster arps and melodies
- Complex - adds complex melodies or chord structure.
- Rising - encourages rising arps / melodies
- Falling - encourages falling arps / melodies
- See random prompt document for further terms / examples HERE
Prompt Examples with Audio
Prompt | Example 1 | Example 2 | Example 3 |
---|---|---|---|
Bell pluck, chord progression, top catchy melody, E major, high reverb, 8 bars, 100BPM | |||
Saw, supersaw, chord progression, top melody, E minor, rising low-pass, 4 bars, 128BPM | |||
Sine, Bass, Bounce, Catchy Melody, G minor, 8 bars, 110BPM | |||
Sine, Bell, Pluck, chord progression with slow melody, B minor, high reverb, rising low-pass, 8 bars, 140BPM | |||
Supersaw, dance chord progression, top triplet melody, F# minor, medium reverb, 8 bars, 130BPM | |||
Synth, saw, fast speed, falling arp, medium reverb, falling high-cut, C major, 4 bars, 150 BPM | |||
legato, square, catchy melody, high reverb, E minor, 8 bars, 130PM | |||
supersaw, complex, epic, arp, D# minor, 8 bars, 140BPM |
Audio to Audio / Style Transfer Showcase
Prompt | Settings | Before | After |
---|---|---|---|
supersaw, medium reverb | CFG: 9.0 / Noise: 1.16 | ||
Pluck Bell, Medium Reverb | CFG: 8.2 / Noise: 1.21 | ||
Supersaw, high reverb, rising low-pass | CFG: 10 / Noise: 1.29 |
Prompt Examples
You can find a handy list of starter prompts HERE
BPMs/Bars:
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.
Useage Guide
VST Support
This model has direct VST compatibility in Audialab Engine.
Gradio Interfaces
You can find a direct link to a custom GitHub interface here.
If you wish to use the original Stable Audio Github then you can follow this link.
You will find 2 checkpoints files in the repo:
Audialab_EDM_Elements.ckpt - Full 32 bit model
and
Audialab_EDM_Elements_Small.ckpt - 16-bit low VRAM version
along with the associated config file - model_config.json
To use the model you would choose either the full model or the 16-bit quantized model. Once chosen place the .ckpt file and the config .json inside their own sub-folder in the "models" folder and launch the gradio.
Dataset Breakdown
Overview
- Total .wav files: 606,976
- Total Size: 58.03 GB (pre-encode)
- Sample Rate: 44100 Hz
Sample Breakdown
Sound Type | Sample Count |
---|---|
Bell Pluck | 100,553 |
Warm Supersaw | 100,320 |
Square Lead | 54,475 |
Square Buzzy Lead | 54,845 |
Pluck Bass | 54,732 |
Augment Breakdown
Augment Category | File Count |
---|---|
Low Cut Rise w/ Half Gate | 22,763 |
High Cut Faller w/ Half Gate | 22,849 |
Reverb Augments | 90,180 |
Gate Augments | 30,045 |
High Cut Faller Quarter Bar Gate | 22,703 |
Low Cut Rise w/ Quarter Gate | 22,589 |
High Cut & Low Cut Augments | 30,922 |
While the dataset appears quite large it featured heavy augmentation. For example a single melody could be stretched into multiple keys and multiple tempos with slight changes for variance. This means the training time must be carefully watched to ensure it doesn't overfit to specific melodic patterns.
Further the FX augments used the original stem but with only say a "high reverb" preset applied. This stretches the data further and lets the model hone in one this specific component of the sound (as it's seen both no-FX versions along with identical FX applied versions)
Technical Specifications
- Platform: Runpod
- Monitoring Tool: Weights and Biases
- Total Steps: 33,436
- Final Checkpoint Step: 28,452
- Learning Rate: 5e-5
- Dataset type: Pre-encode
- Optimizer: AdamW
- Scheduler: InverseLR
- Batch Size: 32
- Hardware: 2x NVIDIA A40 GPUs
See config file for further details.
Limitations and Biases
The model itself has very high musicality and can essentialy be used as an infinite sample + melody generator. A limitation however of the model is since it was created using our own dataset it is not set up for genre prompting and/or sound types outside of the ones mentioned above. i.e. A prompt like "House, Pad, Guitar" would not produce such samples.
In the future with scale - genre prompting and additional sound types can be released in future models.
Lastly as mentioned it has very robust audio-to-audio capabilities however the input audio should be within a similiar frequency space as the desired output. For example if you had a piano progression and wanted to change it to a supersaw then it will do very well. But if you put a bass sample as the input (which usually falls within the lower frequency spectrum) and ask for a supersaw version (which falls within the mid-to high frequency) then the model will struggle with the conversion. A workaround is to pitch the input sample up or down to get near to the desired output frequency range. i.e. if you wanted to AI style transfer a piano melody to a bass pluck then pitching the input piano sample down a few semitones and then converting to bass will have better results.
Additional details
- Dataset: Internal IP + Tooling
- Gate Module: Custom NumPy FX
- Reverb Effect Solaris Reverb
- EQ: Simple EQ Effect (riser/faller)
License
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 for detailed terms.
Model tree for adlb/Audialab_EDM_Elements
Base model
stabilityai/stable-audio-open-1.0