Code Monkey home page Code Monkey logo

musicblocks's Introduction

MUSIC BLOCKS

“All musicians are subconsciously mathematicians” – Monk

Music Blocks is a programming language and collection of manipulative tools for exploring musical and mathematical concepts in an integrative and fun way.

alt tag

alt tag

Running Music Blocks

Music Blocks is available under the GNU Affero General Public License (AGPL), a free, copyleft license.

Music Blocks is designed to run in a web browser.

The easiest way to run Music Blocks is to open Music Blocks in your browser (Firefox, Chrome, and Opera work best).

If you want to run Music Blocks offline, download or git clone this repo and run through a local server.

How to set up a local server

Some web browsers (e.g., Firefox v68) have restrictions that prevent Music Blocks from running from the file://. To circumvent this, we provide instructions for launching a web server on your computer to which you can connect to Music Blocks.

(1) In a terminal, cd to the directory where you downloaded Music Blocks (e.g., cd /musicblocks)

(2) If you do not have Python installed, you'll need to install it. You can test for Python in a terminal: python. Type exit() to exit Python.

(3) Run npm run serve. You will see a message: Serving HTTP on 0.0.0.0 port 3000 ... since the HTTPServer is set to start listening on Port 3000.

(4) Open your favorite browser and run localhost:3000 or 127.0.0.1:3000.

Using Music Blocks

Once Music Blocks is running, you'll want suggestions on how to use it. See Using Music Blocks and Music Blocks Guide

Credits

Music Blocks is a fork of TurtleBlocksJS created by Walter Bender.

Devin Ulibarri has contributed functional and user-interface designs. Many of his contributions were inspired by the music education ideas, representations and practices (e.g. aspects of matrix, musical cups) developed and published by Larry Scripp with whom Devin studied at New England Conservatory and for whom he worked at Affron Scripp & Associates, LLC, Center for Music and the Arts in Education (CMAIE), and Music in Education Some of the initial graphics were contributed by Chie Yasuda.

Much of the initial coding specific to Music Blocks was done by Yash Khandelwal as part of Google Summer of Code (GSoC) 2015. Hemant Kasat contributed to additional widgets as part of GSoC 2016. Additional contributions are being made by Tayba Wasim, Dinuka Tharangi Jayaweera, Prachi Agrawal, Cristina Del Puerto, and Hrishi Patel as part of GSoC 2017. During GSoC 2018, Riya Lohia developed a Temperament Widget. Ritwik Abhishek added a keyboard widget and a pitch-tracking widget.

Many students contributed to the project as part of Google Code-in (2015–16, 2016–17, and 2017–2018). Sam Parkinson built the Planet during GCI 2016–17. Emily Ong designed our mouse icon and Euan Ong redesigned the Planet code as a series of GCI tasks in 2017–18; Austin George refactored the toolbars as a series of GCI tasks in 2018.

A full list of contributors is available.

Reporting Bugs

Bugs can be reported in the issues section of this repository.

Contributing

Please consider contributing to the project, with your ideas, your music, your lesson plans, your artwork, and your code.

Programmers, please follow these general guidelines for contributions.

Performance Tools

Performance tools used are in-browsers perfomance profiling and jsperf.com (https://jsperf.com/) Note: When running testing code on (https://jsperf.com/) tests should be run more than once

musicblocks's People

Contributors

a-ritwik avatar ashnidh avatar aust-n avatar benlangham avatar bkulis2 avatar emilyong avatar euanong avatar fakela avatar hemantkasat avatar hrishi1999 avatar jshreyans avatar kachachan avatar khandelwalyash avatar kipply avatar mayankkuthar avatar mihajlija avatar pikurasa avatar pipix51 avatar prachiagrawal269 avatar riyalohia avatar sarthakagr104 avatar sdziuda avatar shivamchadha avatar shriank avatar sneh1234 avatar sparsh0204 avatar tabs16 avatar tradzik avatar walterbender avatar wobbuffet2000 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.