代码拉取完成,页面将自动刷新
<?xml version="1.0" ?>
<!DOCTYPE ladspa SYSTEM "ladspa-swh.dtd">
<?xml-stylesheet href="ladspa.css" type="text/css" ?>
<ladspa>
<global>
<meta name="maker" value="Alexander Ehlert <mag@glame.de>"/>
<meta name="copyright" value="GPL"/>
<meta name="properties" value="HARD_RT_CAPABLE"/>
<code>
#include "config.h"
#include "util/iir.h"
</code>
</global>
<plugin label="notch_iir" id="1894" class="NotchPlugin">
<name>Mag's Notch Filter</name>
<p> IIR notch filter based using chebishev coefficients. The filter allows you to tweak the number of stages used for
filtering. Every stage adds two more poles, which leads to a steeper dropoff. More stages need more CPU power.
</p>
<callback event="instantiate">
sample_rate = s_rate;
ufc = lfc = 0.0f;
</callback>
<callback event="run">
ufc = (center - width*0.5f)/(float)sample_rate;
lfc = (center + width*0.5f)/(float)sample_rate;
chebyshev(iirf1, first, 2*CLAMP((int)stages,1,10), IIR_STAGE_LOWPASS, ufc, 0.5f);
chebyshev(iirf2, second, 2*CLAMP((int)stages,1,10), IIR_STAGE_HIGHPASS, lfc, 0.5f);
iir_process_buffer_ns_5(iirf1, first, input, output, sample_count, RUN_ADDING);
iir_process_buffer_ns_5(iirf2, second, input, output, sample_count, 1); /* add to first buffer */
// Unused variable
(void)(run_adding_gain);
</callback>
<callback event="activate">
ufc = (*(plugin_data->center) - *(plugin_data->width)*0.5f)/(float)sample_rate;
lfc = (*(plugin_data->center) + *(plugin_data->width)*0.5f)/(float)sample_rate;
first = init_iir_stage(IIR_STAGE_LOWPASS,10,3,2);
second = init_iir_stage(IIR_STAGE_HIGHPASS,10,3,2);
iirf1 = init_iirf_t(first);
iirf2 = init_iirf_t(second);
chebyshev(iirf1, first, 2*CLAMP((int)(*(plugin_data->stages)),1,10), IIR_STAGE_LOWPASS, ufc, 0.5f);
chebyshev(iirf2, second, 2*CLAMP((int)(*(plugin_data->stages)),1,10), IIR_STAGE_HIGHPASS, lfc, 0.5f);
</callback>
<callback event="cleanup">
free_iirf_t(plugin_data->iirf1, plugin_data->first);
free_iirf_t(plugin_data->iirf2, plugin_data->second);
free_iir_stage(plugin_data->first);
free_iir_stage(plugin_data->second);
</callback>
<port label="center" dir="input" type="control" hint="default_middle, sample_rate, logarithmic">
<name>Center Frequency (Hz)</name>
<range min="0.0001" max="0.45"/>
</port>
<port label="width" dir="input" type="control" hint="default_middle, sample_rate, logarithmic">
<name>Bandwidth (Hz)</name>
<range min="0.0001" max="0.45"/>
</port>
<port label="stages" dir="input" type="control" hint="default_1, integer">
<name>Stages(2 poles per stage)</name>
<range min="1.0" max="10.0"/>
</port>
<port label="input" dir="input" type="audio">
<name>Input</name>
</port>
<port label="output" dir="output" type="audio">
<name>Output</name>
</port>
<instance-data label="iirf1" type="iirf_t*"/>
<instance-data label="iirf2" type="iirf_t*"/>
<instance-data label="first" type="iir_stage_t*"/>
<instance-data label="second" type="iir_stage_t*"/>
<instance-data label="sample_rate" type="long"/>
<instance-data label="ufc" type="float"/>
<instance-data label="lfc" type="float"/>
</plugin>
</ladspa>
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。