pw.getAudio()


Description

  • Get audio data

Parameter

  • pw.getAudio(start, duration)
  • pw.getAudio(start, duration, layerid)
  • pw.getAudio(start, duration, layerid, samplerate)
  • start: Start time of sampling。
  • duration: Duration of sampling。
  • layerid: -1 means current layer, 0~9 means the index of layer parameter, default: -1
  • samplerate: Sample rate, default: 44100

Return

Return four array one by one

  • Waveform samples of left channel (float array, -1~1)
  • Waveform samples of right channel (float array, -1~1)
  • Spectrum samples of left channel (float array, 0~infinity)
  • Spectrum samples of right channel (float array, 0~infinity)

Example

getAudio.lua


pw.in2out()

local wl,wr,fl,fr = pw.getAudio(time-0.1,0.2,-1,44100)
local nm = math.floor(height/8);

for i=1,nm do
    local wid =math.max(math.floor(i/nm*#wl),1)
    local fid = math.max(math.floor(i/nm*#fl/16),1)
    pw.print(string.format("%8.5f",wl[wid]),1,wl[wid]*4,0,-wl[wid]*4)
    pw.print("  < L  R >  ",1,0,0,0)
    pw.print(string.format("%8.5f",wr[wid]),1,wr[wid]*4,0,-wr[wid]*4)
    pw.print("      <   Wave  FFT   >      ",1,0.5,0.5,0.5)
    pw.print(string.format("%8.5f",fl[fid]),1,fl[fid]/math.sqrt(#fl),0,0)
    pw.print("  < L  R >  ",1,0,0,0)
    pw.print(string.format("%8.5f",fr[fid]),1,0,0,fr[fid]/math.sqrt(#fr))
    pw.println("");
end

results matching ""

    No results matching ""