# About

> Zoophony is a free, open-source MIDI player for the web. An orchestra of animals plays each part of a piece on a 3D stage.

Zoophony is a free web app that plays MIDI files. An orchestra of animals sits on a small 3D stage, and each animal plays one part of the piece. A bear conducts. You hear the music, and you see which instrument plays each note.

## Who it is for

Zoophony is for people who like classical music, for teachers and children who learn the instruments of an orchestra, and for musicians who want to hear and see a MIDI file.

## How it works

- The app reads the MIDI file in your browser and gives each part a seat in the orchestra.
- A synthesizer plays the notes with the recorded samples of real instruments.
- Each animal moves like a real musician: it bows, blows, strikes, or plays the keys in time with its notes.
- The camera follows the music, or you turn the view yourself.

## How to use it

1. Open [Zoophony](https://www.zoophony.com/).
2. Push the play button to hear the first piece.
3. Open the drawer to select a different piece, or drop a MIDI file (.mid) on the page.
4. Use the seat list in the drawer to mute an animal or to hear it alone.

The app needs a browser with WebGL2: a current version of Chrome, Firefox, or Safari on a computer, a tablet, or a phone.

## The pieces

The demo list has 14 pieces by Bach, Beethoven, Boulanger, Brahms, Mendelssohn, and Mozart. The scores come from OpenScore and the Mutopia Project, and each one is in the public domain or has a free license. The credits in the app give the source of each score.

- [Bassoon Concerto, K. 191: III, Wolfgang Amadeus Mozart](https://www.zoophony.com/#demo=mozart-k191)
- [Horn Concerto No. 2, K. 417: III, Wolfgang Amadeus Mozart](https://www.zoophony.com/#demo=mozart-k417)
- [Brandenburg Concerto No. 5, BWV 1050: III, Johann Sebastian Bach](https://www.zoophony.com/#demo=bach-bwv1050)
- [Symphony No. 9, Op. 125: Ode to Joy, Ludwig van Beethoven](https://www.zoophony.com/#demo=beethoven-9)
- [D'un matin de printemps, Lili Boulanger](https://www.zoophony.com/#demo=boulanger-matin)
- [Eine kleine Nachtmusik, K. 525: I, Wolfgang Amadeus Mozart](https://www.zoophony.com/#demo=mozart-k525)
- [Brandenburg Concerto No. 3, BWV 1048: I, Johann Sebastian Bach](https://www.zoophony.com/#demo=bach-bwv1048)
- [Symphony No. 8, Op. 93: II, Ludwig van Beethoven](https://www.zoophony.com/#demo=beethoven-8)
- [Andante in C, K. 315, Wolfgang Amadeus Mozart](https://www.zoophony.com/#demo=mozart-k315)
- [Symphony No. 1, Op. 21: IV, Ludwig van Beethoven](https://www.zoophony.com/#demo=beethoven-1)
- [Symphony No. 2, Op. 73: IV, Johannes Brahms](https://www.zoophony.com/#demo=brahms-2)
- [Symphony No. 8, Op. 93: IV, Ludwig van Beethoven](https://www.zoophony.com/#demo=beethoven-8-4)
- [Brandenburg Concerto No. 2, BWV 1047: I, Johann Sebastian Bach](https://www.zoophony.com/#demo=bach-bwv1047)
- [A Midsummer Night's Dream, Op. 61: V, Felix Mendelssohn](https://www.zoophony.com/#demo=mendelssohn-op61)

## Open source

[Xueqiao (Joe) Xu](https://github.com/qiao) made Zoophony. The [source code](https://github.com/qiao/zoophony) is on GitHub under the Apache License 2.0. The sounds and the scores have their own licenses, which the credits in the app and the [third-party licenses](https://www.zoophony.com/third-party-licenses.txt) give.
