ptracks2buf
ptracks2buf(
@frequencies ## llll (required)
@magnitudes ## llll (required)
@phases ## llll (required)
@framesize 2048
@hopsize 512
@ampunit 0
@antimeunit 1
@angleunit 0
@frequnit 0
) -> llll
Converts a partial track analysis, which can be generated via the buf2ptracks function, into a buffer.
warning
buf2ptracks is computationally expensive and can take a long time.
Arguments
@frequencies[llll]: Frequency bins. (required)@magnitudes[llll]: Magnitude bins. (required)@phases[llll]: Phases bins. (required)@framesize[int]: Frame size. (default:2048).@hopsize[int]: Hop size. (default:512).@ampunit[int]: Amplitude unit. (default:0).0: Linear1: Decibels
@antimeunit[int]: Analysis time unit. (default:1).0: Milliseconds1: Samples2: Duration ratio3: Milliseconds difference4: Samples difference
@angleunit[int]: Angle unit. (default:0).0: Radians1: Degrees2: Turns
@frequnit[int]: Unit for frequency components in@func. (default:0).0: Hertz1: BPM2: Midicents3: MIDI
Output
Buffer [llll]
Usage
$buffer = importaudio('poem.wav').setkey('duration', 1500); ## input buffer
$ptracks = $buffer.buf2ptracks(@magnitudethreshold 0.001); ## extract partial tracks
## unpack frequency, magnitude, and phase tracks
$freqs = $ptracks.getkey('frequencies');
$mags = $ptracks.getkey('magnitudes');
$phases = $ptracks.getkey('phases');
## resynthesize to buffer
$resynth = ptracks2buf(
@frequencies $freqs
@magnitudes $mags
@phases $phases
);
## transcribe and render
$resynth.transcribe();
render(@play 1)