Apply pitch-correction to a single-voiced signal.
The elastiqueTune task can apply pitch correction to single-voiced audio files such as vocals or a saxophone in addition to the parameters already available in the elastique task (tempo, pitch, and timbre).
Pitch correction allows you to automatically correct intonation problems of a singer or an instrumentalist who deviates too much from the target pitch. If correctly used, it allows you to improve the perceived quality of the musical performance. Pitch correction is sometimes also referred to as "auto-tuning". It cannot by applied to polyphonic audio signals.
Another use case is melody modification. In conjunction with the melody task the elastiqueTune task can be used to change individual notes of a monophonic audio file by passing in a dash-separated list of MIDI note values with the midi_pitches parameter. Example: The melody analysis returns a list of 4 MIDI pitches of 60-64-67-72 (equals C-E-G-C, a C major arpeggio). When calling process/elastiqueTune upon the same audio with a MIDI list of 60-63-67-70 (C-Eb-G-Bb) the audio will be changed to a Cm7 arpeggio.
|pitch_semitones optional||float [-24 .. 24] default: 0||
Shift the pitch up/down (+- 24 semitones).
Change the pitch without changing the tempo. Example: A value of 2.0 leads to pitch increase of 2 semitones and a frequency increase of factor 2^(2/12), respectively.
|tempo_factor optional||float [0.25 .. 4] default: 1||
Scale the tempo up/down by this factor (0.25-4.0).
Change the tempo without changing the pitch. Example: Factor 2.0 leads to twice the tempo and half the file length, respectively.
|formant_semitones optional||float [-12 .. 12] default: 0||
Shift the formants up/down (+- 12 semitones).
Change the timbre without changing tempo/pitch. Use high values for Mickey Mouse and low values for Darth Vader. Link with pitch factor for traditional style pitch shifting.
|pitchcorrection_percent optional||float [0 .. 100] default: 0||
Correct mean pitch per note by this amount (0%-100%).
Set the amount of pitch correction. Example: 0% means no pitch correction at all and 100% means that every note is corrected.
|pitchdrift_percent optional||float [0 .. 200] default: 100||
Control variation around mean pitch per note (0%-200%).
Change the amount of pitch variation from the mean pitch. Example: 0% means the pitch stays exactly the mean pitch and 200% means the pitch varies twice as much.
A list of MIDI pitches separated by '-' for mapping each identified pitch individually in order of appearance.
Each identified pitch in the input audio file is mapped to the new MIDI pitch in the list. If the list ends with '-...' the previous pitch sequence will be repeated until the end of the file. Example: '60-...' will map all pitches in the audio file to middle C.
||One of your personal access_ids.|
A file id or file url or a direct file upload (requires POST).
Upload a local file by performing a POST request with encoding-type "multipart/form-data" (corresponding to an html form with an <input type="file" />)
||Skip audio data before this position.|
||Ignore audio data after this position.|
[true, false] default: true
Whether to call the task in a blocking or non-blocking way.
Blocking calls return the result (audio data) directly. For more info see the response documentation for this task.
[xml, json, jsonp, xmlp, any audio format] default: xml if non-blocking, otherwise ogg
The format to use in the response.
Note that for the formats "jsonp" or "xmlp", the HTTP status code will always be 200.
||Callback function name required when using the format "jsonp" or "xmlp."|
Arbitrary string to add to the logs.
Allows you to add any strings you might find helpful for later analysis of the request logs.
The analysis stage of the algorithm extracts an average pitch for each note of the input melody. The parameters pitchcorrection_percent and pitchdrift_percent are applied relative to each individual note.
A vibrato, for example, will modulate the fundamental frequency around the mean pitch. The parameter pitchcorrection_percent will impact the mean pitch of each note and the parameter pitchdrift_percent the vibrato amplitude.
For additional information on the remaining parameters please refer to the process/elastique parameter documentation.
The response gives you a status code, the file_id and the corresponding download URL of the resulting file (audio for process tasks and xml for analyze tasks). For processing reports, use the file/status request with the parameterformat=xml(p)/json(p).
|status||The status code of the task.|
|file_id||The unique identifier of the file.|
|href||The direct download link to the file including the file_id|
The response will be the resulting audio file. If you request the file_id with format=xml(p)/json(p), you will receive additional info on the task, its parametrization, and the output file.
|warning||If there is anything you should know about, we will tell you here.|
|output_info||Information on the level of the output file: peak_level is the overall maximum level of the output file in dBFS - if peak level is higher than 0, clipped is set to true and you should consider actions to avoid the overload.|
|parameters||Contains the values of all task parameters for this process.|
Replace all notes in this
with a Cmin7-arpeggio and speed it up by a factor of 1.2 with a simple click on this button:
Process Learn more The button is just a link with a specially constructed URL:
&midi_pitches=60-63-67-70-... By requesting this URL, the input file will be imported into the system, processed by sonicAPI and the output file will be downloaded by your browser. The Live-Demo helps you to explore the available parameters and to generate some example code.