当前课程知识点:计算机音乐 >  第一章 基本概念 >  1.3计算机音乐课程资源 >  计算机音乐课程资源

返回《计算机音乐》慕课在线视频课程列表

计算机音乐课程资源在线视频

下一节:音乐的基本表达

返回《计算机音乐》慕课在线视频列表

计算机音乐课程资源课程教案、知识点、字幕

同学们大家好

欢迎回到计算机音乐的课堂

这节课我们将会对后续课程中

所使用的课程资源做简要的介绍

首先我们使用的课本是Meinard Muller的

Fundamentals of Music Processing

音乐处理导论

这本课本是斯坦福

哥伦比亚大学等等的

计算机音乐暑期公开课指定课本

我们可以在亚马逊上买到这本课本的原版

当然还有一种方式是在它官网上买到电子版本

尽管在我们课程当中

课本并不是必须的

但我还是强烈建议大家拥有一本课本

这样的话在课下就可以进行扩展阅读

有了这本课本之后

我们可以去在这本课本的官网上去下载

这本课本的代码以及演示

接下来

我们会介绍课程中所使用的软件和编程工具

首先我们的课程需要频繁地进行录音

以及进行简单的剪辑和处理

因此我们会使用一款叫做audacity的音频软件

这款软件是跨平台的

目前它可以运行在

Windows mac还有linux上面

它也是免费的 符合开源标准

是由一帮志愿者在维护

至今还是在以较高的频率更新

尽管它的功能不如商业的音频软件强大

但对于我们的课程来说

只需进行简单的录音和剪辑

或者显示简单的图形信息

重要的处理我们都会自己编程完成

所以Audacity是完全足够了

下面我们就来安装它

首先我们打开浏览器

用Google来搜索audacity

这样的话

我们就可以搜到audacity的官方网址

当然我们也可以用百度去搜索

但是如果百度搜到的第一条词条

不是官方网址的话

请同学们认真的去甄别

我们就可以通过这个官方网址去找到

audacity的下载地址

如前面所说

Audacity是开源的软件

所以它可以在Windows

可以在mac

在linux下面去使用

同学们根据自己的平台去下载相应的版本

就可以了

我们点下载之后

我们会看到有不同平台的版本

因为我们现在演示的是Windows版本

所以我们就去下载

Windows版本的audacity

对于Windows版本来说

最方便的安装方法是去下载它的安装器

Installer

我们就需要去下载它的最新版本就可以了

点击之后它就会自动的进行下载

整个软件比较小只有19M

下载完之后我们就可以点击运行它了

点击已经下载好的安装文件

会有一个安装程序引导你

一步一步的进行安装

比如说我们可以进行一些简单的选择

剩下的步骤只要点下一步就可以了

安装路径我们也是安装在默认的路径

其它的部分我们也可以

按照默认的方式进行安装

经过比较短的时间软件就安装完了

安装完之后我们就可以来打开audacity

我们可以选择不同样式的界面

因为我们现在演示的界面

是深色主题的

如果你不喜欢这种主题

可以在编辑

偏好设置里面的界面这个选项框里面

来修改这个主题

在我手中是件来自中国云南的乐器

巴乌

接下来我们将使用audacity

来录制巴乌的演奏

我们在audacity里面先选择单声道

并且选择合适的录音设备

然后我们点击录音按钮

这样的话呢

我们就获得刚才这段音乐的波形

audacity的软件操作十分友好

它跟一般的软件有很多相似之处

比如说有简单的用户的交互

它在做剪辑的时候

默认是选择的形式

你可以在上面的按钮上面

去选择这个选择工具

在选择工具下面

我们可以去选择不同的声音片段

比如说后面我们的空白片段是不要的

我们可以把它全部选上

然后

按键盘上的delete键

来进行删除

比如说前面的空白部分

我们也可以进行相应的操作

从时域的波形里面

我们基本上就能看出

刚才这段音乐的强度的整体变化

那么除了通过波形的形式之外

我们还可以去切换一下这个视图

比如说切换到频谱图

这样的话我们就可以

从频谱上去观察刚才的这段声音

那么如果进行一个放大

我们可以看到主要的频谱图集中在

2000HZ以下

因此我们可以在偏好设置里面

把频谱图的范围进行修改

那么在这个轨道频谱图里面

我们可以把最高的频率

比如说设置成4000

这样的话

我们可以更清楚地看到

整个频谱的一个分布

并且从最深色的地方可以看出

声音的音高的走向

这就是我们在后续的课程中

常使用到两种观点中

是波形的观点

那么是频谱的观点

除此之外我们还可以在效果里面

使用一些基本的处理效果

比如说

反向

比如说做回声

比如说进行去噪等等

甚至我们还可以去下载一些第三方的处理模块

来进行一些更复杂的功能的处理

但是我们课上主要的处理

都会使用程序自己来实现

所以我们这一块用的会比较少

之后我们可以通过文件

导出音频的形式

把刚才录制到的这段音频

导出成wav mp3等等的格式

这就是有关audacity的下载和安装

以及简单的使用

接下来我们要介绍的音频软件是

sonic visualizer

是一款更面向研究者的软件

特别是用于音频的分析和可视化

Sonic visualizer是由

英国玛丽女王大学开发的

同样是免费 开源 跨平台的音频软件

尽管它的

一部分功能

是跟audacity是 重叠的

但是 它在可视化方面的特性可以与audacity

形成很好的互补

我非常推荐大家使用它

下面我们就来下载和安装sonic visualizer

接下来我们就来下载sonic visualizer

那我们可以同样在Google上

来找到这个软件的官网地址

并且打开这个官网

它同样是跨平台的一款软件

所以在下载时我们点进这个下载链接

它会有linux mac跟Windows 版本

注意这里面Windows分为64位和32位版本

我比较建议大家无论是64位的

还是32位系统呢

都去下载32位的版本

因为有很多插件它只能在32位的版本去工作

那么我们来下载这个32位的版本

它同样是比较小的一个软件

我们来等待它下载完成

在完成之后我们同样是点击安装的程序

它就会引导你一步一步的进行安装

因为我们已经装过这款软件

所以这里会显示

Change repair remove

如果你是第一次安装的话

你只需要根据提示

选择默认目录进行安装就可以了

打开sonic visualizer之后我们可以看到

这是一个非常朴素的一个界面

当然它的功能也是十分齐备的

比如说简单的录音和剪辑功能也都是有的

我们主要是来看一些它的可视化的一些功能

我们主要是来打开刚才录制好的这段音频

同样我们可以看到时域的波形

我们可以在Layer这个选项卡里面找到

增加图层的办法

比如说我们增加一个spectropram

视频图这样的一个图层

这样的话我们会看到

在sonic visualizer里面的视频图

会显示的更加的详细

甚至我们可以把鼠标移到视频图上面

我们可以看到在右上方会显示

某一个点它所在的频率

并且它的强度都是可以进行显示的

在sonic visualizer的官网上面

它提供了非常多的有用的插件

我们在官网上只要点进

VAMP PLUGINS

就能够进入插件的下载的页面

它会有一个简单的说明

告诉你这个插件是怎样的一种原理

我们点下面的这个链接

就可以去到下载的界面

在下面的列表下面有很多的插件

我们尝试着下载其中的一些

比如说

我们找到

Aubio下面的一些插件

Aubio的插件非常常用

因为它是由Aubio

这个开源的工程来支持的

那么我们可以点进这个下载的界面

来下载这个插件

那么我们只要去点击这个

vamp aubio plugins

就能进行下载了

那么具体的安装方法

我们需要参与sonic visualizer

官网上的一个指示

它会告诉你

如果是windows32位系统

你需要把下载的文件放到

Progren Files

vamp plugins这个目录下面

但是因为我们是64位的系统

所以的我们需要放到

Progren Files

X86下面的

Progren Files目录下面

对于其它系统

需要按照指示放到相应的地方

那么下载好之后

那么下载好之后

我们就可以来使用这些插件了

比如说我们就来使用刚才下载到的

Aubio

我们通过这个Plugin Name

Aubio下面的一些插件

比如说我们选择这个Pitch Detector

音高跟踪的这个插件

使用默认的设置

这样的话我们可以看到

系统能自动帮你计算出来一条音高的曲线

然后我们可以设置一下纵向的滚轮

我们可以在上一个图层里面

选择一下这个纵向的滚轮

把它稍微的放大一点

并且拉到最下面

然后再切回这个图层

我们就可以看到这个音高的

曲线的一个变化

通过这种方式我们就可以

对这个音高进行一定程度的可视化

接下来我们要安装的就是这门课程

主要编程语言Python

Python是非常高级别的脚本解释语言

我们在课程当中会很高频率的使用它

没有任何编程基础的同学请不用担心

我们不是专门的编程语言课

因此不会涉及到太复杂的编程技术

但是我们依然推荐同学们在学习的过程中

手上应该有一本到两本的

基础的python语言手册

以便随时可以翻阅

接下来我们就来下载以及安装python

接下来我们就来安装python

我们可以直接在Google里面

去搜索python

进入到python的官网去下载相应的版本

Python有两个主要版本

一个是python2

一个是python3

在我们课程中主要用的是python3

所以需要去下载最新的版本

比如说3.6.5

但只要是python3版本

应该都是通用的

下载完python3之后

我们还需要一些更多的第三方的模块

所以这里面我比较推荐的是

并不是去官网直接下载python

而是去下载python的发行版本

比如说去下载anaconda

这样的python的发行版本

我们去忽略掉其它的一些结果

我们直接进入到anaconda的主页

进入anaconda的主页之后

我们应该是可以找到

Download anaconda这样的一个按钮

Anaconda是一个python的发行版本

它包含了我们在课程

里面常用的一些模块

所以我们比较推荐下载它

它还是开源免费的

而且是跨平台的

这时候我们先下载windows的版本

而且要下载3.6的版本

点击下载它就会自动的进行下载

因为它是个发行版本所以它的

容量占用就会比较多一点

会占用600多M

让我们等待下载并且安装

在安装完之后我们就需要使用编译器

来执行python的一些程序了

在anaconda里面提供了若干个编译器

我们在课程里面会使用

一个非常古老的编译器

就是在idlelib里面的Idle.bit

你可以像我一样创建一个快捷方式

放在桌面上

这样就不用每次都进到

比较深层的目录去打开它了

打开idle我们会看到一个

非常简洁明了的一个界面

在这个页面里面我们就可以去

运行一些简单的python的指令

比如说我们可以去定义简单的变量

在python里面

我们并不需要声明变量形式就可以

对一些变量进行赋值

这样我们就可以看到

这个变量其实已经是放在内存里面了

比如说我们再定义一个变量

之后就可以对这个变量进行一个简单的

四则运算

除此之外我们可以用同样的方式来

定义在python下面的数据结构

比如说列表的这种形式

列表的形式对应很多其它语言

就是数组的一种形式

Python本身自带的列表的形式

它的功能是比较弱的

而一般来说呢我们会使用

这样的第三方模块

要使用第三方模块

我们就需要去下载第三方模块

一般我们都会使用type这样的指令去下载

我们在搜索框中去搜索cmd

这个命名行提示符

打开之后我们就可以在

命名行里面输入pip这个指令了

在python里面

pip是一个很常用的第三方

模块的安装的指令

我们输pip install nump

这样就可以去安装

Nump这样一个第三方的模块了

因为我已经装过了

而且安了command

下面本身就是自带

这样nump的模块了

所以这里面就不需要安装

除此之外我们还会

很常用的使用到scipy这个模块

同样这个模块是在包含在anaconda里面的

所以不需要去额外的下载

一般来说要去安装numpy或者scipy

其实在window下面是不太容易的

因此我们直接推荐大家

直接安装anaconda3

它已经内置的这些模块

有了numpy 第三方模块之后

我们就可以去

把这个第三方模块

也加到我们程序里面

使用import numpy

来加到我们的程序里面

这样的话我们就可以定义

Numpy下面的数组的形式了

比如说我们让a等于

Numpy.array

然后我们把这样的数组

作为一个输入

这样的话a就是一个数组形式的

数据格式

那么它就具有很多很有用的功能

比如说它可以去乘一些常数

做这个相乘之后

相当于对里面的每个元素进行相乘

比如说它可以去加一个常数

那么相当于对里面的每个元素进行相加

甚至我们可以实现

矩阵的的一些乘法的等等一些操作

在后学课程我们都可以接触到

我们用这样的命名行的形式

来进行程序输入的话

一旦中间输错了几步

就需要从头开始

一般来说我们会通过

New file创建一个新的

Python文件

在这里面我们可以进行程序的编辑

并且运行它

接下来我们就来演示一下打开我们刚才

录制好的巴乌的音频

首先我们要把这个文件保存成

跟刚才的巴乌音频

在同样的一个目录下面

比如说我们起名叫做readaudio

并且进行保存

保存好之后我们就可以读取这个音频了

首先我们要去把Numpy

进行import

并且给它起名叫做NP

并且我们把scipy

也进行import

这时我们需要使用from scipy import

from scipy.io.wavfile

这是专门处理音频输入输出的模块

取improt read write两个函数

最后因为我们需要画图

所以我们需要

import matplotlib pyplot as plt

也是需要去用pip进行安装的

它已经包括在anaconda里面

所以我们就不去再做演示了

有了这三个模块以后

我们就可以读取音频

这时候我们需要指定一个采样率

并且把音频读入到X里面

关于采样率的定义我们在后面的

时域的音频处理里面

会详细的来说明

去读取这个音频叫做bawu.wav

读取完之后我们就可以

把这个音频显示出来了

我们使用plt.piotx

并且plt.show

这样的话就可以显示这段音频

它会打开一个图形界面

并且在这个图形界面里面

可以进行通过

放大缩小的左右键进行放大缩小

放到最大你可以看到它的最细的波形

除此之外

你在程序里面就可以把X

当做一个numpy下面的列表来看待

比如说我们输X

它会告诉你这是一个列表

你就可以对

这个列表进行各种各样的处理

有关Python的使用

我们在后续的课程里面

还会陆续的来介绍

这里面我们只是来介绍一个简单的安装

和使用

最后我们要安装的是puredata

你可以认为它是一个脚本语言

也可以认为它是一个音频软件

跟传统的编程语言不同

在puredata下面的所有程序代码

都是以图形化的形式来展示的

Puredata是由另一个款著名的软件

max/msp的发明者

Miller Puckette发明的

它可以看作是max的开源

免费 跨平台的版本

目前在计算机音乐制作方面

有很大的受众

我们在课程当中使用它的原因

是因为在puredata里面

我们可以更直观地

看到音频处理的整体的流程

让我们赶紧来下载安装puredata吧

最后我们演示puredata的安装

同样我们在Google上面搜索puredata

之后就可以搜索到puredata的官网

Puredata同样也是

开源 免费 跨平台的程序

同样它是需要一些第三方模块的支持的

所以这里面我们也是推荐大家

不是去下载原始的puredata的版本

而是去下载一个扩展文本

叫做Pd L2ork这个版本

也叫作Purr Data这个版本

我们点进去之后

会有一个下载的界面

那么我们只需要根据它的提示

要去它的github的页面去下载

我们直接去到它的github的页面

会看到有很多发行的版本

这里面因为我们是Window版本

所以我们直接去下载这个

Pd L2ork这个版本就可以了

下载好了它是一个打包的压缩文件

我们也是根据它的提示进行安装就可以了

安装好之后我们会看到一个命令行的界面

它会自动的加载内置的所有的模块

我们需要在使用之前做一些简单的设置

比如说在Edit preferences里面

去设置一下你使用的输入和输出设备

那么因为我们使用的输入输出设备

都是steinberg的声卡

所以我们就按照默认设置

如果你发现出不来声音

那么你需要调整一下

输入和输出的设备

选择好这些设备之后

我们可以在Media里面去

进行Test Audio and Midi

那么这是一个最简单的puredata的程序

我们通过选择播放声音的大小

可以听到有正弦波的生成

那么这是60db的正弦波

除此之外

麦克风在工作的时候

你会看到在这边会有一个数值的显示

这是最重要的两个参数

确定它们没问题之后我们就可以去

创建一个新的程序

我们看到puredata非常的朴素

在程序界面里面一片空白什么都没有

所有的元素都需要通过put来放上去的

比如说我们往上面放一个Object

比如说我们要放一个正弦波的Object

正弦波的模块在puredata里面

叫做osc

这样的模块它会产生一个正弦波

并且我们如果加上一个弯弯这个符号的话

它产生的正弦波就会以信号的形式

进行输出

我们产生的是440hz的一个正弦波

这就是一个程序的基本的模块

Object这样的模块

它其实如果我们在media里面

选择Audio on

它其实已经在工作了

不断的产生正弦波

我们可以把正弦波进行输出

通过加入另一个模块

叫做dac这样的模块

Dac模块是实现数字音频到模拟音频的转换

我们先不用管这些概念

在puredata里面非常直观的一点是

一个模块的信号可以通过

连线的方式传递到另外一个模块

比如说我们想把这个正弦波信号

传递到输出的模块

这是左声道 这是右声道

打开这个Audio之后

我们就能听到正弦波的声音

后续的课程里面

我们会陆续的使用各种各样的模块

来进行更直观的展示

在我们的课程当中

我们会尽可能避免使用编程语言的特性

而是把精力尽可能集中在

算法的编程实现上面

因此如果你精通java,c++甚至matab

相信通过本门课程的学习

相信通过本门课程的学习

你也可以写一个对应的版本

以上就是有关课程资源的介绍

下节课我们将会进入到

本轮课程的第一个课题

音乐的表达

计算机音乐课程列表:

欢迎辞

-欢迎辞

第一章 基本概念

-1.1 计算机音乐导言

--计算机音乐导言

-1.2 计算机音乐课程主要内容

--计算机课程主要内容

-1.3计算机音乐课程资源

--计算机音乐课程资源

-1.4 音乐的基本表达

--音乐的基本表达

-第一章作业

第二章 时域音频处理

-2.1时域音频处理概述

--时域音频处理概述

-2.2 分窗处理1:OLA叠放

--分窗处理1: OLA叠放

-2.3 分窗处理2:音量计算

--分窗处理2 音量计算

-2.4 端点检测

--端点检测

-2.5 振幅包络

--振幅包络

-2.6 音频信号相乘

--音频信号相乘

-2.7 环形调制

--环形调制

-2.8 频率调制

--频率调制

-2.9 频率调制在音乐上的应用

--频率调制在音乐上的应用

-第二章作业

第三章 频域音频处理

-3.1 频谱概述

--频谱概述

-3.2 傅里叶变换

--傅里叶变换

-3.3 短时傅里叶变换

--短时傅里叶变换

-3.4 加法合成

--加法合成

-3.5 线性滤波器

--线性滤波器

-3.6 京剧锣鼓经分析

--京剧锣鼓经分析

-第三章作业

第四章 音色合成

-4.1 音色合成概述

--音色合成概述

-4.2 质点弹簧阻尼模型

--质点弹簧阻尼模型

-4.3 双线性滤波器

--双线性滤波器

-4.4 Modal合成

--Modal合成

-第四章测试

第五章 一维振动模型

-5.1 一维振动模型概述

--一维振动模型概述

-5.2 弦振动模型

--弦振动模型

-5.3 达朗贝尔的行波解

--达朗贝尔的行波解

-5.4 梳状滤波器

--梳状滤波器

-5.5 Karplus Strong算法

--Karplus Strong算法

-5.6 管状气鸣乐器模型

--管状气鸣乐器模型

-第五章作业

第六章 高音跟踪

-6.1 音高跟踪概述

--音高跟踪

-6.2 时域音高跟踪

--时域音高跟踪

-6.3 频域音高跟踪

--频域音高跟踪

-6.4 K歌评分

--K歌评分

-第六章作业

第七章 音频同步

-7.1 音频同步概述

--音频同步概述

-7.2 音乐特征提取 CQT

--音乐特征提取CQT

-7.3 音乐特征提取 Chroma

--音乐特征提取Chroma

-7.4 动态时间规划概述

--动态时间规划概述

-7.5 动态时间规划实现

--动态时间规划实现

-第七章作业

计算机音乐课程资源笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。