Creating a sound synthesizer in the Notebook

In this recipe, we will create a small electronic piano in the Notebook. We will synthesize sinusoidal sounds with NumPy instead of using recorded tones.

How to do it...

  1. We import the modules:
    >>> import numpy as np
        import matplotlib.pyplot as plt
        from IPython.display import (
            Audio, display, clear_output)
        from ipywidgets import widgets
        from functools import partial
        %matplotlib inline
  2. We define the sampling rate and the duration of the notes:
    >>> rate = 16000.
        duration = .25
        t = np.linspace(
            0., duration, int(rate * duration))
  3. We create a function that generates and plays the sound of a note (sine function) at a given frequency, using NumPy and IPython's audio class:
    >>> def synth(f): x = np.sin(f * 2. * np.pi ...

Get IPython Interactive Computing and Visualization Cookbook - Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.