PageSourceSearch

https://www.liquidsoap.info/assets/js/27f8703e.0b59b894.js

js liquidsoap.info collected 2026-10-03 22:41:23 UTC 26,514 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunksite=self.webpackChunksite||[]).push([["26026"],{95748(e,c,d){d.r(c),d.d(c,{metadata:()=>n,default:()=>a,frontMatter:()=>s,contentTitle:()=>o,toc:()=>t,assets:()=>r});var n=JSON.parse('{"id":"reference/track-audio-processing","title":"Track / Audio processing","description":"Mix audio tracks with optional normalization.","source":"@site/docs/reference/track-audio-processing.md","sourceDirName":"reference","slug":"/reference/track-audio-processing","permalink":"/doc-dev/reference/track-audio-processing","draft":false,"unlisted":false,"tags":[],"version":"current","frontMatter":{"title":"Track / Audio processing","description":"Mix audio tracks with optional normalization."}}'),i=d(74848),l=d(28453);let s={title:"Track / Audio processing",description:"Mix audio tracks with optional normalization."},o,r={},t=[{value:"<code>track.audio.add</code>",id:"track.audio.add",level:3},{value:"<code>track.audio.amplify</code>",id:"track.audio.amplify",level:3},{value:"<code>track.audio.clip</code>",id:"track.audio.clip",level:3},{value:"<code>track.audio.comb</code>
1",id:"track.audio.comb",level:3},{value:"<code>track.audio.compand</code>",id:"track.audio.compand",level:3},{value:"<code>track.audio.compress</code>",id:"track.audio.compress",level:3},{value:"<code>track.audio.compress.exponential</code>",id:"track.audio.compress.exponential",level:3},{value:"<code>track.audio.map</code>",id:"track.audio.map",level:3},{value:"<code>track.audio.stereo.ms.decode</code>",id:"track.audio.stereo.ms.decode",level:3},{value:"<code>track.audio.stereo.ms.encode</code>",id:"track.audio.stereo.ms.encode",level:3},{value:"<code>track.audio.stereo.pan</code>",id:"track.audio.stereo.pan",level:3},{value:"<code>track.audio.stereo.width</code>",id:"track.audio.stereo.width",level:3},{value:"<code>track.audio.stereotool</code>",id:"track.audio.stereotool",level:3},{value:"<code>track.audio.stretch</code>",id:"track.audio.stretch",level:3},{value:"<code>track.decode.audio.pcm_f32</code>",id:"track.decode.audio.pcm_f32",level:3},{value:"<code>track.decode.audio.pcm_s16</code>",id:"track.decode.audio.pcm_s16",level:3},{value:"<code>track.encode.audio.pcm_f32</code>",id:"track.encode.audio.pcm_f32",level:3},{value:"<code>track.encode.audio.pcm_s16</code>",id:"track.encode.audio.pcm_s16",level:3}];function h(e){let c={code:"code",h3:"h3",li:"li",p:"p",pre:"pre",ul:"ul",...(0,l.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(c.h3,{id:"track.audio.add",children:(0,i.jsx)(c.code,{children:"track.audio.add"})}),"\n",(0,i.jsx)(c.p,{children:"Mix audio tracks with optional normalization."}),"\n",(0,i.jsx)(c.p,{children:"Type:"}),"\n",(0,i.jsx)(c.pre,{children:(0,i.jsx)(c.code,{children:"(?id : string?, [pcm('a).{weight? : {float}}], ?normalize : {bool},\n ?power : {bool}) -> pcm('a)\n"})}),"\n",(0,i.jsx)(c.p,{children:"Arguments:"}),"\n",(0,i.jsxs)(c.ul,{children:["\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"id"})," (of type ",(0,i.jsx)(c.code,{children:"string?"}),", which defaults to ",(0,i.jsx)(c.code,{children:"null"}),"): Force the value of the track ID."]}),"\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"(unlabeled)"})," (of type ",(0,i.jsx)(c.code,{children:"[pcm('a).{weight? : {float}}]"}),")"]}),"\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"normalize"})," (of type ",(0,i.jsx)(c.code,{children:"{bool}"}),", which defaults to ",(0,i.jsx)(c.code,{children:"true"}),"): Divide by the sum of weights of ready sources (or by the number of ready sources if weights are not specified)."]}),"\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"power"})," (of type ",(0,i.jsx)(c.code,{children:"{bool}"}),", which defaults to ",(0,i.jsx)(c.code,{children:"false"}),"): Perform constant-power normalization."]}),"\n"]}),"\n",(0,i.jsx)(c.h3,{id:"track.audio.amplify",children:(0,i.jsx)(c.code,{children:"track.audio.amplify"})}),"\n",(0,i.jsx)(c.p,{children:"Multiply the amplitude of the signal."}),"\n",(0,i.jsx)(c.p,{children:"Type:"}),"\n",(0,i.jsx)(c.pre,{children:(0,i.jsx)(c.code,{children:"(?id : string?, ?override : {string?}, {float}, pcm*) -> pcm*\n"})}),"\n",(0,i.jsx)(c.p,{children:"Arguments:"}),"\n",(0,i.jsxs)(c.ul,{children:["\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"id"})," (of type ",(0,i.jsx)(c.code,{children:"string?"}),", which defaults to ",(0,i.jsx)(c.code,{children:"null"}),"): Force the value of the track ID."]}),"\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"override"})," (of type ",(0,i.jsx)(c.code,{children:"{string?}"}),", which defaults to ",(0,i.jsx)(c.code,{children:"fun () -> ..."}),"): Specify the name of a metadata field that, when present and well-formed, overrides the amplification factor for the current track. Well-formed values are floats in decimal notation (e.g. ",(0,i.jsx)(c.code,{children:"0.7"}),") which are taken as normal/linear multiplicative factors; values can be passed in decibels with the suffix ",(0,i.jsx)(c.code,{children:"dB"})," (e.g. ",(0,i.jsx)(c.code,{children:"-8.2 dB"}),", but the spaces do not matter). Defaults to ",(0,i.jsx)(c.code,{children:"settings.amplify.metadata"}),". Set to ",(0,i.jsx)(c.code,{children:"null"})," to disable."]}),"\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"(unlabeled)"})," (of type ",(0,i.jsx)(c.code,{children:"{float}"}),"): Multiplicative factor."]}),"\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"(unlabeled)"})," (of type ",(0,i.jsx)(c.code,{children:"anything that is a track of type: pcm, pcm_s16 or pcm_f32"}),")"]}),"\n"]}),"\n",(0,i.jsx)(c.h3,{id:"track.audio.clip",children:(0,i.jsx)(c.code,{children:"track.audio.clip"})}),"\n",(0,i.jsxs)(c.p,{children:["Clip samples, i.e. ensure that all values are between -1 and 1: values lower than -1 become -1 and values higher than 1 become 1. ",(0,i.jsx)(c.code,{children:"nan"})," values become ",(0,i.jsx)(c.code,{children:"0."})]}),"\n",(0,i.jsx)(c.p,{children:"Type:"}),"\n",(0,i.jsx)(c.pre,{children:(0,i.jsx)(c.code,{children:"(?id : string?, pcm('a)) -> pcm('a)\n"})}),"\n",(0,i.jsx)(c.p,{children:"Arguments:"}),"\n",(0,i.jsxs)(c.ul,{children:["\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"id"})," (of type ",(0,i.jsx)(c.code,{children:"string?"}),", which defaults to ",(0,i.jsx)(c.code,{children:"null"}),"): Force the value of the track ID."]}),"\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"(unlabeled)"})," (of type ",(0,i.jsx)(c.code,{children:"pcm('a)"}),")"]}),"\n"]}),"\n",(0,i.jsx)(c.h3,{id:"track.audio.comb",children:(0,i.jsx)(c.code,{children:"track.audio.comb"})}),"\n",(0,i.jsx)(c.p,{children:"Comb filter."}),"\n",(0,i.jsx)(c.p,{children:"Type:"}),"\n",(0,i.jsx)(c.pre,{children:(0,i.jsx)(c.code,{children:"(?id : string?, ?delay : float, ?feedback : {float}, pcm('a)) -> pcm('a)\n"})}),"\n",(0,i.jsx)(c.p,{children:"Arguments:"}),"\n",(0,i.jsxs)(c.ul,{children:["\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"id"})," (of type ",(0,i.jsx)(c.code,{children:"string?"}),", which defaults to ",(0,i.jsx)(c.code,{children:"null"}),"): Force the value of the track ID."]}),"\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"delay"})," (of type ",(0,i.jsx)(c.code,{children:"float"}),", which defaults to ",(0,i.jsx)(c.code,{children:"0.001"}),"): Delay in seconds."]}),"\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"feedback"})," (of type ",(0,i.jsx)(c.code,{children:"{float}"}),", which defaults to ",(0,i.jsx)(c.code,{children:"-6.0"}),"): Feedback coefficient in dB."]}),"\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"(unlabeled)"})," (of type ",(0,i.jsx)(c.code,{children:"pcm('a)"}),")"]}),"\n"]}),"\n",(0,i.jsx)(c.h3,{id:"track.audio.compand",children:(0,i.jsx)(c.code,{children:"track.audio.compand"})}),"\n",(0,i.jsx)(c.p,{children:"Compand the signal."}),"\n",(0,i.jsx)(c.p,{children:"Type:"}),"\n",(0,i.jsx)(c.pre,{children:(0,i.jsx)(c.code,{children:"(?id : string?, ?mu : float, source(pcm('a))) -> pcm('a)\n"})}),"\n",(0,i.jsx)(c.p,{children:"Arguments:"}),"\n",(0,i.jsxs)(c.ul,{children:["\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"id"})," (of type ",(0,i.jsx)(c.code,{children:"string?"}),", which defaults to ",(0,i.jsx)(c.code,{children:"null"}),"): Force the value of the track ID."]}),"\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"mu"})," (of type ",(0,i.jsx)(c.code,{children:"float"}),", which defaults to ",(0,i.jsx)(c.code,{children:"1.0"}),")"]}),"\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"(unlabeled)"})," (of type ",(0,i.jsx)(c.code,{children:"source(pcm('a))"}),")"]}),"\n"]}),"\n",(0,i.jsx)(c.h3,{id:"track.audio.compress",children:(0,i.jsx)(c.code,{children:"track.audio.compress"})}),"\n",(0,i.jsx)(c.p,{children:"Compress the signal."}),"\n",(0,i.jsx)(c.p,{children:"Type:"}),"\n",(0,i.jsx)(c.pre,{children:(0,i.jsx)(c.code,{children:"(?id : string?, ?attack : {float}, ?release : {float}, ?lookahead : {float},\n ?threshold : {float}, ?track_sensitive : bool, ?knee : {float},\n ?pre_gain : {float}, ?gain : {float}, ?ratio : {float}, ?window : {float},\n ?wet : {float}, pcm('a)) -> pcm('a)\n"})}),"\n",(0,i.jsx)(c.p,{children:"Arguments:"}),"\n",(0,i.jsxs)(c.ul,{children:["\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"id"})," (of type ",(0,i.jsx)(c.code,{children:"string?"}),", which defaults to ",(0,i.jsx)(c.code,{children:"null"}),"): Force the value of the track ID."]}),"\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"attack"})," (of type ",(0,i.jsx)(c.code,{children:"{float}"}),", which defaults to ",(0,i.jsx)(c.code,{children:"50.0"}),"): Attack time (ms)."]}),"\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"release"})," (of type ",(0,i.jsx)(c.code,{children:"{float}"}),", which defaults to ",(0,i.jsx)(c.code,{children:"400.0"}),"): Release time (ms)."]}),"\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"lookahead"})," (of type ",(0,i.jsx)(c.code,{children:"{float}"}),", which defaults to ",(0,i.jsx)(c.code,{children:"0.0"}),"): Lookahead (ms)."]}),"\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"threshold"})," (of type ",(0,i.jsx)(c.code,{children:"{float}"}),", which defaults to ",(0,i.jsx)(c.code,{children:"-10.0"}),"): Threshold level (dB)."]}),"\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"track_sensitive"})," (of type ",(0,i.jsx)(c.code,{children:"bool"}),", which defaults to ",(0,i.jsx)(c.code,{children:"false"}),"): Reset on every track."]}),"\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"knee"})," (of type ",(0,i.jsx)(c.code,{children:"{float}"}),", which defaults to ",(0,i.jsx)(c.code,{children:"1.0"}),"): Knee width (dB)."]}),"\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"pre_gain"})," (of type ",(0,i.jsx)(c.code,{children:"{float}"}),", which defaults to ",(0,i.jsx)(c.code,{children:"0.0"}),"): Pre-amplification (dB)."]}),"\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"gain"})," (of type ",(0,i.jsx)(c.code,{children:"{float}"}),", which defaults to ",(0,i.jsx)(c.code,{children:"0.0"}),"): Post-amplification (dB)."]}),"\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"ratio"})," (of type ",(0,i.jsx)(c.code,{children:"{float}"}),", which defaults to ",(0,i.jsx)(c.code,{children:"2.0"}),"): Gain reduction ratio (reduction is ratio:1). Must be at least 1."]}),"\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"window"})," (of type ",(0,i.jsx)(c.code,{children:"{float}"}),", which defaults to ",(0,i.jsx)(c.code,{children:"0.0"}),"): RMS window length (second). ",(0,i.jsx)(c.code,{children:"0."})," means peak mode."]}),"\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"wet"})," (of type ",(0,i.jsx)(c.code,{children:"{float}"}),", which defaults to ",(0,i.jsx)(c.code,{children:"1.0"}),"): How much of input sound to output (between 0 and 1, 0 means only original sound, 1 means only compressed sound)."]}),"\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"(unlabeled)"})," (of type ",(0,i.jsx)(c.code,{children:"pcm('a)"}),")"]}),"\n"]}),"\n",(0,i.jsx)(c.p,{children:"Methods:"}),"\n",(0,i.jsxs)(c.ul,{children:["\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"gain"}
1)," (of type ",(0,i.jsx)(c.code,{children:"() -> float"}),"): Gain (dB)."]}),"\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"rms"})," (of type ",(0,i.jsx)(c.code,{children:"() -> float"}),"): RMS or peak power (linear)."]}),"\n"]}),"\n",(0,i.jsx)(c.h3,{id:"track.audio.compress.exponential",children:(0,i.jsx)(c.code,{children:"track.audio.compress.exponential"})}),"\n",(0,i.jsx)(c.p,{children:"Exponential compressor."}),"\n",(0,i.jsx)(c.p,{children:"Type:"}),"\n",(0,i.jsx)(c.pre,{children:(0,i.jsx)(c.code,{children:"(?id : string?, ?mu : float, pcm('a)) -> pcm('a)\n"})}),"\n",(0,i.jsx)(c.p,{children:"Arguments:"}),"\n",(0,i.jsxs)(c.ul,{children:["\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"id"})," (of type ",(0,i.jsx)(c.code,{children:"string?"}),", which defaults to ",(0,i.jsx)(c.code,{children:"null"}),"): Force the value of the track ID."]}),"\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"mu"})," (of type ",(0,i.jsx)(c.code,{children:"float"}),", which defaults to ",(0,i.jsx)(c.code,{children:"2.0"}),"): Exponential compression factor, typically greater than 1."]}),"\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"(unlabeled)"})," (of type ",(0,i.jsx)(c.code,{children:"pcm('a)"}),")"]}),"\n"]}),"\n",(0,i.jsx)(c.h3,{id:"track.audio.map",children:(0,i.jsx)(c.code,{children:"track.audio.map"})}),"\n",(0,i.jsx)(c.p,{children:"Map a function to all audio samples. This is SLOW!"}),"\n",(0,i.jsx)(c.p,{children:"Type:"}),"\n",(0,i.jsx)(c.pre,{children:(0,i.jsx)(c.code,{children:"(?id : string?, ((float) -> float), pcm('a)) -> pcm('a)\n"})}),"\n",(0,i.jsx)(c.p,{children:"Arguments:"}),"\n",(0,i.jsxs)(c.ul,{children:["\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"id"})," (of type ",(0,i.jsx)(c.code,{children:"string?"}),", which defaults to ",(0,i.jsx)(c.code,{children:"null"}),"): Force the value of the track ID."]}),"\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"(unlabeled)"})," (of type ",(0,i.jsx)(c.code,{children:"(float) -> float"}),")"]}),"\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"(unlabeled)"})," (of type ",(0,i.jsx)(c.code,{children:"pcm('a)"}),")"]}),"\n"]}),"\n",(0,i.jsx)(c.p,{children:"This function is experimental."}),"\n",(0,i.jsx)(c.h3,{id:"track.audio.stereo.ms.decode",children:(0,i.jsx)(c.code,{children:"track.audio.stereo.ms.decode"})}),"\n",(0,i.jsx)(c.p,{children:"Decode mid+side stereo (M/S) to left+right stereo."}),"\n",(0,i.jsx)(c.p,{children:"Type:"}),"\n",(0,i.jsx)(c.pre,{children:(0,i.jsx)(c.code,{children:"(?id : string?, ?width : float, pcm(stereo)) -> pcm(stereo)\n"})}),"\n",(0,i.jsx)(c.p,{children:"Arguments:"}),"\n",(0,i.jsxs)(c.ul,{children:["\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"id"})," (of type ",(0,i.jsx)(c.code,{children:"string?"}),", which defaults to ",(0,i.jsx)(c.code,{children:"null"}),"): Force the value of the track ID."]}),"\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"width"})," (of type ",(0,i.jsx)(c.code,{children:"float"}),", which defaults to ",(0,i.jsx)(c.code,{children:"1.0"}),"): Width of the stereo field."]}),"\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"(unlabeled)"})," (of type ",(0,i.jsx)(c.code,{children:"pcm(stereo)"}),")"]}),"\n"]}),"\n",(0,i.jsx)(c.h3,{id:"track.audio.stereo.ms.encode",children:(0,i.jsx)(c.code,{children:"track.audio.stereo.ms.encode"})}),"\n",(0,i.jsx)(c.p,{children:"Encode left+right stereo to mid+side stereo (M/S)."}),"\n",(0,i.jsx)(c.p,{children:"Type:"}),"\n",(0,i.jsx)(c.pre,{children:(0,i.jsx)(c.code,{children:"(?id : string?, pcm(stereo)) -> pcm(stereo)\n"})}),"\n",(0,i.jsx)(c.p,{children:"Arguments:"}),"\n",(0,i.jsxs)(c.ul,{children:["\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"id"})," (of type ",(0,i.jsx)(c.code,{children:"string?"}),", which defaults to ",(0,i.jsx)(c.code,{children:"null"}),"): Force the value of the track ID."]}),"\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"(unlabeled)"})," (of type ",(0,i.jsx)(c.code,{children:"pcm(stereo)"}),")"]}),"\n"]}),"\n",(0,i.jsx)(c.h3,{id:"track.audio.stereo.pan",children:(0,i.jsx)(c.code,{children:"track.audio.stereo.pan"})}
1),"\n",(0,i.jsx)(c.p,{children:"Pan a stereo sound."}),"\n",(0,i.jsx)(c.p,{children:"Type:"}),"\n",(0,i.jsx)(c.pre,{children:(0,i.jsx)(c.code,{children:"(?id : string?, ?field : {float}, {float}, pcm(stereo)) -> pcm(stereo)\n"})}),"\n",(0,i.jsx)(c.p,{children:"Arguments:"}),"\n",(0,i.jsxs)(c.ul,{children:["\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"id"})," (of type ",(0,i.jsx)(c.code,{children:"string?"}),", which defaults to ",(0,i.jsx)(c.code,{children:"null"}),"): Force the value of the track ID."]}),"\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"field"})," (of type ",(0,i.jsx)(c.code,{children:"{float}"}),", which defaults to ",(0,i.jsx)(c.code,{children:"90.0"}),"): Field width in degrees (between 0 and 90)."]}),"\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"(unlabeled)"})," (of type ",(0,i.jsx)(c.code,{children:"{float}"}),"): Pan value. Should be between ",(0,i.jsx)(c.code,{children:"-1"})," (left side) and ",(0,i.jsx)(c.code,{children:"1"})," (right side)."]}),"\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"(unlabeled)"})," (of type ",(0,i.jsx)(c.code,{children:"pcm(stereo)"}),")"]}),"\n"]}),"\n",(0,i.jsx)(c.h3,{id:"track.audio.stereo.width",children:(0,i.jsx)(c.code,{children:"track.audio.stereo.width"})}),"\n",(0,i.jsx)(c.p,{children:"Spacializer which allows controlling the width of the signal."}),"\n",(0,i.jsx)(c.p,{children:"Type:"}),"\n",(0,i.jsx)(c.pre,{children:(0,i.jsx)(c.code,{children:"(?id : string?, ?{float}, pcm(stereo)) -> pcm(stereo)\n"})}),"\n",(0,i.jsx)(c.p,{children:"Arguments:"}),"\n",(0,i.jsxs)(c.ul,{children:["\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"id"})," (of type ",(0,i.jsx)(c.code,{children:"string?"}),", which defaults to ",(0,i.jsx)(c.code,{children:"null"}),"): Force the value of the track ID."]}),"\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"(unlabeled)"})," (of type ",(0,i.jsx)(c.code,{children:"{float}"}),", which defaults to ",(0,i.jsx)(c.code,{children:"0.0"}),"): Width of the signal (-1: mono, 0.: original, 1.: wide stereo)."]}),"\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"(unlabeled)"})," (of type ",(0,i.jsx)(c.code,{children:"pcm(stereo)"}),")"]}),"\n"]}),"\n",(0,i.jsx)(c.h3,{id:"track.audio.stereotool",children:(0,i.jsx)(c.code,{children:"track.audio.stereotool"})}),"\n",(0,i.jsx)(c.p,{children:"Process the given audio track with StereoTool."}),"\n",(0,i.jsx)(c.p,{children:"Type:"}),"\n",(0,i.jsx)(c.pre,{children:(0,i.jsx)(c.code,{children:"(?id : string?, library_file : string, ?license_key : string?,\n ?preset : string?, ?load_type : string, ?active : bool, pcm('a)) -> \npcm('a)\n"})}),"\n",(0,i.jsx)(c.p,{children:"Arguments:"}),"\n",(0,i.jsxs)(c.ul,{children:["\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"id"})," (of type ",(0,i.jsx)(c.code,{children:"string?"}),", which defaults to ",(0,i.jsx)(c.code,{children:"null"}),"): Force the value of the track ID."]}),"\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"library_file"})," (of type ",(0,i.jsx)(c.code,{children:"string"}),"): Path to the shared library file."]}),"\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"license_key"})," (of type ",(0,i.jsx)(c.code,{children:"string?"}),", which defaults to ",(0,i.jsx)(c.code,{children:"null"}),")"]}),"\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"preset"})," (of type ",(0,i.jsx)(c.code,{children:"string?"}),", which defaults to ",(0,i.jsx)(c.code,{children:"null"}),"): Path to a preset file to load when initializing the operator."]}),"\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"load_type"})," (of type ",(0,i.jsx)(c.code,{children:"string"}),", which defaults to ",(0,i.jsx)(c.code,{children:'"totalinit"'}),'): Load type for preset. One of: "totalinit", "all_settings", "audiofm", "audio", "processing", "repair", "repair_no_pnr" or "sublevel_pnr".']}),"\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"active"})," (of type ",(0,i.jsx)(c.code,{children:"bool"}),", which defaults to ",(0,i.jsx)(c.code,{children:"false"}),"): Set to ",(0,i.jsx)(c.code,{children:"true"})," to keep the source streaming even when not actively used by an output."]}),"\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"(unlabeled)"})," (of type ",(0,i.jsx)(c.code,{children:"pcm('a)"}),")"]}),"\n"]}),"\n",(0,i.jsx)(c.p,{children:"Methods:"}),"\n",(0,i.jsxs)(c.ul,{children:["\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"api_version"}
1)," (of type ",(0,i.jsx)(c.code,{children:"() -> int"}),"): API version."]}),"\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"latency"})," (of type ",(0,i.jsx)(c.code,{children:"() -> float"}),"): Get the operator's latency."]}),"\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"software_version"})," (of type ",(0,i.jsx)(c.code,{children:"() -> int"}),"): Software version."]}),"\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"unlincensed_used_features"})," (of type ",(0,i.jsx)(c.code,{children:"() -> string?"}),"): Check if the license is valid for the current settings."]}),"\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"valid_license"})," (of type ",(0,i.jsx)(c.code,{children:"() -> bool"}),"): Check if the license is valid for the current settings."]}),"\n"]}),"\n",(0,i.jsx)(c.h3,{id:"track.audio.stretch",children:(0,i.jsx)(c.code,{children:"track.audio.stretch"})}),"\n",(0,i.jsx)(c.p,{children:"Slow down or accelerate an audio stream by stretching (sounds lower) or squeezing it (sounds higher)."}),"\n",(0,i.jsx)(c.p,{children:"Type:"}),"\n",(0,i.jsx)(c.pre,{children:(0,i.jsx)(c.code,{children:"(?id : string?, ratio : {float}, pcm('a)) -> pcm('a)\n"})}),"\n",(0,i.jsx)(c.p,{children:"Arguments:"}),"\n",(0,i.jsxs)(c.ul,{children:["\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"id"})," (of type ",(0,i.jsx)(c.code,{children:"string?"}),", which defaults to ",(0,i.jsx)(c.code,{children:"null"}),"): Force the value of the track ID."]}),"\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"ratio"})," (of type ",(0,i.jsx)(c.code,{children:"{float}"}),"): A value higher than 1 means slowing down."]}),"\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"(unlabeled)"})," (of type ",(0,i.jsx)(c.code,{children:"pcm('a)"}),")"]}),"\n"]}),"\n",(0,i.jsx)(c.h3,{id:"track.decode.audio.pcm_f32",children:(0,i.jsx)(c.code,{children:"track.decode.audio.pcm_f32"})}),"\n",(0,i.jsx)(c.p,{children:"Decode an audio track using PCM signed 16 bit integers."}),"\n",(0,i.jsx)(c.p,{children:"Type:"}),"\n",(0,i.jsx)(c.pre,{children:(0,i.jsx)(c.code,{children:"(?id : string?, pcm_f32('a)) -> pcm('a)\n"})}),"\n",(0,i.jsx)(c.p,{children:"Arguments:"}),"\n",(0,i.jsxs)(c.ul,{children:["\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"id"})," (of type ",(0,i.jsx)(c.code,{children:"string?"}),", which defaults to ",(0,i.jsx)(c.code,{children:"null"}),"): Force the value of the track ID."]}),"\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"(unlabeled)"})," (of type ",(0,i.jsx)(c.code,{children:"pcm_f32('a)"}),")"]}),"\n"]}),"\n",(0,i.jsx)(c.h3,{id:"track.decode.audio.pcm_s16",children:(0,i.jsx)(c.code,{children:"track.decode.audio.pcm_s16"})}),"\n",(0,i.jsx)(c.p,{children:"Decode an audio track using PCM signed 16 bit integers."}),"\n",(0,i.jsx)(c.p,{children:"Type:"}),"\n",(0,i.jsx)(c.pre,{children:(0,i.jsx)(c.code,{children:"(?id : string?, pcm_s16('a)) -> pcm('a)\n"})}),"\n",(0,i.jsx)(c.p,{children:"Arguments:"}),"\n",(0,i.jsxs)(c.ul,{children:["\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"id"})," (of type ",(0,i.jsx)(c.code,{children:"string?"}),", which defaults to ",(0,i.jsx)(c.code,{children:"null"}),"): Force the value of the track ID."]}),"\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"(unlabeled)"})," (of type ",(0,i.jsx)(c.code,{children:"pcm_s16('a)"}),")"]}),"\n"]}),"\n",(0,i.jsx)(c.h3,{id:"track.encode.audio.pcm_f32",children:(0,i.jsx)(c.code,{children:"track.encode.audio.pcm_f32"})}),"\n",(0,i.jsx)(c.p,{children:"Encode an audio track using PCM signed 16 bit integers."}),"\n",(0,i.jsx)(c.p,{children:"Type:"}),"\n",(0,i.jsx)(c.pre,{children:(0,i.jsx)(c.code,{children:"(?id : string?, pcm('a)) -> pcm_f32('a)\n"})}),"\n",(0,i.jsx)(c.p,{children:"Arguments:"}),"\n",(0,i.jsxs)(c.ul,{children:["\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"id"})," (of type ",(0,i.jsx)(c.code,{children:"string?"}),", which defaults to ",(0,i.jsx)(c.code,{children:"null"}),"): Force the value of the track ID."]}),"\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"(unlabeled)"})," (of type ",(0,i.jsx)(c.code,{children:"pcm('a)"}),")"]}),"\n"]}),"\n",(0,i.jsx)(c.h3,{id:"track.encode.audio.pcm_s16",children:(0,i.jsx)(c.code,{children:"track.encode.audio.pcm_s16"})}),"\n",(0,i.jsx)(c.p,{children:"Encode an audio track using PCM signed 16 bit integers."}),"\n",(0,i.jsx)(c.p,{children:"Type:"}),"\n",(0,i.jsx)(c.pre,{children:(0,i.jsx)(c.code,{children:"(?id : string?, pcm('a)) -> pcm_s16('a)\n"})}),"\n",(0,i.jsx)(c.p,{children:"Arguments:"}),"\n",(0,i.jsxs)(c.ul,{children:["\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"id"})," (of type ",(0,i.jsx)(c.code,{children:"string?"}),", which defaults to ",(0,i.jsx)(c.code,{children:"null"}),"): Force the value of the track ID."]}),"\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.code,{children:"(unlabeled)"})," (of type ",(0,i.jsx)(c.code,{children:"pcm('a)"}),")"]}),"\n"]})]})}function a(e={}){let{wrapper:c}={...(0,l.R)(),...e.components};return c?(0,i.jsx)(c,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}},28453(e,c,d){d.d(c,{R:()=>s,x:()=>o});var n=d(96540);let i={},l=n.createContext(i);function s(e){let c=n.useContext(l);return n.useMemo(function(){return"function"==typeof e?e(c):{...c,...e}},[c,e])}function o(e){let c;return c=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),n.createElement(l.Provider,{value:c},e.children)}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.