首页 > 其他分享 >ECE-GY 6183 Real-Time Digital Signal Processing

ECE-GY 6183 Real-Time Digital Signal Processing

时间:2024-09-25 18:24:06浏览次数:8  
标签:Real ECE processing Python Processing will course time audio

Real-Time Digital Signal Processing Lab

ECE-GY 6183 / ECE-UY 4163

Fall 2024

This course is an introduction to the real-time implementation of digital signal processing (DSP) algorithms, with an emphasis on audio signal processing and audio effects.

The course will use Matlab and Python programming.  Some Matlab experience is expected.  No experience in Python required; the course will introduce Python as needed.  This course can be taken independently of ECE 6113 and ECE 7133 (DSP I and DSP II).

Topics  include:   Audio  input-output  and  buffering.    Filtering  (recursive  and  non-recursive  filters,  structures). Fast Fourier transform. and windowed spectral analysis.  Digital audio effects (delay line, amplitude modulation, reverberation, distortion, short-time Fourier transform).  Students will learn to implement these algorithms for real-time audio processing in software.

Prerequisites

The prerequisite for this class is required. Valid prerequisites are ECE-GY 6113 (DSP 1), ECE-UY 3054 (Signals and Systems), or another course that covers discrete-time signals and systems (undergraduate level is sufficient). The registration system (NYU Albert) does not check for the prerequisite for this course; but you must still have it. Your prerequisite course should cover:  discrete-time convolution, Z-transform, transfer function,  frequency response, difference equations, pole-zero diagrams, and the Fourier transform.  Let me know if you have  any questions about the prerequisite.

Texts

You can read both books online through the NYU Library for free. You will need to login to the library.  Use the Ebook Central link to read the books online.

1.  Audio Effects:  Theory,  Implementation and Application Joshua D. Reiss, Andrew McPherson

CRC Press, 2014

NYU library: https://bobcat.library.nyu.edu/permalink/f/ci13eu/nyu_aleph004382842

Publisher: http://www.crcpress.com/product/isbn/9781466560284

2.  DAFX – Digital Audio Effects Udo Z¨olzer (editor)

Wiley, 2002 (1st edition), 2011 (2nd edition)

NYU library: https://bobcat.library.nyu.edu/permalink/f/1c17uag/COURSES000344723

Publisher: https://www.wiley.com/en-us/DAFX%3A+Digital+Audio+Effects%2C+2nd+Edition-p-9780470665992

Outline (subject to revision)

1.  Introduction to Python

Binary data and the pack function

Wave files

2.  The PyAudio library Second-order filters  Matlab examples

Graphical user interfaces (GUI) in Matlab

3.  Real-time filtering of microphone signals The classical recursive filters

4.  Circular buffers

The vibrato effect

Instantaneous frequency

5.  Block  processing for real-time processing The Python Matplotlib library

Real-time plotting of audio signals

6.  The Fast Fourier Transform.

The Numpy Library Block filtering

Graphical user interfaces (GUIs) in Python using the TKinter library

7.  Keyboard interactivity using TKinter

Simulating a guitar (Karplus-Strong algorithm)

Complex amplitude modulation for voice transformation

8.  Image and  real-time video processing in Python using CV2 Processing audio from two microphones

9.  Exam

10.  The short-time Fourier transform. (STFT) Audio effects using the STFT

FFT-based convolution (and overlap-add algorithm) for real-time filtering Acoustic impulse response examples

11.  Reverberation and  room impulse responses

Room impulse response measurements using chirps Chirp signal signals and matched filtering

12.  All-pass systems

Fractional delay systems Artificial reverberation

13.  Parametric filters

Distortion effects

Quantization effects

14.  Multirate Systems

Discrete-cosine transform. (DCT)

Principle component analysis (PCA)

Grading, Category weights

30%    Exercises

15%     Quizzes

30%     Exam

25%     Project

Students may work in groups on the HW assignments.  However, what is submitted for HW should be individually written by the student and should represent the student’s individual understanding of the material.

You should  not  use  ChatGPT or other code-assistants or AI tools to write  programs that you submit for the course.

In the event of academic dishonesty, a score of zero may be given for the item at issue.  Additionally, the grade for the course may be reduced, including a failing grade for the course.

Project

Students will complete a real-time audio programming project and record a video presentation to be shared with the class.

Exam

The exam will be a take-home exam.  For the exam, you will write  real-time  programs in Python.  No  use of AI tools will be allowed for the exam.  Guidelines for the exam will be given. There will not be a lecture the week of the exam.

Software

Matlab: http://www.mathworks.com

Matlab at  NYU: https://www.nyu.edu/life/information-technology/computing-support/software/ software/matlab.html

Python : http://www.python.org

PyAudio : http://people.csail.mit.edu/hubert/pyaudio/

Learning objectives

1.  The implementation and design of algorithms for signal processing with an emphasis on audio processing.

2.  Software-based real-time programming of signal processing functions (real-time filtering, time-varying filter- ing, spectral analysis, audio effects).

Learning outcomes

1.  Students will be able to use Matlab and Python to perform. signal processing functions (filtering, spectral analysis, filter design).

2.  Students will understand constraints and 代 写ECE-GY 6183 Real-Time Digital Signal Processing  parameters associated with real-time signal processing (sampling rate, latency, buffering, bits per sample).

3.  Students will be able to write programs to perform. audio effects (reverberation, delay line effects, amplitude modulation, distortion).

If you are ill or have a personal emergency during the semester

If you are experiencing an illness or other situation that affects your academic performance in a class, please email the Coordinator of Student Advocacy, Compliance and Student Affairs.  They can  reach out to your instructors on your behalf when warranted.

advocacy .tandonstudentlife@nyu .edu

https://engineering.nyu.edu/life-tandon/student-life/student-advocacy

 

标签:Real,ECE,processing,Python,Processing,will,course,time,audio
From: https://www.cnblogs.com/wx--codinghelp/p/18431934

相关文章

  • 【论文阅读】RISE: 3D Perception Makes Real-World Robot Imitation Simple and Effe
    Abstract在模仿学习中,精确的机器人操作需要丰富的空间信息。基于图像的policies模型对象位置来自固定摄像头,对摄像头视图变化很敏感。利用3d点云的策略通常预测关键帧而不是连续动作,这在动态和联系人丰富的场景中造成了困难。为了有效地利用3d感知,我们提出了rise,这是一个用于......
  • CerealCode
    GYM105310C题目描述有\(N\)个煎饼店围成一圈,第\(i\)个店中有\(p_i\)个煎饼。接下来两只红熊猫会进行以下操作:两只熊猫分别选择一个不同的店\(a,b\)。第一只先选。接着第一个熊猫选择一个不为\(b\)的店,从\(a\)开始沿着一条不经过\(b\)的路线走到该店,并把路径......
  • 需求分析方法(场景五要素&5W3H&Y模型&MECE法则&人性七宗罪)
    一:业务需求和产品需求产品需求是对用户真实需求的提炼,形成产品需求后,要制定复合产品定位的解决方案,进而满足业务上的需求。需求分析就是将用户的需求(目的、想法、问题等)转为对应的产品解决方案(产品结构+产品流程+产品功能)。1.1需求的辨别需求真实:不是所有需求都是用户需要的。需......
  • Real Estate Is All Around
    网络流的【世界线】模型:在每个时间点,新建三个点分别表示某个助手在该时间点的状态,向下一时间点的对应点连一条流量无穷的边以刻画时间流逝难以求出出售房产的顺序,既然如此,我们就要求当前房产只有在能被出售的前提下才给到某个助手但是我们必须要把某个房产给到一个助手呀?没关系......
  • ECE598HZ: Advanced Topics in Machine Learning
    ECE598HZ:AdvancedTopicsinMachineLearningandFormalMethodsFall2024Homework1DueSep2311:59pmCTTypesetyoursolutionsusingLATEX,createasinglezip fileincludingyoursolutions(ina singlePDF file), your code, andinstructionstorun......
  • 音视频生态下Unity3D和虚幻引擎(Unreal Engine)的区别
    技术背景好多开发者跟我们做技术交流的时候,会问我们,为什么有Unity3D的RTMP|RTSP播放模块,还有RTMP推送和轻量级RTSP服务模块,为什么不去支持虚幻引擎?二者区别在哪里?本文就Unity3D和虚幻引擎之间的差异,做个大概的分析,实际上,Unity3D和虚幻引擎(UnrealEngine)在游戏开发及其他相关领域都......
  • WPF System.Windows.MessageBox.Show Dispatcher processing has been suspended, bu
    privatevoidSelectedCommandExecuted(objectobj){if(obj!=null&&objisDataGriddg){if(dg!=null){varselectedBks=dg.SelectedItems;if(selectedBks!=null&&selectedBk......
  • A Survey on Large Language Models with Multilingualism: Recent Advances and New
    本文是LLM系列文章,针对《ASurveyonLargeLanguageModelswithMultilingualism:RecentAdvancesandNewFrontiers》的翻译。多语言大型语言模型调查:最新进展和新前沿摘要1引言2前言3具有多语言功能的大型语言模型4多语言推理策略5多语言大型语言模型......
  • C和指针:动态内存分配(malloc,calloc,realloc,free)
     动态内存分配⭐关联知识点:linux动态内存分配为什么使用动态内存分配声明数组必须用一个编译时常量指定数组的长度。但是,数组的长度常常在运行时才知道,由于它所需要的内存空间取决于输入数据。malloc和freemalloc和free,分别用于执行动态内存分配和释放。这些函数维护一个可用......
  • PostgreSQL的walsender和walreceiver进程介绍
    PostgreSQL的walsender和walreceiver进程介绍在PostgreSQL中,WAL(Write-AheadLogging)是一种用于确保数据库事务日志安全可靠的机制。WAL是PostgreSQL进行数据库恢复、复制等操作的基础。walsender和walreceiver是PostgreSQL内部两个非常重要的进程,它们负责主......