Multilevel supporting system for special forms of learning
(in brief “MSFL”) is being developed in the first instance as
solution for teaching music theory in modern way. MSFL has
features such as front-end layout for teaching and backend
system for administration. First part of this article is focused
on detailed description how we use Vexflow API in music
learning management system, how many features are
implemented in core generator and what features are planned
to implement. There will be shown some code examples with
screenshots of working generated staves.
Second part of this article will show how to use MSFL, how
to register and how to study with this portal. There will be
shown some screenshots with short description how it all
works. MSFL portal is not based on any learning management
system such as Moodle, eTutor, Spirit and more. At its first
instance system is designed and optimized especially for
music purposes.
VexFlow is an open-source web-based music notation
rendering JavaScript API that can generate any type of staves.
This is an API that was designed for HTML 5 Canvas.
It is important to note that VexFlow is a low-level
rendering API. Most applications will want to use something
like VexTab which is a higher-level language for rendering
guitar tablature and music notation.
VexFlow is written completely in JavaScript and when
using it with HTML5 Canvas, requires no external libraries or
dependencies. For SVG support, you will need to include the
Raphael JavaScript library into your sources. That said, this
tutorial also makes use of the jQuery library to select and
manipulate DOM elements.
1) The basics for the creation of staves
The absolute basis is tag canvas with specified width and
height.
Fig. 1. Basic canvas tag
In order to create a blank stave, it need the following
JavaScript code:
Fig. 2. Blank stave code
The first line calls the canvas object using jQuery function and
store in a variable of the model canvas. You also need to
generate your own background music using the function
Vex.Flow.Renderer() with the parameters of the object
variable canvas. The third important variable is the variable
ctx which calls the getContext(), which creates environment
for us stave. The fourth variable is the state that using
Vex.Flow.Stave() creates a long staves with the positions of
the first note from the left and top of your specified number of
pixels. The shift is important for the higher notes, which may
appear just behind the key. All are rendered using a
addClef("trouble") will result in an empty stave with treble
clef.
Main functional parts of Multilevel supporting system for special
forms of learning and their usage
1DALIBOR SLOVÁK, 2PETR LÁTAL
1Computers and Communications System Department, Faculty of Applied Informatics Tomas Bata
University, Zlín, CZECH REPUBLIC
2Computers and Communications System Department, Faculty of Applied Informatics Tomas Bata
University, Zlín, CZECH REPUBLIC
Abstract— First part of the article is focused on work with Vexflow AP as a main functional part of Multilevel supporting
system for special forms of learning . There will be described some basics how to create music staves, how the rendering
works, how the modifiers works and many other useless features. Vexflow API is based on java-script web technology
with possibility to render all types of music staves. Second part of the article is focused on “How to work with MSFL
guide”and we described creation of stave and quiz module usage. The main aim of our research approach was to make
simply and easy system for music teaching and learning.
Keywords: Vexflow API, Vexflow rendering, Vexflow modifiers Staves
1. Introduction
2. Vexflow API
2.1 Work With Vexflow API
WSEAS TRANSACTIONS on ACOUSTICS and MUSIC
DOI: 10.37394/232019.2022.9.4
Dalibor Slovák, Petr Látal