Slide 1

Slide 1 text


 Music and Jupyter A combo for creating collaborative narratives for teaching Carol Willing Project Jupyter Cal Poly SLO August 24, 2017 JupyterCon 2017 @carolwilling

Slide 2

Slide 2 text

Headline Slide Sub-headline Hello

Slide 3

Slide 3 text

Headline Slide Sub-headline Hi

Slide 4

Slide 4 text

Carol Willing Project Jupyter Steering Council and Developer Cal Poly SLO Software Engineer Python Software Foundation Recent Director CPython Core Developer Fab Lab San Diego Geek in Residence @willingcarol

Slide 5

Slide 5 text

Learning results from what a student does and thinks and only what the student does and thinks. Herbert A. Simon

Slide 6

Slide 6 text

Why music?

Slide 7

Slide 7 text

Real world interest matters.

Slide 8

Slide 8 text

Jupyter notebooks engage learners

Slide 9

Slide 9 text

Engaging students and musicians PyCon 2014

Slide 10

Slide 10 text

Universal Cross-cultural understanding

Slide 11

Slide 11 text

Creative

Slide 12

Slide 12 text

Lifelong learning

Slide 13

Slide 13 text

Access and opportunities

Slide 14

Slide 14 text

...see mistakes ...as interesting opportunities to learn Photo taken by Matthew Bowers Benjamin Zander

Slide 15

Slide 15 text


 Tools Jupyter Notebook and JupyterLab markdown language kernels (Python, R, Julia) ipywidgets nbconvert RISE, nbpresent Sphinx JupyterHub and Binder

Slide 16

Slide 16 text


 Content music21 - Michael Cuthbert magenta - tensorflow music generation Allen Downey’s Think DSP notebooks Extempore - live coding of music Visualizing music - AnnMarie Thomas

Slide 17

Slide 17 text

Jupyter Notebook A Jupyter Notebook document with a visualization of measles data.

Slide 18

Slide 18 text

Jupyter Notebook Interactive Browser-based computing environment Exploratory Science, machine learning, visualization, analysis, stats Reproducible document format Code Narrative text (markdown) Equations (LaTeX) Images, visualizations Over 50 programming languages Everything open-source (BSD license)

Slide 19

Slide 19 text


 Prose Code Visualizations Video and animations Widgets Audio Jupyter ingredients

Slide 20

Slide 20 text

Prose #, ##, ### Headings *music* music **corpus** corpus `print(chord)` chord Shift-Enter Execute cell

Slide 21

Slide 21 text

Live preview in JupyterLab preview source

Slide 22

Slide 22 text

Code • JupyterLab (attach a console for exploration) • List and install requirements • Drop into file system • Export as script \

Slide 23

Slide 23 text

Run code in the notebook Shift-Enter to execute a code cell. Shift-Command-Enter to enter single document mode. Similar to classic notebook.

Slide 24

Slide 24 text

Visualizations music21 - sheet music

Slide 25

Slide 25 text

\ Visualizations music21 interact with MuseScore

Slide 26

Slide 26 text

Visualizations \ music21 translate to braille

Slide 27

Slide 27 text

Video and Animation \

Slide 28

Slide 28 text

ipywidgets Docs https://ipywidgets.readthedocs.io cookiecutter to simplify creating new widgets Interactive Documentation Engaging User Content Rapid “what if” scenarios http://jupyter.org/widgets.html Widgets

Slide 29

Slide 29 text

Audio magenta.tensorflow.org \

Slide 30

Slide 30 text

Audio https://github.com/tensorflow/magenta-demos/tree/master/jupyter-notebooks \

Slide 31

Slide 31 text

Audio https://magenta.tensorflow.org/performance-rnn \ Ian Simon and Sageev Oore. "Performance RNN: Generating Music with Expressive Timing and Dynamics." Magenta Blog, 2017. https://magenta.tensorflow.org/performance- rnn

Slide 32

Slide 32 text

Audio https://magenta.tensorflow.org/nsynth-instrument \

Slide 33

Slide 33 text

Everyday Sounds https://experiments.withgoogle.com/ai/drum-machine \ https://github.com/googlecreativelab/aiexperiments-drum-machine

Slide 34

Slide 34 text

Nature’s music https://experiments.withgoogle.com/ai/bird-sounds \

Slide 35

Slide 35 text

\ https://experiments.withgoogle.com/ai/drum-machine https://experiments.withgoogle.com/ai/bird-sounds

Slide 36

Slide 36 text

36

Slide 37

Slide 37 text

How? Start with content (videos, code, notebooks) Gather into a repo Create and iterate on notebooks Use Binder to share Run a workshop or lesson (RISE, nbpresent) Publish (Sphinx supports markdown, reStructuredText, notebooks) Create a website

Slide 38

Slide 38 text

Live code on Binder https://beta.mybinder.org/v2/gh/minrk/ligo-binder/master?filepath=index.ipynb https://losc.ligo.org/tutorials/

Slide 39

Slide 39 text

Exploration and experimentation Physical media with electronics Real world, self-directed projects Teaching Signal Processing using Wearables and Jupyter Notebooks Dr. Demba Ba http://pyvideo.org/scipy-2016/labs-in-the-wild-teaching-signal-processing-using-wearables-jupyter-notebooks-scipy-2016.html

Slide 40

Slide 40 text

Using Jupyter Notebooks with R in the classroom Tanya Schlusser Excellent resource on using tmpnb and JupyterHub for teaching http://jupyter.rocks/ https://github.com/tanyaschlusser/Jupyter-with-R

Slide 41

Slide 41 text

What can you do with Jupyter? Extend Remix Apply Collaborate ? ?

Slide 42

Slide 42 text

Creating gateways to learning PyLadies DjangoGirls Workshops Conferences User groups Sprints pyvideo.org Documentation Credit: http://bostonpythonworkshop.com/

Slide 43

Slide 43 text

You create the future Credit: http://pythonineducation.org/

Slide 44

Slide 44 text

Sub-headline Thank you

Slide 45

Slide 45 text

• Demba Ba • Jeremy Freeman, Binder • Michael Cuthbert, music21 • Allen Downey, Think DSP • AnnMarie Thomas, Visualizing Music Attributions and recognition A huge thank you to the Project Jupyter team and community. Your hard work and passion makes this all possible. • Tanya Schuller • Magenta team • FabLab San Diego • Photo credits on individual slides • Content credit on slides

Slide 46

Slide 46 text


 Music and Jupyter A combo for creating collaborative narratives for teaching Carol Willing Project Jupyter Cal Poly SLO August 24, 2017 JupyterCon 2017 @carolwilling