EarSketch

Last updated
EarSketch
ESpaint.png
Type of site
Online education
Available inEnglish
Created by Georgia Institute of Technology
URL https://earsketch.gatech.edu
CommercialNo
Users 996,578
Launched2011
Content license
Georgia Tech Research Corporation license
Written inJavaScript (client), Java (server)

EarSketch is a free educational programming environment. Its core purpose is to teach coding in two widely used languages, Python and JavaScript, through music composing and remixing. This learning environment was developed first at Georgia Institute of Technology, (from 2011) under Prof. Jason Freeman (School of Music) and Prof. Brian Magerko (School of Literature, Media, and Communication). [1]

Contents

EarSketch is web-based, which means users can access it with their web-browsers, and with no installation. No account is required to create projects or view existing projects.

EarSketch comprises different elements: a curriculum, a digital audio workstation (or DAW), a code editor, console, and a sound browser. EarSketch's sound library was created by Young Guru, Jay Z's sound engineer, and famous sound designer Richard Devine.

Purpose

EarSketch has two main goals: to make computer science more engaging for students, and to diversify the population of students interested in computer science.

Engagement in computer science at school

The US has a shortage of computer science students, not only because not all schools are offering CS classes, [2] but also because students do not enroll in such classes. A study published in 2009 states: "The percentage of U.S. high school students taking STEM courses has increased over the last 20 years across all STEM disciplines except computer science where it dropped from 25% to 19%". [3] Considering this, and the fact that all fields of the economy incorporate computing in their operations, EarSketch proposes to motivate students to enroll in CS classes and to pursue CS studies in higher education. EarSketch attempts to reach this goal by adding a musical side to coding. This strategy is a STEAMs approach to education that integrates arts into STEM teaching. A study conducted at Georgia Tech showed statistically significant results in this domain: students who study with EarSketch have been shown to make progress both in content knowledge and attitude towards CS (self-confidence, motivation, intent to persist, etc.). [4]

Participation in computing

Today female and minority students in CS classes are, like in other engineering fields, underrepresented (with 22% of female students, 13% of African American students in US classes in 2015 [5] ). EarSketch has demonstrated success in tackling this issue, [6] partly because of the focus on popular genres of music such as dubstep, and because EarSketch provides a creative, expressive, and authentic environment (since students compose their own music).

History

Origin of the name EarSketch

The name EarSketch originated in a different project from co-creators Freeman and Magerko focused on collaborative composition and music analysis via drawing. That project never came to fruition, but the idea of collaborative music-making (and the name) remained in a new project focused more on coding and computer science education. Though sketching is no longer a focus of EarSketch, the environment does offer drawing and animation features through P5.

First version: Reaper-based desktop application

The initial version of EarSketch, released in 2012, was built inside of REAPER, a commercial digital audio workstation with extensive support for coding via the ReaScript API for Python and the JavaScript plugin authoring architecture. As the project grew, the Reaper-based version of EarSketch was eventually retired due to its dependence on commercial software, the inability of the team to create an integrated user interface to author code, view musical results in the DAW, find sounds, and challenges installing the software in school computer labs.

Current version: web application

The project then evolved to become a website in 2014. This allowed students to start coding without having to download software. The website uses the Web Audio API and runs on a private server. New versions are release approximately once per month. EarSketch is not just a software: the EarSketch team works hand in hand with teachers to build the curriculum, and trains teachers every year in summer professional development workshops.

Funding

EarSketch received funding from the National Science Foundation (NSF) (CNS #1138469, DRL #1417835, DUE #1504293, and DRL #1612644), the Scott Hudgens Family Foundation, the Arthur M. Blank Family Foundation, and the Google Inc. Fund of Tides Foundation.

Sections

EarSketch is a web application, and when opening a session, users see different sections: the curriculum, the code editor, the console, the Digital Audio Workstation, and the browser.

EarSketch sections ESsections.png
EarSketch sections

The curriculum

The curriculum is aligned with AP Computer Science Principles but can be used in any introductory programming course.
Each chapter has several sections, a summary, a quiz, screencasts, and associated slides. The curriculum is positioned in the right side of the window. It is a textbook for EarSketch that includes chapters about major computing principles, Python and JavaScript, as well as an introduction to computer science. The curriculum is divided in the following sections:


The units are divided into chapters. Each chapter has several sections, a summary, a quiz, and associated slides. The curriculum contains Python and JavaScript example code that can be pasted into the code editor.

The code editor and console

EarSketch's code editor is located in the window at the center of the page. When the code is executed, it will create the music in the Digital Audio Workstation. If there is an error in the code, a message explaining the error will appear in the console, located under the code editor.

The digital audio workstation

A digital audio workstation (DAW) is a tool used by a majority of music producers which helps manipulate audio samples (or audio files), add effects, and accomplish other tasks in the composition process. EarSketch's DAW is located in the top center section, above the code editor. It contains tracks: each line is a track, and corresponds to an instrument. With code commands, the user will add sound samples in these tracks, as well as effects, such as volume changes, reverberation, delay, etc. When the code is executed, the DAW will be filled with the sound samples, and the user can play the music they just coded.

The browser: scripts and sounds

In order to compose music, EarSketch coders can use samples. Audio samples are located in the sound browser, in the left window, which allows for sound file search, and personal sound file upload. In the left section, users can also show the script browser. A script is a code file, and different scripts will create different musics in the DAW.

Main feature examples

Although the code written in the code editor will be either in Python or JavaScript, there are EarSketch-specific functions that allow for the user to accomplish music related tasks. Here are some examples:

Related Research Articles

<span class="mw-page-title-main">Plug-in (computing)</span> Software component that adds a specific feature to an existing software application

In computing, a plug-in is a software component that adds a specific feature to an existing computer program. When a program supports plug-ins, it enables customization.

<span class="mw-page-title-main">Digital audio</span> Technology that records, stores, and reproduces sound

Digital audio is a representation of sound recorded in, or converted into, digital form. In digital audio, the sound wave of the audio signal is typically encoded as numerical samples in a continuous sequence. For example, in CD audio, samples are taken 44,100 times per second, each with 16-bit sample depth. Digital audio is also the name for the entire technology of sound recording and reproduction using audio signals that have been encoded in digital form. Following significant advances in digital audio technology during the 1970s and 1980s, it gradually replaced analog audio technology in many areas of audio engineering, record production and telecommunications in the 1990s and 2000s.

<span class="mw-page-title-main">Music technology (electronic and digital)</span>

Digital music technology encompasses digital instruments, computers, electronic effects units, software, or digital audio equipment by a performer, composer, sound engineer, DJ, or record producer to produce, perform or record music. The term refers to electronic devices, instruments, computer hardware, and software used in performance, playback, recording, composition, mixing, analysis, and editing of music.

Csound is a domain-specific computer programming language for audio programming. It is called Csound because it is written in C, as opposed to some of its predecessors.

<span class="mw-page-title-main">Ardour (software)</span> Open-source digital audio workstation

Ardour is a hard disk recorder and digital audio workstation application that runs on Linux, macOS, FreeBSD and Microsoft Windows. Its primary author is Paul Davis, who was also responsible for the JACK Audio Connection Kit. It is intended as a digital audio workstation suitable for professional use.

A sound editor is a creative professional responsible for selecting and assembling sound recordings in preparation for the final sound mixing or mastering of a television program, motion picture, video game, or any production involving recorded or synthetic sound. The sound editor works with the supervising sound editor. The supervising sound editor often assigns scenes and reels the sound editor based on the editor's strengths and area of expertise. Sound editing developed out of the need to fix the incomplete, undramatic, or technically inferior sound recordings of early talkies, and over the decades has become a respected filmmaking craft, with sound editors implementing the aesthetic goals of motion picture sound design.

<span class="mw-page-title-main">Digital audio workstation</span> Electronic device or application software used for recording, editing and producing audio files

A digital audio workstation is an electronic device or application software used for recording, editing and producing audio files. DAWs come in a wide variety of configurations from a single software program on a laptop, to an integrated stand-alone unit, all the way to a highly complex configuration of numerous components controlled by a central computer. Regardless of configuration, modern DAWs have a central interface that allows the user to alter and mix multiple recordings and tracks into a final produced piece.

<span class="mw-page-title-main">Audio editing software</span> Computer system for manipulating audio

Audio editing software is any software or computer program which allows editing and generating audio data. Audio editing software can be implemented completely or partly as a library, as a computer application, as a web application, or as a loadable kernel module. Wave editors are digital audio editors. There are many sources of software available to perform this function. Most can edit music, apply effects and filters, and adjust stereo channels.

An application program is a computer program designed to carry out a specific task other than one relating to the operation of the computer itself, typically to be used by end-users. Word processors, media players, and accounting software are examples. The collective noun "application software" refers to all applications collectively. The other principal classifications of software are system software, relating to the operation of the computer, and utility software ("utilities").

<span class="mw-page-title-main">Renoise</span> Digital audio workstation

Renoise is a digital audio workstation (DAW) based upon the heritage and development of tracker software. Its primary use is the composition of music using sound samples, soft synths, and effects plug-ins. It is also able to interface with MIDI and OSC equipment. The main difference between Renoise and other music software is the characteristic vertical timeline sequencer used by tracking software.

<span class="mw-page-title-main">Tracktion Waveform</span>

Waveform is a digital audio workstation for recording and editing audio and MIDI. The software is cross-platform, and runs on Apple macOS, Microsoft Windows, and Linux.

<span class="mw-page-title-main">REAPER</span> Digital audio workstation by Cockos

REAPER is a digital audio workstation and MIDI sequencer application created by Cockos. The current version is available for Microsoft Windows, macOS, and Linux. REAPER acts as a host to most industry-standard plug-in formats and can import all commonly used media formats, including video. REAPER and its included plug-ins are available in 32-bit and 64-bit format.

<span class="mw-page-title-main">Scratch (programming language)</span> Programming language learning environment

Scratch is a high-level, block-based visual programming language and website aimed primarily at children as an educational tool, with a target audience of ages 8 to 16. Users on the site can create projects on the website using a block-like interface. Scratch was conceived and designed through collaborative National Science Foundation grants awarded to Mitchel Resnick and Yasmin Kafai. Scratch is developed by the MIT Media Lab and has been translated into 70+ languages, being used in most parts of the world. Scratch is taught and used in after-school centers, schools, and colleges, as well as other public knowledge institutions. As of 15 February 2023, community statistics on the language's official website show more than 123 million projects shared by over 103 million users, over 804 million total projects ever created, and more than 95 million monthly website visits.

Loopmasters is a sample, MIDI file and preset distributor founded in 2003.

Snap<i>!</i> (programming language) Block-based programming language

Snap! is a free block-based educational graphical programming language and online community. Snap allows students to explore, create, and remix interactive animations, games, stories, and more, while learning about mathematical and computational ideas. While inspired by Scratch, Snap! has many advanced features. The Snap! editor, and programs created in it, are web applications that run in the browser without requiring installation. It is built on top of Morphic.js, a Morphic GUI, written by Jens Mönig as 'middle layer' between Snap! itself and 'bare' JavaScript.

<span class="mw-page-title-main">Bedroom production</span>

A bedroom producer is an amateur musician who creates, performs, and records their music independently using a home studio, often considered a hobbyist opposed to a professional record producer in the recording industry that works in a traditional studio with clients. Typically bedroom producers use accessible digital technology that costs less than the equipment in a professional studio, such as MIDI controller-based instruments and virtual studio technology, to create music for release to the world. While a professional record producer oversees and guides the recording process, often working alongside multiple people such as studio musicians, singers, engineers, mixers, songwriters, arrangers, and orchestrators, a bedroom producer does everything independently: creating the ideas, recording them and processing them for release. Bedroom producers are often self-taught, learning sound design, mixing and music theory by reading music production blogs and watching tutorials on the internet. As bedroom producers depend on the accessibility of music technology, bedroom production has been made easier with advances in home computing power and digital audio workstations (DAW).

References

  1. See Brian Magerko, "ADAM, Earsketch, and I," in Humanistic Perspectives in a Technological World, ed. Richard Utz and Karen Head (Atlanta: Georgia Institute of Technology, 2021, pp. 29-31. Electronic access
  2. "Computer Science: Not Just an Elective Anymore". Education Week. February 25, 2014.
  3. http://www.exploringcs.org/resources/cs-statistics, consulted in November 2016
  4. Magerko, B., Freeman, J., McKlin, T., Reilly, M., Livingston, E., Mccoid, S., Crews-Brown, A. (2016), ACM Transactions on Computing Education (TOCE), Vol 16, Issue 4
  5. www.whitehouse.gov Archived 2016-01-30 at the Wayback Machine consulted in Nov 2016
  6. Freeman, J., Magerko, B., Edwards, D., Moore, R., McKlin, T., & Xambó, A. (2015, August). EarSketch: A STEAM approach to broadening participation in computer science principles. In Research in Equity and Sustained Participation in Engineering, Computing, and Technology (RESPECT), 2015 (pp. 1-2). IEEE.
  7. https://code.org/learn, consulted in November 2016