Code Monkey home page Code Monkey logo

scalesmeister's Introduction

Scalesmeister

Jazz line generator written in Elm based on scales and formulas.

Live Demo

Features

  • Line generator based on
    • Scale
    • Root
    • Formula (a formula describes how to traverse the scale, e.g. +1+2+1-1)
  • Large list of scales to choose from
  • Rendered music notation
  • Play back functionality
  • Random settings generator
  • … and more

scalesmeister's People

Contributors

battermann avatar dependabot[bot] avatar jarrodu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

Forkers

flowi

scalesmeister's Issues

Should we add a "fork me on github" badge?

There are other options. Either way lets hold off on this for now.

I think a good time would be when we are about to go live and we have the site design figured out.

Add more scales

This change implies support for adding naturals in the visual score in case there is a lowered or raised note on the same degree in the same bar.

Support navigation

Represent each application state in the URL.

That way states can be bookmarked and shared. It also supports navigation through the browser history.

Update Travis CI yml file

I think the .travis.yml is a bit outdated. It could be updated according to latest versions/features/best practices.

Arbitrary formulas

The user should be able to enter arbitrary formulas in addition to the ones provided by the app.

E.g. when user clicks on formula button, they can enter something like "+2+2-1-1+3", or pick one from the shown list.

Responsive audio

  • Playback on mobile phones in a resource efficient way
  • Maybe rely on Tone.js synth or something like this

Better metronome

  • special sound to mark the first beat of the bar
  • different sound for all the beats but the first

Something like: "tick tock tock tock"

Use a better tool for music score rendering

Vexflow seems to be quite complicated, especially when we want to render things dynamically.

We could try abcjs instead.

It looks like abcjs also covers the MIDI generation and playback functionality which would simplify things by orders of magnitudes.

Download generated sequence as midi file

See #7 for initial work on this. This checklist was extracted from Main.elm in the PR.

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.