Skip to content

kosmar/class-randomness-is-all-around

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

87 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

class-randomness-is-all-around

About

Randomness is all around is a class by Aarón Montoya-Moraga.

Randomness is all around was taught at School of Ma, in an online non-presential way, over 4 weeks, one three-hour class every week, between Monday January 14th 2019 and Monday February 4th 2019.

Contents

Code of conduct

This class is part of School of Ma, and will be ruled by their code of conduct.

Summary

Randomness is all around us and is what drives natural events such as the weather and dice-throwing. Randomness is behind noise, and noise is present in every sensor measurement, including our audiovisual perception of the world. Randomness is what makes vinyls sound different than digital audio and film look different than digital video. Randomness is the lack of pattern and or predictability in patterns.

Computers allows us to create mathematical models of randomness and incorporate to our art practice, rendering new exciting new generative and unpredictable artworks, like it has been done in genres such as aleatoric music and automatic drawing, and by artists like Lillian Schwartz, Max Hawkins and John Cage, and featured by institutions such as the Random Institute.

We will cover math for randomness and probabilities, programming with scripts, programming audio synthesis and manipulation, computer graphics, video manipulation, and web concepts.

Applicants from diverse backgrounds, with varied skillsets and interests are welcome.

Don't feel discouraged if you know nothing about any of these topics, if you can use a computer you will be able to follow and learn in every class.

If you are an expert in any of these topics, you will learn how to incorporate other disciplines to your practice.

Methodology

Each class includes explanations of theory and concepts, and practical examples with software.

Students are encouraged to ask questions and branch out from the proposed timeline for class.

All the notes and code written is included on this GitHub repository, so that students can focus on following along the coding examples and not worry about taking notes or missing out.

There are also several links for further reading and studying.

All the contents of this repository will be updated during the duration of this class.

Materials for the class

The materials needed include:

  • A computer running either Linux, MacOS, or Windows. (No tablets)
  • Internet connection
  • Headphones

We will use free libre open source software, including:

Installation

Refer to the installation.md file to install the required free libre open source software we will use in this class.

All the material of this class is free, libre, open-source, and available on the web on a GitHub repository.

It is highly encouraged to use GitHub to share the work you do and the notes you take for this class. If you are not sure what GitHub is, here are some links:

I would love it if everyone would upload the code they write using GitHub to share it with all classmates but it is not mandatory, it is totally OK to not do it.

If you want to start using Git over GitHub, I suggest these resources:

TODO: Maybe for real-time collaboration, we should set up a Google Doc so you call can take notes and share them?

Week 1: Introduction to randomness for numbers and text with Python

Topics

  • Randomness
  • Randomness and computers
  • Uniform distribution
  • Normal/Gaussian distribution
  • Poisson distribution
  • Markov chains
  • Normalization of signals
  • Python for math and randomness
  • Randomness on the internet: random.org
  • Randomness and text: Tracery for Python

Students introductions

Before starting the class, let's do short introductions 90 seconds timer:

  • Name?
  • Why did you take the class?
  • What are your expectations out of this class?
  • Background in programming?
  • Background in arts/design/music/stuff?

Week 1 assignment

Write a Python script that outputs random numbers in a creative way. Write a blog post about the way your Python script works, include your inspiration, your successes, your shortcomings, and failures. Include also your research links, and bibliography, and any doubts you have about randomness, Python, or anything we have seen so far.

Week 2: Introduction to randomness and sound art

Topics:

  • Sound art and computer music
  • Human sound perception
  • Pure Data environment
  • Oscillators
  • Noise
  • Sequencers
  • Sampling

Week 2 assignment

Create a sound art piece that uses randomness.

Week 3: Introduction to randomness and computer graphics

Topics:

Week 3 assignment

Create a visual art piece that uses randomness.

Week 4: Introduction to randomness and video manipulation

Topics:

  • Human vision temporal sensitivity
  • Introduction to VidPy
  • Video format conversion
  • Frame rate manipulation
  • Stitching videos programmatically

Week 4 assignment

Create a video art piece that uses randomness.

Additional resources

License

MIT

About

Online class for School of Ma, Berlin

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%