Giter Site home page Giter Site logo

scribbletune / johann Goto Github PK

View Code? Open in Web Editor NEW
55.0 55.0 7.0 5.72 MB

Use scribbletune to generate guitar, piano and computer keyboard scales/chords/notes practice charts.

Home Page: http://johann.scribbletune.com

License: MIT License

JavaScript 3.16% TypeScript 72.23% HTML 2.24% Less 22.37%

johann's Issues

dev server port on README.md

dev server port on README.md should be 8080 not 8081
if want to provide detail steps for newbie (dev) :

git clone https://github.com/scribbletune/johann
cd johann
npm install
npm run dev
open http://localhost:8080

show octave on note (guitar & piano)

Description
better to show octave on note useful when play in choir
e.g. in standard choir usually use SATB (Sopran Alto Tenor Bass) which every vocal characteristic (male/female) has it's own range (base on octave)

Implementation
perhaps use button to show octave info for show or hidden the info (recommended because not every musicians care about octave can hide it, but for the detail musicians that must play within choir can show the octave)
or
simply put octave info without option to show or hide octave info

Examples
which fretboard must be press to play melody with tenor vocal on major third tuning

octave

ref on piano
https://en.wikipedia.org/wiki/Tenor

thanks

add tuning fretboard add more fret on nut guitar

api.ts

export const getTuningsForGuitar = () => ([
	{label: 'Regular', 'display': 'EBGDAE', strings: ['E4', 'B3', 'G3', 'D3', 'A2', 'E2'], tuningIdx: 0, name: 0},
	{label: 'Dropped D', 'display': 'EBGDAD', strings: ['E4', 'B3', 'G3', 'D3', 'A2', 'D2'], tuningIdx: 1, name: 1},
	{label: 'Double dropped D', display: 'DADGBD', strings: ['D4', 'A3', 'D3', 'G3', 'B2', 'D2'], tuningIdx: 2, name: 2},
	{label: 'Drop C', 'display': 'DAFCGC', strings: ['D4', 'A3', 'F3', 'C3', 'G2', 'C2'], tuningIdx: 3, name: 3},
	{label: 'Open G', 'display': 'DGDGBD', strings: ['D4', 'G3', 'D3', 'G3', 'B2', 'D2'], tuningIdx: 4, name: 4},
	{label: 'All Fourths', 'display': 'FCGDAE', strings: ['F4', 'C4', 'G3', 'D3', 'A2', 'E2'], tuningIdx: 5, name: 5},
	{label: 'Major Third', 'display': 'ECAbECAb', strings: ['E4', 'C4', 'Ab3', 'E3', 'C3', 'Ab2'], tuningIdx: 6, name: 6}
]);

more fret on nut 0
more fret on nut 1

no lowest note when add 7th strings guitar and fretboard marker is not on place

api.ts

export const getTuningsFor7thStringsGuitar = () => ([
	{label: 'Standard', 'display': 'EBGDAEB', strings: ['E4', 'B3', 'G3', 'D3', 'A2', 'E2', 'B1'], tuningIdx: 0, name: 0}
]);

export const getStringInstruments = () => ([
	{ label: 'Guitar', strings: 6, frets: 24, getTunings: getTuningsForGuitar, instrumentIdx: 0, name: 0 },
	{ label: 'Ukulele', strings: 4, frets: 15, getTunings: getTuningsForUkulele, instrumentIdx: 1, name: 1 },
	{ label: 'Guitar 7th Strings', strings: 7, frets: 24, getTunings: getTuningsFor7thStringsGuitar, instrumentIdx: 2, name: 2 }
])

add 7th strings

Add support for Reaktor's virtual keyboard

Reaktor's virtual keyboard has 2 octaves spanning all 3 rows of the computer keyboard (with no way to go down in octave - you can only go up by pressing 1). Add a support for the full range of the keyboard.

left handed fretboard

nice to have 'Left handed fretboard' feature
the idea same like flip fretboard vertically, but this one flip fretboard horizontally

thanks

combined instruments

nice to have feature to combine instruments (guitar, bass, piano, etc)
useful when using with others musicians using smart tv (big screen)

screen_shot

thanks

Logo Design Proposal

Good day @walmik I am a graphics designer and open source contributor. I want to contribute to your good project by proposing a logo design for the project which i will be doing for free as a gift. If you will give me permission i will start as soon as possible. Thanks and best regards!

ZW

lost string when add tuning with # (sharp)

api.ts

export const getTuningsForGuitar = () => ([
	{label: 'Regular', 'display': 'EBGDAE', strings: ['E4', 'B3', 'G3', 'D3', 'A2', 'E2'], tuningIdx: 0, name: 0},
	{label: 'Dropped D', 'display': 'EBGDAD', strings: ['E4', 'B3', 'G3', 'D3', 'A2', 'D2'], tuningIdx: 1, name: 1},
	{label: 'Double dropped D', display: 'DADGBD', strings: ['D4', 'A3', 'D3', 'G3', 'B2', 'D2'], tuningIdx: 2, name: 2},
	{label: 'Drop C', 'display': 'DAFCGC', strings: ['D4', 'A3', 'F3', 'C3', 'G2', 'C2'], tuningIdx: 3, name: 3},
	{label: 'Open G', 'display': 'DGDGBD', strings: ['D4', 'G3', 'D3', 'G3', 'B2', 'D2'], tuningIdx: 4, name: 4},
	{label: 'Major Third', 'display': 'ECG#ECG#', strings: ['E4', 'C4', 'G#3', 'E3', 'C3', 'G#2'], tuningIdx: 5, name: 5}
]);

lost strings

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.