基于虚拟仪器技术的音乐喷泉设计
逻辑及其目的读取.wav音频文件。在程序运行时同步播放音频文件。从播放的音频数据流中提取与幅值或频率相关的特定特征信息。根据选择的控制模式幅值或频率对提取的特征值进行滤波和平移缩放处理。将处理后的特征值通过一组并行的延迟模块为9路模拟喷泉生成带有不同时滞的控制信号。使用数值指示器滑动杆模拟9路喷泉的状态高度或水量。在前面板上显示音频格式、瞬时音频数据、提取的音频特征以及9路模拟喷泉的实时状态。提供控制按钮实现程序的启动和停止。程序框图音频文件读取与音频输出配置程序入口在进入主循环前使用Sound Output ConfigureVI负责配置声卡输出参数解捆绑音频格式簇获取采样率并除以9配置一秒采9个样配合九个滑动杆完成喷泉效果。主循环结构、音频数据读取与播放流、循环终止控制模式选择Case结构与音频数据分流根据开关状态音频数据流及其后续处理路径被导向幅值控制分支开关为True或频率控制分支开关为False。滤波后的数值流通过一个乘法节点与一个常量 (100000) 相乘产量根据滤波器的截至频率选取这里配置成截止频率为100 Hz符合奈奎斯特采样定理的IIR滤波器。目的是将经过滤波的频率值映射到一个适合驱动0-100范围滑动杆的数值区间。频率信号可能因谐波干扰产生伪跳变例如基频与谐波幅值波动导致输出频率在真实旋律附近频繁切换。低通滤波可有效平滑这些毛刺保留旋律整体趋势。与一个常量 (300) 相乘同理特征值为幅值时直通不滤波。幅值反映音乐能量包络本身连续平滑且无瞬时突变。不滤波可保留鼓点、节奏等细节。流出Case结构的单个经过滤波、增益处理的数值介于0-100之间代表当前循环的幅值或频率特征值作为核心控制信号输入。这个数值被送入8个并联的延迟值子VI延迟值1到8和一个不作延迟处理直接流出Case分支结构驱动其对应的滑动杆每个延迟VI的输出数值直接设置对应滑动杆的高度进行驱动喷泉。显示面板与运行示意