模块 softcut

Softcut 模块。

控制 "softcut" 缓冲区处理器的 API 包括低级设置器和中级实用工具

重要提示:所有索引都是基于 1 的,符合 lua 约定! 这适用于选择语音、ADC/DAC 通道、缓冲区等的索引。 但是,数量(包括时间单位)仍然可以从零开始。

level (voice, amp) 设置每个语音的输出电平
pan (voice, pos) 设置每个语音的声像位置。
level_input_cut (ch, voice, amp) 设置到每个语音/通道的输入电平。
level_cut_cut (src, dst, amp) 设置混音矩阵,语音输出到语音输入。
play (voice, state) 设置播放状态。
rate (voice, rate) 设置播放速率。
loop_start (voice, pos) 设置循环开始。
loop_end (voice, pos) 设置循环结束。
loop (voice, state) 设置循环模式。
fade_time (voice, fade_time) 设置淡入淡出时间。
rec_level (voice, amp) 设置录音电平。
pre_level (voice, amp) 设置预电平(叠加保留。) 这设置实时调制的"保留"电平, 通过它现有材料在写磁头的每次通过时被缩放。
rec (voice, state) 设置录音状态。
rec_offset (voice, value) 设置录音磁头偏移
position (voice, value) 设置播放位置
buffer (i, b) 指定语音使用的缓冲区。
voice_sync (dst, src, offset) 同步两个语音。
pre_filter_fc (voice, fc) 设置预滤波器截止频率。
pre_filter_fc_mod (voice, amount) 设置预滤波器速率调制量。
pre_filter_rq (voice, rq) 设置预滤波器 Q 因子的倒数。
pre_filter_lp (voice, amp) 设置预滤波器低通输出电平。
pre_filter_hp (voice, amp) 设置预滤波器高通输出电平。
pre_filter_bp (voice, amp) 设置预滤波器带通输出电平。
pre_filter_br (voice, amp) 设置预滤波器带阻输出电平。
pre_filter_dry (voice, amp) 设置预滤波器干信号输出电平。
filter_fc (voice, value) 预滤波器的包装器,用于向后兼容
post_filter_fc (voice, value) 设置后滤波器截止
post_filter_rq (voice, rq) 设置后滤波器 Q 的倒数 滤波器 Q 因子的倒数是带宽的度量, 它与中心频率无关。
post_filter_lp (voice, amp) 设置后滤波器低通输出电平。
post_filter_hp (voice, amp) 设置后滤波器高通输出电平。
post_filter_bp (voice, amp) 设置后滤波器带通输出电平。
post_filter_br (voice, amp) 设置后滤波器带阻输出电平。
post_filter_dry (voice, amp) 设置后滤波器干信号输出电平。
level_slew_time (voice, time) 设置电平斜变时间 此斜变时间适用于所有混音点的电平:ADC->语音、语音->语音等。
pan_slew_time (voice, time) 设置声像斜变时间
recpre_slew_time (voice, time) 设置录音预电平斜变时间 影响录音和预电平的斜变时间
rate_slew_time (voice, time) 设置速率斜变时间 影响速率的斜变时间
phase_quant (voice, quantum) 设置相位轮询量子 例如
phase_offset (voice, offset) 设置相位轮询偏移(以帧为单位)
poll_start_phase () 开始相位轮询
poll_stop_phase () 停止相位轮询
enable (voice, state) 设置语音启用 禁用的语音没有效果且基本消耗零 CPU
buffer_clear () 完全清除所有缓冲区
buffer_clear_channel (channel) 完全清除一个缓冲区
buffer_clear_region (start, dur, fade_time, preserve) 清除区域(两个通道)
buffer_clear_region_channel (ch, start, dur, fade_time, preserve) 清除单通道区域
buffer_copy_mono (src_ch, dst_ch, start_src, start_dst, dur, fade_time, preserve, reverse) 将缓冲区中的一个区域复制到另一个位置
buffer_copy_stereo (start_src, start_dst, dur, fade_time, preserve, reverse) 将两个缓冲区的区域复制到另一个位置
buffer_read_mono (file, start_src, start_dst, dur, ch_src, ch_dst, preserve, mix) 将单声道音频文件读取到单个缓冲区的任意区域
buffer_read_stereo (file, start_src, start_dst, dur, preserve, mix) 将立体声音频文件读取到两个缓冲区的任意区域
buffer_write_mono (file, start, dur, ch) 将任意缓冲区区域写入音频文件(单声道)
buffer_write_stereo (file, start, dur) 将两个缓冲区的任意区域写入立体声音频文件
event_phase (func) 设置相位轮询的函数
render_buffer (ch, start, dur, samples) 请求区域缓冲区内容的快照。
event_render (func) 设置渲染回调的函数。
query_position (i) 查询播放位置
event_position (func) 设置查询回调的函数。
reset () 重置后端 softcut 进程的状态。
defaults () 获取 softcut 系统的默认状态 这为每个语音返回一个表, 其中每个键对应于上面定义的设置器函数之一的名称。
params () controlspec 工厂 每个表包含每个 softcut 参数的一个条目。


level (voice, amp)
设置每个语音的输出电平

参数:

  • voice int : 语音索引
  • amp number : 线性幅度
pan (voice, pos)
设置每个语音的声像位置。 -1 == 完全左声道,+1 == 完全右声道,0 == 居中

参数:

  • voice int : 语音索引
  • pos number : [-1, 1] 范围内的位置
level_input_cut (ch, voice, amp)
设置到每个语音/通道的输入电平。

参数:

  • ch int : ADC 通道索引
  • voice int : 语音索引
  • amp number : 线性幅度
level_cut_cut (src, dst, amp)
设置混音矩阵,语音输出到语音输入。

参数:

  • src number : 源语音索引
  • dst number : 目标语音索引
  • amp number : 线性幅度
play (voice, state)
设置播放状态。

参数:

  • voice int : 语音索引
  • state int : 关闭/开启 (0,1)
rate (voice, rate)
设置播放速率。

参数:

  • voice int : 语音索引
  • rate number : 读写磁头速度(无量纲;1 == 正常)
loop_start (voice, pos)
设置循环开始。

参数:

  • voice int : 语音索引
  • pos number : 循环开始位置(以秒为单位)
loop_end (voice, pos)
设置循环结束。

参数:

  • voice int : 语音索引
  • pos number : 循环结束位置(以秒为单位)
loop (voice, state)
设置循环模式。 "0" 表示单次播放模式:语音将播放到循环端点,淡出并停止。 "1" 表示交叉淡入淡出循环模式。

参数:

  • voice int : 语音索引
  • state int : 关闭/开启 (0,1)
fade_time (voice, fade_time)
设置淡入淡出时间。

参数:

  • voice int : 语音索引
  • fade_time number : 交叉淡入淡出时间(以秒为单位)
rec_level (voice, amp)
设置录音电平。 这设置实时调制的录音电平, 通过它输入信号在写入缓冲区之前被缩放 适用 recpre 斜变电平

参数:

  • voice int : 语音索引
  • amp number : 新信号的线性幅度
pre_level (voice, amp)
设置预电平(叠加保留。) 这设置实时调制的"保留"电平, 通过它现有材料在写磁头的每次通过时被缩放。 适用 recpre 斜变电平

参数:

  • voice int : 语音索引
  • amp number : 保留信号的线性幅度
rec (voice, state)
设置录音状态。

参数:

  • voice int : 语音编号 (1-?)
  • state int : 关闭/开启 (0,1)
rec_offset (voice, value)
设置录音磁头偏移

参数:

  • voice
  • value
position (voice, value)
设置播放位置

参数:

  • voice
  • value
buffer (i, b)
指定语音使用的缓冲区。

参数:

  • i int : 语音编号
  • b int : 缓冲区编号 (1,2)
voice_sync (dst, src, offset)
同步两个语音。 "dst" 的位置将立即设置为"source"的位置

参数:

  • dst int : 目标语音索引
  • src int : 源语音索引
  • offset number : 额外的偏移量(以秒为单位)
pre_filter_fc (voice, fc)
设置预滤波器截止频率。

参数:

  • voice int : 语音索引
  • fc number : 截止频率(以 Hz 为单位)
pre_filter_fc_mod (voice, amount)
设置预滤波器速率调制量。 此参数控制当前速率影响滤波器截止频率的量 (始终为负方向,朝向零。) 当 mod == 1 时,设置 rate = 0 也会完全关闭滤波器。 这可以作为粗略的抗混叠方法...

参数:

  • voice int : 语音索引
  • amount number : [0, 1] 范围内的调制量
pre_filter_rq (voice, rq)
设置预滤波器 Q 因子的倒数。 滤波器 Q 因子的倒数是带宽的度量, 它与中心频率无关。 RQ ~= 0 将导致自振荡; RQ == 4 给出 2 个八度的带宽。

参数:

  • voice int : 语音索引
  • rq number : 语音滤波器 Q 因子的倒数
pre_filter_lp (voice, amp)
设置预滤波器低通输出电平。

参数:

  • voice int : 语音索引
  • amp number : 线性幅度
pre_filter_hp (voice, amp)
设置预滤波器高通输出电平。

参数:

  • voice int : 语音索引
  • amp number : 线性幅度
pre_filter_bp (voice, amp)
设置预滤波器带通输出电平。

参数:

  • voice int : 语音索引
  • amp number : 线性幅度
pre_filter_br (voice, amp)
设置预滤波器带阻输出电平。

参数:

  • voice int : 语音索引
  • amp number : 线性幅度
pre_filter_dry (voice, amp)
设置预滤波器干信号输出电平。

参数:

  • voice int : 语音索引
  • amp number : 线性幅度
filter_fc (voice, value)
预滤波器的包装器,用于向后兼容

参数:

  • voice
  • value
post_filter_fc (voice, value)
设置后滤波器截止

参数:

  • voice int : 语音索引
  • value number : 截止频率(以 Hz 为单位)
post_filter_rq (voice, rq)
设置后滤波器 Q 的倒数 滤波器 Q 因子的倒数是带宽的度量, 它与中心频率无关。 RQ ~= 0 将导致自振荡; RQ == 4 给出 2 个八度的带宽。

参数:

  • voice int : 语音索引
  • rq number : 语音滤波器 Q 因子的倒数
post_filter_lp (voice, amp)
设置后滤波器低通输出电平。

参数:

  • voice int : 语音索引
  • amp number : 线性幅度
post_filter_hp (voice, amp)
设置后滤波器高通输出电平。

参数:

  • voice int : 语音索引
  • amp number : 线性幅度
post_filter_bp (voice, amp)
设置后滤波器带通输出电平。

参数:

  • voice int : 语音索引
  • amp number : 线性幅度
post_filter_br (voice, amp)
设置后滤波器带阻输出电平。

参数:

  • voice int : 语音索引
  • amp number : 线性幅度
post_filter_dry (voice, amp)
设置后滤波器干信号输出电平。

参数:

  • voice int : 语音索引
  • amp number : 线性幅度
level_slew_time (voice, time)
设置电平斜变时间 此斜变时间适用于所有混音点的电平:ADC->语音、语音->语音等。

参数:

  • voice int : 语音索引
  • time number : 指数斜变时间(以秒为单位)(-60db 收敛)
pan_slew_time (voice, time)
设置声像斜变时间

参数:

  • voice int : 语音索引
  • time number : 指数斜变时间(以秒为单位)(-60db 收敛)
recpre_slew_time (voice, time)
设置录音预电平斜变时间 影响录音和预电平的斜变时间

参数:

  • voice int : 语音索引
  • time number : 指数斜变时间(以秒为单位)(-60db 收敛)
rate_slew_time (voice, time)
设置速率斜变时间 影响速率的斜变时间

参数:

  • voice int : 语音索引
  • time number : 指数斜变时间(以秒为单位)(-60db 收敛)
phase_quant (voice, quantum)
设置相位轮询量子 例如,0.25 将在 rate=1 时每秒产生 4 次更新 明智地使用此参数比使用非常快的轮询(为了性能) 或以任意速率轮询(为了速率斜变时的准确性)更可取。

参数:

  • voice int : 语音索引
  • quantum number : 相位报告间隔(以秒为单位)
phase_offset (voice, offset)
设置相位轮询偏移(以帧为单位)

参数:

  • voice int : 语音索引
  • offset number : 相位轮询偏移(以秒为单位)
poll_start_phase ()
开始相位轮询
poll_stop_phase ()
停止相位轮询
enable (voice, state)
设置语音启用 禁用的语音没有效果且基本消耗零 CPU

参数:

  • voice int : 语音编号 (1-?)
  • state int : 关闭/开启 (0,1)
buffer_clear ()
完全清除所有缓冲区
buffer_clear_channel (channel)
完全清除一个缓冲区

参数:

  • channel int : 缓冲区通道索引(基于 1)
buffer_clear_region (start, dur, fade_time, preserve)
清除区域(两个通道)

参数:

  • start number : 开始点(以秒为单位)
  • dur number : 持续时间(以秒为单位)
  • fade_time number : 交叉淡入淡出时间(以秒为单位)
  • preserve number : 现有材料的电平
buffer_clear_region_channel (ch, start, dur, fade_time, preserve)
清除单通道区域

参数:

  • ch int : 缓冲区通道索引(基于 1)
  • start number : 开始点(以秒为单位)
  • dur number : 持续时间(以秒为单位)
  • fade_time number : 交叉淡入淡出时间(以秒为单位)
  • preserve number : 现有材料的电平
buffer_copy_mono (src_ch, dst_ch, start_src, start_dst, dur, fade_time, preserve, reverse)
将缓冲区中的一个区域复制到另一个位置

参数:

  • src_ch int : 源缓冲区索引(基于 1)
  • dst_ch int : 目标缓冲区索引(基于 1)
  • start_src number : 源中的开始点(以秒为单位)
  • start_dst number : 目标中的开始点(以秒为单位)
  • dur number : 持续时间(以秒为单位)。如果为 -1,则复制尽可能多的内容。
  • fade_time number : 交叉淡入淡出时间(以秒为单位)
  • preserve number : 现有材料的电平
  • reverse int : 非零值表示复制时反转。反转时,不处理源区域和目标区域之间的重叠。
buffer_copy_stereo (start_src, start_dst, dur, fade_time, preserve, reverse)
将两个缓冲区的区域复制到另一个位置

参数:

  • start_src number : 源中的开始点(以秒为单位)
  • start_dst number : 目标中的开始点(以秒为单位)
  • dur number : 持续时间(以秒为单位)。如果为 -1,则复制尽可能多的内容。
  • fade_time number : 交叉淡入淡出时间(以秒为单位)
  • preserve number : 现有材料的电平
  • reverse int : 非零值表示复制时反转。
buffer_read_mono (file, start_src, start_dst, dur, ch_src, ch_dst, preserve, mix)
将单声道音频文件读取到单个缓冲区的任意区域

参数:

  • file string : 输入文件路径
  • start_src number : 源中的开始点(以秒为单位)
  • start_dst number : 目标中的开始点(以秒为单位)
  • dur number : 持续时间(以秒为单位)。如果为 -1,则读取尽可能多的内容。
  • ch_src int : 要读取的音频文件通道
  • ch_dst int : 要写入的缓冲区通道
  • preserve number : 现有材料的电平
  • mix number : 新材料的电平
buffer_read_stereo (file, start_src, start_dst, dur, preserve, mix)
将立体声音频文件读取到两个缓冲区的任意区域

参数:

  • file string : 输入文件路径
  • start_src number : 源中的开始点(以秒为单位)
  • start_dst number : 目标中的开始点(以秒为单位)
  • dur number : 持续时间(以秒为单位)。如果为 -1,则读取尽可能多的内容
  • preserve number : 现有材料的电平
  • mix number : 新材料的电平
buffer_write_mono (file, start, dur, ch)
将任意缓冲区区域写入音频文件(单声道)

参数:

  • file string : 输出文件路径
  • start number : 开始点(以秒为单位)
  • dur number : 持续时间(以秒为单位)。如果为 -1,则读取尽可能多的内容
  • ch int : 缓冲区通道索引(基于 1)
buffer_write_stereo (file, start, dur)
将两个缓冲区的任意区域写入立体声音频文件

参数:

  • file string : 输出文件路径
  • start number : 开始点(以秒为单位)
  • dur number : 持续时间(以秒为单位)。如果为 -1,则读取尽可能多的内容
event_phase (func)
设置相位轮询的函数

参数:

  • func function : 回调函数。此函数应接受两个参数 (voice, phase)
render_buffer (ch, start, dur, samples)
请求区域缓冲区内容的快照。

参数:

  • ch integer : 缓冲区通道索引(基于 1)
  • start number : 区域的开始(以秒为单位)
  • dur number : 区域的长度(以秒为单位)
  • samples integer : 要检索的最大样本数。如果小于区域中的帧数,内容将被下采样
event_render (func)
设置渲染回调的函数。使用 render_buffer 请求内容。

参数:

  • func function : 当缓冲区内容准备好时调用。参数: (ch, start, secpersample, samples)
query_position (i)
查询播放位置

参数:

  • i integer : 哪个 softcut 语音
event_position (func)
设置查询回调的函数。使用 query_position 请求内容。

参数:

  • func function : 当索引和位置返回时调用
reset ()
重置后端 softcut 进程的状态。 这应该对应于上面 defaults() 函数返回的值。
defaults ()
获取 softcut 系统的默认状态 这为每个语音返回一个表, 其中每个键对应于上面定义的设置器函数之一的名称。 对于每个语音有一个值的参数,相应的条目也是单个值。 对于具有多个值的参数(例如矩阵索引),条目是一个表。 注意:这些值与 softcut cpp 源代码中指定的值手动同步

返回:

    table 每个语音的参数状态表
params ()
controlspec 工厂 每个表包含每个 softcut 参数的一个条目。 每个条目是为该语音+参数配置的参数参数列表

返回:

    表的数组,每个语音一个。
由 LDoc 1.5.0 生成 最后更新 2025-04-06 15:35:25