Draft:Music Blocks

From Wikipedia, the free encyclopedia
  • Comment: Github, YouTube, Amazon and their website are not reliable sources. S0091 (talk) 21:05, 28 December 2021 (UTC)

Music Blocks
Designed byWalter Bender, Devin Ulibarri, and various
DeveloperWalter Bender and various
First appeared2015; 9 years ago (2015)
Implementation languageJavaScript, fork of TurtleJS
OSCross-platform
LicenseAGPL
Filename extensions.html and .tb ("Turtle Blocks" JSON)
Influenced by
Logo

Music Blocks is a block-based educational graphical programming language for exploring both music and programming. Music Blocks is a fork of Turtle JS, a logo-inspired visual programming language created by Walter Bender. Music Blocks is a Web application that runs in the browser (like Scratch 2 and 3) without requiring installation. Its basic syntax, although visual, is similar to the text-based program "Music Box" for Logo as described in "11. Make a Music Tune" of Twenty Things to do With a Computer, which utilizes new LOGO procedure (Subroutine) extensions specifically for music expression by Terry Winograd and Jeanne Bamberger.[2]

User interface[edit]

Virtual WhiteBoard Project for Music Blocks

The entire window of the browser below the main toolbar displays the code and the user's program. The main toolbar's main features are "play", "stop", "new project", and "planet". On the left are three main categories of palettes, organized as "music", "math/computation", and "graphics". Users drag and drop blocks from the palettes to create their code.

When online, students can publicly publish and share projects using the Planet feature.

Widgets are available for users to explore a variety of musical concepts. Widgets include "Phrase Maker" (simplified graphical notation), "Rhythm Maker", "Musical Modes", "Meter", "Pitch Slider" (Arbitrary Pitch in Hertz), "Music Keyboard", and others.

Features[edit]

Features of Music Blocks include:

  • Note value as a quanta of time, expressed as a fraction (e.g. 1/4 is "quarter note", 1/2 is "half note", 1/8 is "eighth note"). Both pitches and graphics can be used within Note Value;
  • Multiple expressions of pitch, such as solfege, Alphabet, scale degree, pitch number,[3] and hertz;
  • Tools to define and utilize key signature and meter for computation;
  • Widgets specifically for musical expression/analysis and generating code;
  • Planet for publishing and sharing projects; and
  • Lilypond, MusicXML, and JavaScript export.

History[edit]

Music Blocks was first created as a fork of TurtleJS in 2014 by Walter Bender. In 2015, Yash Khandelwal developed the first prototype of the "pitch-time matrix" (predecessor of the "Phrase Maker" widget) for Google Summer-of-Code.

In 2016, Music Blocks was introduced to the public by Walter Bender (programmer, MIT) and Devin Ulibarri (musician, New England Conservatory) at the 2016 Constructionism Conference,[4] hosted by Darunsikkhalai School for Innovative Learning. Bender and Ulibarri gave a workshop to attendees,[5] a presentation, and submitted an article that was published in the conference magazine.[6]

Music Blocks debuted in Japan by Devin Ulibarri and Sachiko Nakajima at Yokohama Science Frontier High School on December 16, 2017.[7]

By the summer of 2018, Music Blocks was introduced to a workshop,[8] as hosted by Gakken Ltd.[9] Gakken, with funding by Japan's Ministry of Economy, Trade and Industry, translated Music Blocks into Japanese and customized the user interface, and ran a series of workshops with students and teachers while collecting research and feedback.[10]

In 2019, Music Blocks was introduced to Boston Public Schools and Somerville Public Schools as part of outreach by the Free Software Foundation.[11]

Curriculum[edit]

Music Blocks is in the Constructionism lineage of pedagogical tools such as Logo. The method of teaching coding through music using Music Blocks was published November 10, 2021 in Twenty Things to Do with a Computer Forward 50: Future Visions of Education Inspired by Seymour Papert and Cynthia Solomon’s Seminal Work[12] by Gary S. Stager and Heather A. Pang. Music Blocks lesson plans have been created by teachers of MAP Family Learning Center, SugarLabs contributors, and by Gakken[13][14]

License[edit]

The source code of Music Blocks is licensed under the Affero General Public License (AGPL) and is hosted on GitHub.

References[edit]

  1. ^ "Tags · sugarlabs/musicblocks". GitHub.
  2. ^ Papert, Seymour A.; Solomon, Cynthia (June 1, 1971). Twenty Things To Do With A Computer. hdl:1721.1/5836 – via dspace.mit.edu.
  3. ^ "音楽と数学、コンピューターサイエンスの関係性とは? プログラミング学習ツール「Music Blocks」の開発者インタビュー". EdTechZine(エドテックジン). 4 June 2019.
  4. ^ "Constructionism 2016 – February 1-5 Bangkok, Thailand, Site visits February 6-7". March 1, 2021. Archived from the original on 2021-03-01. Retrieved 2021-12-28.
  5. ^ http://people.sugarlabs.org/walter/docs/MusicBlocks-Workshop.pdf
  6. ^ https://people.sugarlabs.org/walter/docs/MusicBlocks.pdf
  7. ^ "バックナンバー【2017.10~12】". 横浜サイエンスフロンティア高等学校.
  8. ^ "音楽と数学からのアプローチでプログラミングを学ぶ!「Music Blocks」のモデル授業". EdTechZine(エドテックジン). 5 June 2019.
  9. ^ "「Music Blocks」を使用、教員向けプログラミング教育ワークショップ開催". コエテコ.
  10. ^ https://www.learning-innovation.go.jp/existing/doc/a0003/verify_a0003_achievementreportN.pdf#report [bare URL PDF]
  11. ^ "FSF teaches free software to public school youth — Free Software Foundation — Working together for free software". www.fsf.org.
  12. ^ Bender and Ulibarri. "Number Eleven: Make a Music Box". Twenty Things to Do with a Computer Forward 50: Future Visions of Education Inspired by Seymour Papert and Cynthia Solomon’s Seminal Work. Stager and Pang. 2021.
  13. ^ https://www.learning-innovation.go.jp/existing/doc/a0003/verify_a0003_interimreport.pdf?211230
  14. ^ https://www.learning-innovation.go.jp/existing/doc2019/verify_d0089_achievementreport.pdf#report [bare URL PDF]

External links[edit]


Category:Educational programming languages Category:Free educational software Category:Pedagogic integrated development environments Category:Video game development software Category:Software developer communities Category:Visual programming languages