Skip to content

Darce-One/pythonForMusicians

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python For Musicians

This repository contains the lesson resources for the Python For Musicians course given by Andreas Papaeracleous on YouTube.

Course playlist: https://youtube.com/playlist?list=PL8TsbTO4sR8bbqEl8wYlx3FDFv9kj12eJ&si=Xm5RvIFzeUqIHEjn

There shouldn't be any need to clone this repository, it's here as a reference to the videos. The scripts here are not necessarily the same as those in the videos - I encourage you to type them out yourself, especially if you are new to this. Just like with playing an instrument, practice makes perfect.

Contents:

Lesson 0 - Getting up to speed

  • Setting up a python environment through miniconda
  • Setting up a python project location
  • Navigating the terminal to the project directory
  • Assigning variables
  • Commenting
  • Basic data types: integers, floats, bools and strings
  • Mathematical operations: +, -, *, /, **.
  • Defining functions
  • Comparisons
  • If, elif, else statements
  • Best practices

Lesson 1 - Lists and NumPy Arrays

  • Defining lists
  • Accessing list elements
  • Installing numpy
  • Using numpy arrays

Lesson 2 - The Sine function and plotting

  • Properties of the sine function
  • Setting the frequency accurately
  • Showing identities
  • Plotting with matplotlib.pyplot
  • Homework assignment

Lesson 3 - Audio I/O

  • Basics of digital audio
  • Sample rate (A.k.a. Sampling frequency)
  • Preparing audio files for python synthesis
  • Tuples
  • Using librosa.load()
  • Using soundfile.write()
  • Digital Synth introduction

Lesson 4 - Classic Wave Shapes

  • Creating triangle waves
  • Creating sawtooth waves
  • Creating square waves
  • 2 ways for pulse-width modulation
  • Creating chords
  • Ring modulation

Lesson 5 - OOP and the AudioProcessor class

  • Defining and instantiating classes
  • Processing blocks of audio
  • Using the audioProcessor to build a basic random granulator.

Lesson 6 - Live Audio Processing

  • Opening audio streams
  • Audio stream settings
  • Reading audio streams
  • Writing audio streams

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages