数字信号处理(playthattune.py)

 1 import stdarray
 2 import math
 3 import stddraw
 4 import stdaudio
 5 import stdio
 6 SPS = 44100
 7 CONCERT_A = 440.0
 8 while not stdio.isEmpty():
 9     pitch = stdio.readInt()
10     duration = stdio.readFloat()
11     hz = CONCERT_A * (2 ** (pitch/12.0))
12     n = int(SPS * duration)
13     samples = stdarray.create1D(n+1, 0.0)
14     for i in range(n+1):
15         samples[i] = math.sin(2.0 * math.pi * i * hz / SPS)
16     stdaudio.playSamples(samples)
17 stdaudio.wait()
时间: 2024-08-11 07:37:08

数字信号处理(playthattune.py)的相关文章

转载--理解数字信号处理的三把钥匙

原址 在数字信号处理大厦中,有许许多多的小房间,有的门上写着"DFT",有的门上写着"滤波",有的门上写着"卷积",有的门上写着"相关",等等.每一个房间都藏着知识的秘密,每一个房间都要用属于自己的钥匙才能打开.但就整体上来说,理解数字信号处理有三把"万能"的钥匙:时域与频域的相互切换.向量和MATLAB软件.充分应用这三把钥匙,能为深入理解数字信号处理提供有力的帮助. 1.时域与频域的相互切换 深入理解数

FS,FT,DFS,DTFT,DFT,FFT的联系和区别 数字信号处理

DCT变换的原理及算法 文库介绍 对于初学数字信号处理(DSP)的人来说,这几种变换是最为头疼的,它们是数字信号处理的理论基础,贯穿整个信号的处理. 学习过<高等数学>和<信号与系统>这两门课的朋友,都知道时域上任意连续的周期信号可以分解为无限多个正弦信号之和,在频域上就表示为离散非周期的信号,即时域连续周期对应频域离散非周期的特点,这就是傅里叶级数展开(FS),它用于分析连续周期信号. FT是傅里叶变换,它主要用于分析连续非周期信号,由于信号是非周期的,它必包含了各种频率的信号,

数字信号处理MATLAB简单序列

数字信号处理应用的几个基本序列: 1 单位样本序列 function mainImseq() clc clear disp('生成抽样序列'); y=imseq(1,1,5); %调用样本函数,此时序列下标以1开头(1~5之间5个数,下标为1的抽样值为1) %子函数imseq:抽样函数 function [x,n]=imseq(n0,n1,n2) n=[n1:n2]; x=[(n-n0) ==0 ] 2 单位阶越序列 产生u(n) function mainImseq() clc clear d

《数字信号处理》 学习总结

21世纪属于数字化信息时代,很有幸学习了一些数字信号的基础内容,尽管还不清楚这些理论基础的应用,但他所应用的技术给了自己很多积累也让自己感受到了人类智慧的伟大,本文章主要论述对高西全和丁玉美编著的<数字信号处理>简要学习总结. 上图为对本书学习的主要内容, 信号有模拟信号,时域离散信号和数字信号之分,主要讨论的是离散信号和离散系统,为什么数字信号处理却讨论的是时域离散信号呢?原因是数字信号与离散信号的区别,数字信号存在量化误差,离散信号的特性研究相对容易. [分析方式] 任何事物都会有不同的分

数字信号处理与音频处理(使用Audition)

#include<iostream> #include<string> #include<stack> using namespace std; #define n 8 stack <int *> s; int * createMaze(){//初始化迷宫 int i,j; int * a; a=new int[n*n]; for(i=0;i<n;i++){ for(j=0;j<n;j++){ *(a+n*i+j)=-1;//不设置为0的原因是超

数字信号处理--傅里叶变换

原文出处: 韩昊 1 2 3 4 5 6 7 8 9 10 作 者:韩 昊 知 乎:Heinrich 微 博:@花生油工人 知乎专栏:与时间无关的故事 谨以此文献给大连海事大学的吴楠老师,柳晓鸣老师,王新年老师以及张晶泊老师. 转载的同学请保留上面这句话,谢谢.如果还能保留文章来源就更感激不尽了. ——更新于2014.6.6,想直接看更新的同学可以直接跳到第四章———— 我保证这篇文章和你以前看过的所有文章都不同,这是 2012 年还在果壳的时候写的,但是当时没有来得及写完就出国了……于是拖了两

数字信号处理Day1自制电子音乐

第一天的课程感觉比較简单,主要介绍Karplus-Strong Algorithm 给出方程 y[n]=αy[n?M]+x[n], x[n]是输入,M是延迟,α是衰弱系数 我们要衰减D次,总的採样数就是D*M 以下是最直接的实现 关于x = x(:).';的语法是这种,这是一个转置,可是是非共轭转置,假设是x',那么1+i就成了1-i function y = ks_loop(x, alpha, D) % Length of the output signal must be larger th

傅立叶变换的深入理解 转载 数字信号处理

傅立叶变换的深入理解 2007年10月05日 星期五 16:41 专题讨论四:关于傅里叶变换的讨论[精彩] 有奖征集:大家讨论一下傅里叶变换相关的内容: 1 变换的目的,意义,应用. 2 傅里叶级数与傅里叶变换的差别和联系 3 连续傅里叶变换,离散时间傅里叶变换,离散傅里叶变换,序列的傅里叶变换,各自的定义,差别,联系. 3 高速傅里叶变换的实质,经常使用的算法之间的差别和联系,各自的优势. 4 fft的应用讨论: 1.变换是时间变量函数变成相应变换域的某种变量函数,这样使运算简单,处理方便.变

数字信号处理--FFT与蝶形算法

在数字信号处理中常常需要用到离散傅立叶变换(DFT),以获取信号的频域特征.尽管传统的DFT算法能够获取信号频域特征,但是算法计算量大,耗时长,不利于计算机实时对信号进行处理.因此至DFT被发现以来,在很长的一段时间内都不能被应用到实际的工程项目中,直到一种快速的离散傅立叶计算方法——FFT,被发现,离散傅立叶变换才在实际的工程中得到广泛应用.需要强调的是,FFT并不是一种新的频域特征获取方式,而是DFT的一种快速实现算法.本文就FFT的原理以及具体实现过程进行详尽讲解. DFT计算公式 本文不