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)