Giter VIP home page Giter VIP logo

composer's People

Watchers

 avatar  avatar

composer's Issues

Parallels between software and music development

1. Abstract model

In order to establish these parallels, it is important to create a solid abstraction which can subsequently be used to derive the notions of software creation and composing the music as its subclasses. I believe that this definition (next paragraph below) of Document Processing activity can get me to sufficiently good definition of the the needed abstraction:

Documents serve to archive and communicate information. Document processing is the activity
of operating on information captured in some form of persistent medium. Traditionally, that 
medium is paper, and documents are bundles of paper with information captured in 
print or in writing.

This definition, using the most general notion of the object called document, is my starting point. In the following sections of this article, I will present the process of creation of a "text" document (think of a news article, blog, op-ed as more specific instances of such text document) using the most technologically advanced text management tools - Wordpress' just released Gutenberg editor.

Next, I will ask markd2 to pick a sufficiently simple "piece of music" and create it using his preferred selection of tools musician use today. Having both "documents" defined in terms of steps of the process used to create them, I am hoping that we could establish the parallels, which would allow us to identify the new tools for the music composers that would make composing more fun.

Use case scenarios

being written

This issue is really the most important one to document and discuss - nothing else will make sense without it. My general thought to apply the tasks from the software development process to the music development process and then use the solutions from software development "steps" to the related music development steps is not worth a penny until we have a sufficiently sized collection of related pairs to analyze (see more about that here)

Initial thoughts

Composing music and a writing (composing) software are very similar activities; when taking the appropriately high abstract view (see Parallels between software and music development), that similarity becomes easily apparent.

The intent of this project is to "carry over" as many software tools and techniques to the composing music domain as possible

In order to advance the software tools dedicated to simplify the music composition process, we will analyze with sufficient amount of details the process of using the software tools to create new "piece of software". Having that done we could re-create the "music software tools" by extrapolating techniques used in software tools used in the software development process.

Quite obviously, the tools and skills (note that I am implying the software tools, and skills of applying these tools) used in the software development process are the most advanced, because software developers are best suited to create tools for software development.

The general idea I am using here is to create the definitions of a few "document" creation and management process (using "document" almost as generically as the word "object" in the software development parlance):

  • a text document (novel, web page, etc.) created with the WordPress Gutenberg editor (a representative of the most current technology for text management)
  • a software application

Then I want to point out all tools and techniques used to manage the life-cycle of these documents. This is really the part of this project that could inspire you to document the process of composing the piece of music using the analogs of the tools I presented so far, correctly expecting that quite few of these tools would have to be invented (I am dreaming about the composer's debugger tool, or even cooler the orchestrator tool)

Overview of the existing music development tools

1. PlayScore

PlayScore takes traditional music scanning to the next level. Using the latest techniques in Optical Music Recognition (OCR for music), PlayScore plays music as it should sound, naturally and smoothly.

PlayScore uses ReadScoreLib โ€“ Optical Score Recognition cross platform library for converting multi-page printed musical score images to MIDI and MusicXML. ReadScoreLib processes a typical page of music in a few seconds on the iPad, less on a modern Mac or PC.

This PDF document describes the OMR library with more technical details

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.