A professional DJ will have good knowledge of beat counting (BPM), frequencies and harmonic mixing. Understanding these is a fundamental part of the learning process. Music pitch changer. Music pitch changer.
- Stringed 2 8 – Shift Pitch And Manipulate Tempo Music Examples
- Stringed 2 8 – Shift Pitch And Manipulate Tempo Music Video
- Stringed 2 8 – Shift Pitch And Manipulate Tempo Music Youtube
- Stringed 2 8 – Shift Pitch And Manipulate Tempo Music Definition
pretty_midi
contains utility function/classes for handling MIDI data,so that it’s in a format from which it is easy to modify and extractinformation.If you end up using pretty_midi
in a published research project, pleasecite the following report:Colin Raffel and Daniel P. W. Ellis.Intuitive Analysis, Creation and Manipulation of MIDI Data with pretty_midi.In 15th International Conference on Music Information Retrieval Late Breakingand Demo Papers, 2014.
Example usage for analyzing, manipulating and synthesizing a MIDI file:
Example usage for creating a simple MIDI file:
Further examples can be found in the source tree’s examples directory.
pretty_midi.PrettyMIDI
¶
pretty_midi.
PrettyMIDI
(midi_file=None, resolution=220, initial_tempo=120.0)¶A container for MIDI data in an easily-manipulable format.
Parameters: | midi_file : str or file
resolution : int
initial_tempo : float
|
---|
Attributes
instruments | (list) List of pretty_midi.Instrument objects. |
key_signature_changes | (list) List of pretty_midi.KeySignature objects. |
time_signature_changes | (list) List of pretty_midi.TimeSignature objects. |
lyrics | (list) List of pretty_midi.Lyric objects. |
__init__
(midi_file=None, resolution=220, initial_tempo=120.0)¶Initialize either by populating it with MIDI data from a file orfrom scratch with no data.
get_tempo_changes
()¶Return arrays of tempo changes in quarter notes-per-minute and theirtimes.
Returns: | tempo_change_times : np.ndarray tempi : np.ndarray
|
---|
![Stringed 2 8 – Shift Pitch And Manipulate Tempo Music Stringed 2 8 – Shift Pitch And Manipulate Tempo Music](https://i1.wp.com/www.macbed.com/wp-content/uploads/2018/04/49191.png?resize=256%2C256&ssl=1)
get_end_time
()¶Returns the time of the end of the MIDI object (time of the lastevent in all instruments/meta-events).
Returns: | end_time : float |
---|
estimate_tempi
()¶Return an empirical estimate of tempos and each tempo’s probability.Based on “Automatic Extraction of Tempo and Beat from ExpressivePerformance”, Dixon 2001.
Returns: | tempos : np.ndarray
probabilities : np.ndarray
|
---|
estimate_tempo
()¶Returns the best tempo estimate from
pretty_midi.PrettyMIDI.estimate_tempi()
, for convenience.Returns: | tempo : float |
---|
get_beats
(start_time=0.0)¶Stringed 2 8 – Shift Pitch And Manipulate Tempo Music Examples
Returns a list of beat locations, according to MIDI tempo changes.For compound meters (any whose numerator is a multiple of 3 greaterthan 3), this method returns every third denominator note (for 6/8or 6/16 time, for example, it will return every third 8th note or16th note, respectively). For all other meters, this method returnsevery denominator note (every quarter note for 3/4 or 4/4 time, forexample).
Parameters: | start_time : float
|
---|---|
Returns: | beats : np.ndarray |
estimate_beat_start
(candidates=10, tolerance=0.025)¶Estimate the location of the first beat based on which of the firstfew onsets results in the best correlation with the onset spike train.
Parameters: | candidates : int
tolerance : float
|
---|---|
Returns: | beat_start : float
|
get_downbeats
(start_time=0.0)¶Return a list of downbeat locations, according to MIDI tempo changesand time signature change events.
Parameters: | start_time : float |
---|---|
Returns: | downbeats : np.ndarray
|
get_onsets
()¶Return a sorted list of the times of all onsets of all notes fromall instruments. May have duplicate entries.
Returns: | onsets : np.ndarray |
---|
get_piano_roll
(fs=100, times=None, pedal_threshold=64)¶Compute a piano roll matrix of the MIDI data.
Parameters: | fs : int
times : np.ndarray Live home 3d 3 6 2013.
pedal_threshold : int
|
---|---|
Returns: | piano_roll : np.ndarray, shape=(128,times.shape[0])
|
get_pitch_class_histogram
(use_duration=False, use_velocity=False, normalize=True)¶Computes the histogram of pitch classes.
Parameters: | use_duration : bool use_velocity : bool
normalize : bool
|
---|---|
Returns: | histogram : np.ndarray, shape=(12,)
|
get_pitch_class_transition_matrix
(normalize=False, time_thresh=0.05)¶Computes the total pitch class transition matrix of all instruments.Transitions are added whenever the end of a note is within
time_thresh
from the start of any other note.Parameters: | normalize : bool
time_thresh : float
|
---|---|
Returns: | pitch_class_transition_matrix : np.ndarray, shape=(12,12) |
get_chroma
(fs=100, times=None, pedal_threshold=64)¶Get the MIDI data as a sequence of chroma vectors.
Parameters: | fs : int
times : np.ndarray
pedal_threshold : int
|
---|---|
Returns: | piano_roll : np.ndarray, shape=(12,times.shape[0])
|
synthesize
(fs=44100, wave=<ufunc 'sin'>)¶Synthesize the pattern using some waveshape. Ignores drum track.
Parameters: | fs : int wave : function
|
---|---|
Returns: | synthesized : np.ndarray |
fluidsynth
(fs=44100, sf2_path=None)¶Synthesize using fluidsynth.
Parameters: | fs : int
sf2_path : str
|
---|---|
Returns: | synthesized : np.ndarray |
tick_to_time
(tick)¶Converts from an absolute tick to time in seconds using
self.__tick_to_time
.Parameters: | tick : int
|
---|---|
Returns: | time : float |
time_to_tick
(time)¶Converts from a time in seconds to absolute tick using
self._tick_scales
.Parameters: | time : float
|
---|---|
Returns: | tick : int |
adjust_times
(original_times, new_times)¶Adjusts the timing of the events in the MIDI object.The parameters
original_times
and new_times
define a mapping,so that if an event originally occurs at time original_times[n]
, itwill be moved so that it occurs at new_times[n]
. If events don’toccur exactly on a time in original_times
, their timing will belinearly interpolated.Parameters: | original_times : np.ndarray
new_times : np.ndarray |
---|
remove_invalid_notes
()¶Removes any notes whose end time is before or at their start time.
write
(filename)¶Write the MIDI data out to a .mid file.
Parameters: | filename : str or file
|
---|
pretty_midi.Instrument
¶
pretty_midi.
Instrument
(program, is_drum=False, name=')¶Object to hold event information for a single instrument.
Parameters: | program : int
is_drum : bool name : str
|
---|
Attributes
program | (int) The program number of this instrument. |
is_drum | (bool) Is the instrument a drum instrument (channel 9)? |
name | (str) Name of the instrument. |
notes | (list) List of pretty_midi.Note objects. |
pitch_bends | (list) List of of pretty_midi.PitchBend objects. |
control_changes | (list) List of pretty_midi.ControlChange objects. |
__init__
(program, is_drum=False, name=')¶Create the Instrument.
Stringed 2 8 – Shift Pitch And Manipulate Tempo Music Video
get_onsets
()¶Get all onsets of all notes played by this instrument.May contain duplicates.
Returns: | onsets : np.ndarray |
---|
get_piano_roll
(fs=100, times=None, pedal_threshold=64)¶Compute a piano roll matrix of this instrument.
Parameters: | fs : int
times : np.ndarray
pedal_threshold : int
|
---|---|
Returns: | piano_roll : np.ndarray, shape=(128,times.shape[0]) |
get_chroma
(fs=100, times=None, pedal_threshold=64)¶Get a sequence of chroma vectors from this instrument.
Parameters: | fs : int
times : np.ndarray
pedal_threshold : int
|
---|---|
Returns: | piano_roll : np.ndarray, shape=(12,times.shape[0]) |
get_end_time
()¶Returns the time of the end of the events in this instrument.
Returns: | end_time : float
|
---|
get_pitch_class_histogram
(use_duration=False, use_velocity=False, normalize=False)¶Computes the frequency of pitch classes of this instrument,optionally weighted by their durations or velocities.
Parameters: | use_duration : bool use_velocity : bool
normalize : bool
|
---|---|
Returns: | histogram : np.ndarray, shape=(12,)
|
get_pitch_class_transition_matrix
(normalize=False, time_thresh=0.05)¶Computes the pitch class transition matrix of this instrument.Transitions are added whenever the end of a note is within
time_tresh
from the start of any other note.Parameters: | normalize : bool
time_thresh : float
|
---|---|
Returns: | transition_matrix : np.ndarray, shape=(12,12) |
remove_invalid_notes
()¶Removes any notes whose end time is before or at their start time.
synthesize
(fs=44100, wave=<ufunc 'sin'>)¶Synthesize the instrument’s notes using some waveshape.For drum instruments, returns zeros.
Parameters: | fs : int
wave : function
|
---|---|
Returns: | synthesized : np.ndarray
|
fluidsynth
(fs=44100, sf2_path=None)¶Synthesize using fluidsynth.
Parameters: | fs : int sf2_path : str
|
---|---|
Returns: | synthesized : np.ndarray |
pretty_midi.Note
¶
pretty_midi.
Note
(velocity, pitch, start, end)¶A note event.
Parameters: | velocity : int pitch : int
start : float end : float
|
---|
__init__
(velocity, pitch, start, end)¶
get_duration
()¶Get the duration of the note in seconds.
duration
¶
pretty_midi.PitchBend
¶
pretty_midi.
PitchBend
(pitch, time)¶A pitch bend event.
Parameters: | pitch : int
time : float |
---|
__init__
(pitch, time)¶
pretty_midi.ControlChange
¶
pretty_midi.
ControlChange
(number, value, time)¶A control change event.
Parameters: | number : int value : int
time : float |
---|
__init__
(number, value, time)¶
pretty_midi.TimeSignature
¶
pretty_midi.
TimeSignature
(numerator, denominator, time)¶Container for a Time Signature event, which contains the time signaturenumerator, denominator and the event time in seconds.
Examples
Instantiate a TimeSignature object with 6/8 time signature at 3.14 seconds:
Attributes
numerator | (int) Numerator of time signature. |
denominator | (int) Denominator of time signature. |
time | (float) Time of event in seconds. |
__init__
(numerator, denominator, time)¶
pretty_midi.KeySignature
¶
pretty_midi.
KeySignature
(key_number, time)¶Contains the key signature and the event time in seconds.Only supports major and minor keys.
Examples
Instantiate a C# minor KeySignature object at 3.14 seconds:
Attributes
key_number | (int) Key number according to [0,11] Major, [12,23] minor. For example, 0 is C Major, 12 is C minor. |
time | (float) Time of event in seconds. |
__init__
(key_number, time)¶
pretty_midi.Lyric
¶
pretty_midi.
Lyric
(text, time)¶Timestamped lyric text.
Attributes
text | (str) The text of the lyric. |
time | (float) The time in seconds of the lyric. |
__init__
(text, time)¶
Utility functions¶
pretty_midi.
key_number_to_key_name
(key_number)¶Convert a key number to a key string.
Parameters: | key_number : int
|
---|---|
Returns: | key_name : str
|
pretty_midi.
key_name_to_key_number
(key_string)¶Convert a key name string to key number.
Parameters: | key_string : str
|
---|---|
Returns: | key_number : int
|
pretty_midi.
mode_accidentals_to_key_number
(mode, num_accidentals)¶Convert a given number of accidentals and mode to a key number.
Parameters: | mode : int num_accidentals : int
|
---|---|
Returns: | key_number : int |
pretty_midi.
key_number_to_mode_accidentals
(key_number)¶Converts a key number to number of accidentals and mode.
Parameters: | key_number : int
|
---|---|
Returns: | mode : int num_accidentals : int
|
pretty_midi.
qpm_to_bpm
(quarter_note_tempo, numerator, denominator)¶Converts from quarter notes per minute to beats per minute.
Parameters: | quarter_note_tempo : float numerator : int
denominator : int |
---|---|
Returns: | bpm : float
|
pretty_midi.
note_number_to_hz
(note_number)¶Convert a (fractional) MIDI note number to its frequency in Hz.
Parameters: | note_number : float |
---|---|
Returns: | note_frequency : float
|
pretty_midi.
hz_to_note_number
(frequency)¶Convert a frequency in Hz to a (fractional) note number.
Parameters: | frequency : float |
---|---|
Returns: | note_number : float
|
pretty_midi.
note_name_to_number
(note_name)¶Converts a note name in the format
'(note)(accidental)(octavenumber)'
(e.g. 'C#4'
) to MIDI notenumber.'(note)'
is required, and is case-insensitive.'(accidental)'
should be '
for natural, '#'
for sharp and'!'
or 'b'
for flat.If
'(octave)'
is '
, octave 0 is assumed.Parameters: | note_name : str |
---|---|
Returns: | note_number : int
|
Notes
Thanks to Brian McFee.
pretty_midi.
note_number_to_name
(note_number)¶Convert a MIDI note number to its name, in the format
'(note)(accidental)(octavenumber)'
(e.g. 'C#4'
).Parameters: | note_number : int
|
---|---|
Returns: | note_name : str |
Notes
Thanks to Brian McFee.
pretty_midi.
note_number_to_drum_name
(note_number)¶Converts a MIDI note number in a percussion instrument to thecorresponding drum name, according to the General MIDI standard.
Any MIDI note number outside of the valid range (note 35-81, zero-indexed)will result in an empty string.
Parameters: | note_number : int
|
---|---|
Returns: | drum_name : str
|
Notes
See http://www.midi.org/techspecs/gm1sound.php
pretty_midi.
drum_name_to_note_number
(drum_name)¶Converts a drum name to the corresponding MIDI note number for apercussion instrument. Conversion is case, whitespace, andnon-alphanumeric character insensitive.
Parameters: | drum_name : str
|
---|---|
Returns: | note_number : int |
Notes
See http://www.midi.org/techspecs/gm1sound.php
pretty_midi.
program_to_instrument_name
(program_number)¶Converts a MIDI program number to the corresponding General MIDIinstrument name.
Parameters: | program_number : int
|
---|---|
Returns: | instrument_name : str
|
Notes
See http://www.midi.org/techspecs/gm1sound.php
pretty_midi.
instrument_name_to_program
(instrument_name)¶Converts an instrument name to the corresponding General MIDI programnumber. Conversion is case, whitespace, and non-alphanumeric characterinsensitive.
Parameters: | instrument_name : str
|
---|---|
Returns: | program_number : int
|
Notes
See http://www.midi.org/techspecs/gm1sound.php
pretty_midi.
program_to_instrument_class
(program_number)¶Converts a MIDI program number to the corresponding General MIDIinstrument class.
Parameters: | program_number : int |
---|---|
Returns: | instrument_class : str
|
Notes
See http://www.midi.org/techspecs/gm1sound.php
pretty_midi.
pitch_bend_to_semitones
(pitch_bend, semitone_range=2.0)¶Convert a MIDI pitch bend value (in the range
[-8192,8191]
) to thebend amount in semitones.Parameters: | pitch_bend : int semitone_range : float
|
---|---|
Returns: | semitones : float
|
pretty_midi.
semitones_to_pitch_bend
(semitones, semitone_range=2.0)¶Convert a semitone value to the corresponding MIDI pitch bend integer.
Parameters: | semitones : float semitone_range : float
|
---|---|
Returns: | pitch_bend : int |
Disclosure: When you buy through our links, we may get a commission at zero cost to you.
I guess you would have to agree with me that the best way to polish your vocal recording or a vocal sample is to sprinkle some effects, just like the way you would sprinkle a reasonable amount of ingredients on your food. If done right, it sounds delicious right, yum yum ?
Vocal effects are no exception to the ingredient perspective, you need to add a reasonable amount of effects to make them sound lively, and enjoyable to the listeners.
Don’t get me wrong, I ain’t saying you should stack effects upon effects on your vocal samples, too much of everything is bad. That said, let us look at the best free awesome VST effects plugin in the music production scene.
Let’s ride on…
Page Contents
- 5.) g200kg – KeroVee
- 10.) MGF – TimeWarp
1.) AegeanMusic – PitchProof
If you haven’t heard of PitchProof, then, you are definitely missing out, this is like the secret tool I use on Vocals but it wasn’t even developed for Vocal, it was actually designed to work on monophonic signals such as guitar solos, but I’ll give you a tip on how I have been using it:
You don’t want to apply it in realtime, what you should do instead is to first select the key of the harmony, then you turn the Blend knob all the way to the right; wet e.g:
Export the vocal result, add whatever effects plugins you gat on your toolbox (vocal, flangers, etc) to spice up the pitched vocal, and then stack it on top of the original vocal. Boom, you have something unique!
Note: You don’t have to always push it all through the wet side as this might cause artifacts, just experiment and stick with what works for you.
You can even export more vocal, and maybe this time, you can try by reducing the detune knob, anyways, experiment until you get your preferred test.
That said, let’s look at some of the features of PitchProof:
The Blend control knob would let you adjust the level of pitch shift, while the Pitch drop-down menu lets you select pitches like +7 or -7, or harmonies which are intelligent pitch-shift effects.
Moreover, there are also some options at the bottom of the PitchProof plugin which give you the option to switch between stereo and mono; mono could save your CPU, while the stereo option could cause a resource hog if used on multiple inserts.
Transient Fix can be switch on or off to spice things up a little!
Harmony | Info |
2nd | Dissonant harmonies |
3rd | The Typical Major/minor Chord Harmony |
4th | The same as the +5 semitones setting except a few notes are flat. |
5th | The Same as The +7 Semitones Setting Except the Last Note of The Major Scale Is Flat Making It “diminished”. |
6th | A nice-sounding alternative to typical harmony intervals. |
7th | Dissonant 7th Chord Sounds. |
2.) Auburn Sounds – Graillon
This is an autotune VST plugins designed and developed by Auburnsounds. This plugin is superb in the way it handles pitch correction.
It not only supports pitch correction but supports the generation of throat sounds, making octave sounds, enriching, and enhancing vocal expressiveness.
Also, there is a pitch shift parameter that transposes vocals up and down in octaves and semitones.
Features:
- Pitch Shifter cleanly transposes a voice up and down and has been optimized for voice.
- Pitch Correction module brings an immediate robotic sound, while the Bitcrusher addition softly adds sparkles to the mix.
- Freemium
System Requirements
- Available as VST, VST2, AAX, and Audio Unit plugin for macOS and Windows platform.
Download Graillion Auto-Tune Plugin
3.) JHudStudio – Vocal King
Vocal King helps glue the vocal in a mix, and it comes preloaded cool parameters, that could help in customizing the audio signal of a vocal track.
The Pres Compressor knob helps in bringing out the clarity of a vocal, so, by turning up the gain of the Pres Comp brings out the presence in the vocal along with giving it a smooth compression. On the other hand, the Low cut, Tighten, and the Bass knob compliment the Pres Comp in taking out muddy frequencies without the vocal sounding too thin.
I also love playing with the Crispy knob as it sprinkles some sparkles to the audio signal.
Features:
- Help vocals to stand out in a mix by giving them amazing presence, clarity, and compression. Can easily work on any other content.
- Acts like are preamp giving the signal a strong boost.
- Easy to use interface for fast results.
- Easy to read meters
- Very CPU efficient compared to other types of plugins.
- It can be used on many other audio sources as well.
System Requirements
- Vocal King supports MAC/Windows/32bit/64bit/VST2/VST3/AU. Supports MAC OS X 10.7 / Windows 7 and higher. Older systems may not work.
4.) Sonic Anomaly – Vola
Vola is a Voice Optimized Leveling Amplifier made for broadcast voice dynamics processing, it also works with different kinds of audio material, like drums, percussive instrument, and synth pads.
This fantastic tool is solely for cleaning up sound files but can be used for extreme compression effects as well.
Features
- Real-time Visual Metering for changes in dynamics
- Upwards & downwards compression, each separately adjustable.
- Stats Display and more compression settings
Download Vola Vst (Windows)
Download Vola Jsfx (Windows and Mac)
5.) g200kg – KeroVee
This is a pitch correction VST plugin tool and has strengthened to support natural pitch correction.
This tool is handy and can perform different and various types of voice effects, for example, a conversion of the male voice to a female voice and vice versa.
KeroVee comes bundled with useful parameters for the effectiveness of the auto-tuning process, Parameter includes:
- Scale Button: This is for specifying the scale you want to tune. Setting a wrong scale would result in an awful result, in a simple sentence, Know your scale before you go into this one
- TuneSpeed: This will allow you to set the speed of correcting the pitch.
- Nuance: This is one of the best and lovely parameters, you can use this to set a fine vibrato of the original sound, use this to create all sorts of weird effects.
- Amount: Set to zero (0) if you want no correction, setting to 100 will result in full correction of the pitch
- and many more parameters like Transpose option, master volume, etc.
System Requirements
- A compatible host program that supports the VST formats
6.) Martin Eastwood – Duet
Have you heard those natural double effects in some tracks! Do you wonder how those are created? I guess yes ?
Let me introduce to you – Duet, a double-tracking effect designed to enhance your audio sample be it vocal or even instruments, Duet is well capable of sparkling them up. The way Duet work is by pitch-shifting both the left and right inputs individually using a novel synchronous overlap and add technique, allowing pitch to be manipulated in real-time while still maintaining the time duration of the audio.
One thing I love about Duet is the way it can accurately create the illusion of multi-voices and adds varied texture to the mix. Experiment with Duet to see how it works.
Note: This is only available for Window
7.) MaxSynths – DSP-2
DSP-2 is designed with an intelligent Dynamic Processor, a 4-band equalizer fixed on vocal key frequencies, a saturator, and a room emulator based on the Schroeder reverberator. DSP is super simple to use and can serve basically all your vocal processing needs, again, experiment and keep experimenting to get the best settings that would soothe your need.
Features:
- Intelligent Dynamic Processor (IDP).
- 4 different automatic operative modes.
- Selectable compression ratio.
- Saturator with three different operation modes.
- EQ fixed on vocal key frequencies.
- Room emulator based on the Schroeder reverb model.
- Transparent increment of the perceived volume level.
- High precision input/output VU-meter.
- Low CPU usage.
8.) Distorque – Azurite
Stringed 2 8 – Shift Pitch And Manipulate Tempo Music Youtube
Azurite is a vocal effect by Distorque which is built for multi-voice chorus with a focus on rich sounds and versatile controls.
According To Distorque:
My goal in designing it was to make as flexible a chorus as possible without losing great tones and ease of use. The result is an effect that will be handy for producers, guitarists, and glitch lovers alike.
One of the great features of this plugin is the way you can create multiple simultaneous voices. Each of these voices can be further customized with their own delay line that is modulated by a separate LFO. Adding multiple voices leads to a thicker, smoother, and less wobbly tone. It also makes vivid stereo spreading possible with a mono signal.
The voice control helps you to choose how many voices you want for the chorus, e.g one, two, four, or eight.
Features:
- Stereo or mono operation.
- Colour control emulates vintage analog choruses.
- 2 band EQ.
- LFO tempo sync.
- Feedback control allows for flanger sounds.
- 27 built-in presets.
- Delay time from 0.2ms to 200ms.
- 7 LFO shapes: Sine, Triangle, Sawtooth, Ramp, Exponential, Inverse Exponential, and Random.
- Spread control for a stereo widening of a mono signal.
- Control randomizer.
- Other controls: Depth, Speed, Wet Mix, Output, Separation, Dry Delay.
Note: This is only available for Window
Download Azurite Win 32 VST / Win 64 VST
9.) TerryWest – EasyVox
EasyVox contains a bunch of tool for vocal processing, such as:
- Dynamic mono vocal compressor/limiter/enhancer
- Three bands equalizer
- Autogain and Pre-Limiter
- Auto Noisegate
- Auto Band-off
- Three EQ models
- Fine EQ option
- EQ activity/bypass LEDs
- Low-Mid-Hicut
- Vocal Doubler effect
- Pre in/Post out gain
- In/out/reduction meters
Donate To The Developer, It helps him to build more exciting plugins
Note: This is only available for Window
10.) MGF – TimeWarp
Last on our list is Timewarp by MGF, which is a vibrato effect with 2 LFOs which can pan the pitch modulation amount for a stereo effect.
Features:
- Sine, Triangle, Saw and random waves with control over the shape and smoothing.
- Optional 4x upsampling and a smooth modulation algorithm ensure clean sound with minimal aliasing. Normal quality
- saves CPU and sounds brighter but less silky.
- 2 different interpolation algorithms are available (ALG).
- Fast modulation settings possible and encouraged
That is it, Good luck and have fun with music!