What is the Espressivo App?
Espressivo is an app that enables users to play pieces of music according to their ideas. A human performer achieves musical expression mainly by controlling the following musical elements:
- Tempo
- Velocity
- Articulation
From these musical elements, velocity and articulation are applied either to all voices or to specific staffs. Tempo always affects all voices.
Prerequisites
In order to take full advantage of the Espressivo app you need additional input devices or software.
Input Devices
If you do not have a gamepad at hand you might consider using the build-in motion sensor of your device. However, for best musical performances, we recommend a game controller. Among those you will find:
- Playstation 4 Dual Shock
- Playstation 5 Dual Sense
- Xbox Wireless
- Others compatible with your device
In contrast to the Xbox controller, Playstation controllers also include a motion sensor. We highly recommend a controller with a built-in motion sensor.
Alternatively, an iPhone can be used as an input device, as it also has a built-in motion sensor. An iOS app called MusicalConductor is available for this purpose.
Furthermore, as a developer, you might consider creating an app communicating over the User Datagram Protocol (UDP) or Bluetooth. See the documentation Controller Interface from the Server sidebar menu to learn on how to remotely control musical performances.
Sound Output
This music app does not produce sound on its own. For this purpose you either use a MIDI player app, a Audio Unit extension, a Web Audio app, or connect an external MIDI device.
Sidebar
The left sidebar provides the essential functions of the app as will be shown in the following.
Welcome
The Welcome screen provides basic information on how to start using the app. You will learn how to connect a controller and a MIDI player. To begin, follow the steps suggested on this screen.
Repertoire
The Repertoire lets you choose the musical pieces you want to perform. You might use the included set of score file or score files and directories from your device or from a server.
A context menu from the score file list lets you present the score, copy file paths, or rearrange the order of the scores.
Note that the score files are always shown on two hierarchical levels, independently of how deep your score files are nested.
By the way, any image files or Web documents included in the top score directory are presented on the left side.
Score
Navigate to the Score panel to see the graphical representation of the selected score. When the player is running, the notes playing at the moment are highlighted and the score appropriately scrolls to show the currently playing part.
Use the buttons from the navigation bar to play a title or proceed to the next piece of music. Tap into the score to start playing the music pieces from any bar or note.
Controller
The controller screen defines the mapping of the controller’s buttons, analog sticks and sensors to the musical elements of the performance.
Since more than one controller can be attached at a time, the controllers are organized in tabs. Switch to a different tab to find all the controllers.
The available keys of the controllers are presented in a table. The first column of this table shows the symbol and the name of the respective key. Its current value is indicated by a horizontal bar. After the indicator, a popup menu presents the possible actions a key may perform. Finally, on the right column of the table, a menu lets you choose the staffs an action is applied to.
With controller buttons you are able to perform the following actions:
- Start or stop playing
- Rewind the player
- Push pedal down
- Proceed to the next title
- Go to the previous title
- Change of the general tempo
- Change of the general velocity
- Change the repeat mode
Analog sticks and sensors dynamically control the performance of these musical elements:
- Increase or decrease the tempo
- Increase or decrease the velocity, in general or per staff
- Modify the articulation, in general or per staff
- Control the MIDI modwheel
For simplicity, start with one of the existing profiles such as Keyboard, Song or Buttons. Adapt the mappings for your purpose and save it as a new profile for later use.
To identify controllers and performers, you might assign a symbol or emoji or a light color (the latter only applies to the Playstation controllers).
Use the toolbar buttons to present detailed instructions about controllers or a simultaneous view of all controller actions.
Instrument
For sound output select one from these instrument types:
- Audio Unit extension
- Web Audio instrument
To use Audio Unit extensions install a Audio Unit app from the App Store.
The app already includes several links to Web Audio instruments. Add a link to use your favorite Web Audio app.
MIDI
The MIDI screen presents all available MIDI destinations and devices. Use the virtual port for MIDI players on the same device or select one from the list of destinations. For external MIDI connections either scan for devices or advertise your device.
Bluetooth
The Espressivo app supports Bluetooth connections to control musical elements. From this screen Bluetooth automatically starts scanning for peripherals.
Use the MusicalConductor app for iOS to establish a Bluetooth connection. Tap the Conductor App from the toolbar to learn more about this app.
Piano Roll
The piano roll is an alternative way of graphically presenting a score. Basically, it is an XY diagram showing the pressed keys over time. Color schemes are used to identify staffs and voices.
Note that data imported from MIDI or TSV files can only be shown as piano rolls or note tables, but not as scores.
Note Table
The note table presents all audible notes of a piece of music, the rests and the measures in a temporal order. Note tables can be exported as tab-separated value files (TSV) and used with the Numbers app.
Check the note table if you think that notes are played incorrectly. You will also see which measures differ in length from the specified meter.
Note that the number of the notes is not necessarily identical to the number of notes shown in the score. For example, tied notes appear as single notes, ornaments do not create additional notes, but tremolo notes are expanded.
Tap the Format button from the toolbar to learn more about how note tables are formatted.
Styles
Use the style panel to configure the musical performance and styles. The configuration includes:
- The execution of ornaments
- The playing of notes
- The handling of repeats
- A few others
Note that ornaments can either be performed from invisible notes in the score or automatically generated by the app.
Score Options
There are numerous options to change the graphical appearance of the score. This screen mostly exposes Verovio’s options. For a description of the options see Explanations from the toolbar.
Choose the Detailed Options to get a complete list of Verovio‘s options. Note that not all options apply to the specific use of this app.
Use the Reset button at the bottom to return to the default options.
Settings
This screen provides a number of settings for the configuration of this app such data access and screen presentation.
Server
The Espressivo app supports UDP connections. Start the server if you intend to remotely control the Espressivo app.
Tap the Controller Interface button to learn how to communicate with this app.
Notation
This screen provides an overview of the musical notation. Specifically, the following notations will be presented:
- Tempi
- Meters
- Keys
- Rehearsal markers
- Instructions
The notations are interactively linked to the score. It is also possible to temporarily modify the tempo and add new tempo markers.
Log File
On the Log screen you will find entries for each opened score. You will also be informed about any warnings which occurred during the parsing of the score files.
Listen
Listen to the numerous recordings created with the help of the Espressivoapplication and a superb virtual instrument. The content of the sound examples is delivered from a Web server. Accessability and selection of the recodings may change at any time.