PureData 语言 音乐理论互动工具实战 音阶排列 / 和弦构成→可视化 + 音效

PureData阿木 发布于 5 天前 5 次阅读


阿木博主一句话概括:PureData语言音乐理论互动工具实战:音阶排列与和弦构成的可视化与音效实现

阿木博主为你简单介绍:
PureData是一个强大的音频处理和实时控制平台,它结合了图形化的编程界面和灵活的音频处理能力,非常适合用于音乐理论和互动音乐创作。本文将围绕PureData语言,探讨如何实现音阶排列和和弦构成的可视化展示以及音效的实时生成,旨在为音乐理论学习和互动音乐创作提供一种新的实践方法。

一、

音乐理论是音乐创作和表演的基础,而音阶排列和和弦构成是音乐理论的核心内容。PureData作为一种实时音频处理工具,可以与音乐理论相结合,通过编程实现音阶和和弦的动态展示和音效生成。本文将详细介绍如何使用PureData语言实现这一功能。

二、PureData简介

PureData是由Miller Puckette创建的一种图形化编程语言,它基于Max/MSP的编程范式,但更加注重实时音频处理和交互性。PureData的编程界面由节点和线连接而成,节点代表处理单元,线代表数据流。

三、音阶排列的可视化实现

1. 创建音阶排列界面
我们需要创建一个界面来展示音阶排列。在PureData中,可以使用`patcher`对象来创建界面。以下是一个简单的音阶排列界面示例:

pd
N canvas 0 0 600 400 0;
X obj 50 50 cnv 15 550 300 empty empty 音阶排列 20 12 0 14 -233017
-66577 0;
X obj 50 100 hradio 15 1 0 8 empty empty 选择音阶 0 -8 0 10 -262144
-1 -1 0;
X obj 50 130 hsl 128 15 0 127 0 0 empty empty 音高范围 0 -8 0 10 -262144
-1 -1 0 1;
X obj 50 160 hsl 128 15 0 127 0 0 empty empty 音量范围 0 -8 0 10 -262144
-1 -1 0 1;
X obj 50 190 hradio 15 1 0 12 empty empty 选择音阶类型 0 -8 0 10 -262144
-1 -1 0;
X obj 50 210 cnv 15 550 100 empty empty 音阶排列显示区 20 12 0 14 -233017
-66577 0;
X connect 0 0 1 0;
X connect 1 0 2 0;
X connect 2 0 3 0;
X connect 3 0 4 0;
X connect 4 0 5 0;

2. 音阶生成算法
在PureData中,我们可以使用`mtof`(midi to frequency)对象将MIDI值转换为频率,然后通过`osc~`(oscillator)对象生成音阶。以下是一个简单的音阶生成算法示例:

pd
X obj 50 250 mtof;
X obj 50 270 osc~ 440;
X obj 50 290 outlet~;

3. 音阶排列显示
为了在界面上显示音阶排列,我们可以使用`text`对象来显示每个音阶的名称。以下是一个简单的音阶排列显示示例:

```pd
X obj 50 310 text 15 15;
X obj 100 310 text 15 15;
X obj 150 310 text 15 15;
X obj 200 310 text 15 15;
X obj 250 310 text 15 15;
X obj 300 310 text 15 15;
X obj 350 310 text 15 15;
X obj 400 310 text 15 15;
X obj 450 310 text 15 15;
X obj 500 310 text 15 15;
X obj 550 310 text 15 15;
X obj 50 330 text 15 15;
X obj 100 330 text 15 15;
X obj 150 330 text 15 15;
X obj 200 330 text 15 15;
X obj 250 330 text 15 15;
X obj 300 330 text 15 15;
X obj 350 330 text 15 15;
X obj 400 330 text 15 15;
X obj 450 330 text 15 15;
X obj 500 330 text 15 15;
X obj 550 330 text 15 15;
X obj 50 350 text 15 15;
X obj 100 350 text 15 15;
X obj 150 350 text 15 15;
X obj 200 350 text 15 15;
X obj 250 350 text 15 15;
X obj 300 350 text 15 15;
X obj 350 350 text 15 15;
X obj 400 350 text 15 15;
X obj 450 350 text 15 15;
X obj 500 350 text 15 15;
X obj 550 350 text 15 15;
X obj 50 370 text 15 15;
X obj 100 370 text 15 15;
X obj 150 370 text 15 15;
X obj 200 370 text 15 15;
X obj 250 370 text 15 15;
X obj 300 370 text 15 15;
X obj 350 370 text 15 15;
X obj 400 370 text 15 15;
X obj 450 370 text 15 15;
X obj 500 370 text 15 15;
X obj 550 370 text 15 15;
X obj 50 390 text 15 15;
X obj 100 390 text 15 15;
X obj 150 390 text 15 15;
X obj 200 390 text 15 15;
X obj 250 390 text 15 15;
X obj 300 390 text 15 15;
X obj 350 390 text 15 15;
X obj 400 390 text 15 15;
X obj 450 390 text 15 15;
X obj 500 390 text 15 15;
X obj 550 390 text 15 15;
X obj 50 410 text 15 15;
X obj 100 410 text 15 15;
X obj 150 410 text 15 15;
X obj 200 410 text 15 15;
X obj 250 410 text 15 15;
X obj 300 410 text 15 15;
X obj 350 410 text 15 15;
X obj 400 410 text 15 15;
X obj 450 410 text 15 15;
X obj 500 410 text 15 15;
X obj 550 410 text 15 15;
X obj 50 430 text 15 15;
X obj 100 430 text 15 15;
X obj 150 430 text 15 15;
X obj 200 430 text 15 15;
X obj 250 430 text 15 15;
X obj 300 430 text 15 15;
X obj 350 430 text 15 15;
X obj 400 430 text 15 15;
X obj 450 430 text 15 15;
X obj 500 430 text 15 15;
X obj 550 430 text 15 15;
X obj 50 450 text 15 15;
X obj 100 450 text 15 15;
X obj 150 450 text 15 15;
X obj 200 450 text 15 15;
X obj 250 450 text 15 15;
X obj 300 450 text 15 15;
X obj 350 450 text 15 15;
X obj 400 450 text 15 15;
X obj 450 450 text 15 15;
X obj 500 450 text 15 15;
X obj 550 450 text 15 15;
X obj 50 470 text 15 15;
X obj 100 470 text 15 15;
X obj 150 470 text 15 15;
X obj 200 470 text 15 15;
X obj 250 470 text 15 15;
X obj 300 470 text 15 15;
X obj 350 470 text 15 15;
X obj 400 470 text 15 15;
X obj 450 470 text 15 15;
X obj 500 470 text 15 15;
X obj 550 470 text 15 15;
X obj 50 490 text 15 15;
X obj 100 490 text 15 15;
X obj 150 490 text 15 15;
X obj 200 490 text 15 15;
X obj 250 490 text 15 15;
X obj 300 490 text 15 15;
X obj 350 490 text 15 15;
X obj 400 490 text 15 15;
X obj 450 490 text 15 15;
X obj 500 490 text 15 15;
X obj 550 490 text 15 15;
X obj 50 510 text 15 15;
X obj 100 510 text 15 15;
X obj 150 510 text 15 15;
X obj 200 510 text 15 15;
X obj 250 510 text 15 15;
X obj 300 510 text 15 15;
X obj 350 510 text 15 15;
X obj 400 510 text 15 15;
X obj 450 510 text 15 15;
X obj 500 510 text 15 15;
X obj 550 510 text 15 15;
X obj 50 530 text 15 15;
X obj 100 530 text 15 15;
X obj 150 530 text 15 15;
X obj 200 530 text 15 15;
X obj 250 530 text 15 15;
X obj 300 530 text 15 15;
X obj 350 530 text 15 15;
X obj 400 530 text 15 15;
X obj 450 530 text 15 15;
X obj 500 530 text 15 15;
X obj 550 530 text 15 15;
X obj 50 550 text 15 15;
X obj 100 550 text 15 15;
X obj 150 550 text 15 15;
X obj 200 550 text 15 15;
X obj 250 550 text 15 15;
X obj 300 550 text 15 15;
X obj 350 550 text 15 15;
X obj 400 550 text 15 15;
X obj 450 550 text 15 15;
X obj 500 550 text 15 15;
X obj 550 550 text 15 15;
X obj 50 570 text 15 15;
X obj 100 570 text 15 15;
X obj 150 570 text 15 15;
X obj 200 570 text 15 15;
X obj 250 570 text 15 15;
X obj 300 570 text 15 15;
X obj 350 570 text 15 15;
X obj 400 570 text 15 15;
X obj 450 570 text 15 15;
X obj 500 570 text 15 15;
X obj 550 570 text 15 15;
X obj 50 590 text 15 15;
X obj 100 590 text 15 15;
X obj 150 590 text 15 15;
X obj 200 590 text 15 15;
X obj 250 590 text 15 15;
X obj 300 590 text 15 15;
X obj 350 590 text 15 15;
X obj 400 590 text 15 15;
X obj 450 590 text 15 15;
X obj 500 590 text 15 15;
X obj 550 590 text 15 15;
X obj 50 610 text 15 15;
X obj 100 610 text 15 15;
X obj 150 610 text 15 15;
X obj 200 610 text 15 15;
X obj 250 610 text 15 15;
X obj 300 610 text 15 15;
X obj 350 610 text 15 15;
X obj 400 610 text 15 15;
X obj 450 610 text 15 15;
X obj 500 610 text 15 15;
X obj 550 610 text 15 15;
X obj 50 630 text 15 15;
X obj 100 630 text 15 15;
X obj 150 630 text 15 15;
X obj 200 630 text 15 15;
X obj 250 630 text 15 15;
X obj 300 630 text 15 15;
X obj 350 630 text 15 15;
X obj 400 630 text 15 15;
X obj 450 630 text 15 15;
X obj 500 630 text 15 15;
X obj 550 630 text 15 15;
X obj 50 650 text 15 15;
X obj 100 650 text 15 15;
X obj 150 650 text 15 15;
X obj 200 650 text 15 15;
X obj 250 650 text 15 15;
X obj 300 650 text 15 15;
X obj 350 650 text 15 15;
X obj 400 650 text 15 15;
X obj 450 650 text 15 15;
X obj 500 650 text 15 15;
X obj 550 650 text 15 15;
X obj 50 670 text 15 15;
X obj 100 670 text 15 15;
X obj 150 670 text 15 15;
X obj 200 670 text 15 15;
X obj 250 670 text 15 15;
X obj 300 670 text 15 15;
X obj 350 670 text 15 15;
X obj 400 670 text 15 15;
X obj 450 670 text 15 15;
X obj 500 670 text 15 15;
X obj 550 670 text 15 15;
X obj 50 690 text 15 15;
X obj 100 690 text 15 15;
X obj 150 690 text 15 15;
X obj 200 690 text 15 15;
X obj 250 690 text 15 15;
X obj 300 690 text 15 15;
X obj 350 690 text 15 15;
X obj 400 690 text 15 15;
X obj 450 690 text 15 15;
X obj 500 690 text 15 15;
X obj 550 690 text 15 15;
X obj 50 710 text 15 15;
X obj 100 710 text 15 15;
X obj 150 710 text 15 15;
X obj 200 710 text 15 15;
X obj 250 710 text 15 15;
X obj 300 710 text 15 15;
X obj 350 710 text 15 15;
X obj 400 710 text 15 15;
X obj 450 710 text 15 15;
X obj 500 710 text 15 15;
X obj 550 710 text 15 15;
X obj 50 730 text 15 15;
X obj 100 730 text 15 15;
X obj 150 730 text 15 15;
X obj 200 730 text 15 15;
X obj 250 730 text 15 15;
X obj 300 730 text 15 15;
X obj 350 730 text 15 15;
X obj 400 730 text 15 15;
X obj 450 730 text 15 15;
X obj 500 730 text 15 15;
X obj 550 730 text 15 15;
X obj 50 750 text 15 15;
X obj 100 750 text 15 15;