Difference between revisions of "Music Composition"

From GMN Wiki
Jump to navigation Jump to search
Line 113: Line 113:
===Player Options===
===Player Options===


The [play command (or "player") has multiple options which are available through the following sub-commands:
The [play command (or "player") has multiple directives which must be specified using a variety of sub-commands:


====[play Config====
====[play Config====


Opens the [play commands configuration settings.  
Opens the [play configuration settings.  


====[play Instrument====
====[play Instrument==


Selects the instrument  
Selects the instrument.
 
Format: Harp, Lapharp, Lute.
 
Examples:


* [play instrument harp
* [play instrument harp
* [play instrument lapharp
* [play instrument lapharp
* [play instrument lute
* [play instrument lute
Default: Harp


====[play NewTimer====
====[play NewTimer====
Line 136: Line 142:


Essentially, the new timer runs at a higher priority. It is finer-grained, which gives composers much better control over things like pauses.  
Essentially, the new timer runs at a higher priority. It is finer-grained, which gives composers much better control over things like pauses.  
Default: False


====[play Prefetch====
====[play Prefetch====
Line 148: Line 156:


Note that existing tracks composed under the old timer will need their pauses reworked to work with prefetch.
Note that existing tracks composed under the old timer will need their pauses reworked to work with prefetch.
Default: False


====[play Tempo====
====[play Tempo====
Line 160: Line 170:


Setting the tempo to 200 for a tune composed at 100 will allow a nice slow playback to help the composer debug their tune.
Setting the tempo to 200 for a tune composed at 100 will allow a nice slow playback to help the composer debug their tune.
Default: 100


====[play Reset====
====[play Reset====

Revision as of 21:16, 8 February 2022

General Information

Ultima Online has always been known for the freedom it lends its artists, whether decorating their characters, their homes, their outward personalities, or even their inventories in some cases. Now, exclusively on Angel Island, skilled musicians can also decorate the air (and make a good living doing so) using a brand new, custom designed Music Composition system!

In general, bards play music using the [play command, detailed in the following section. Players can select from a variety of instruments, assign notes to hotkeys, and can even script complex compositions using assistants such as razor.

As well, a modernized, in-game music player has been added as a luxury item, which allows players to sell, sample and purchase scripted compositions from other players. Composers who contribute enough quality music to this system also unlock the ability to add the various sounds of Ultima Online to their compositions.

Instructions for Composers

Music composition uses the [play command. You do not need an instrument to use it, but require at least 80 skill in Musicianship.

If you don't select an instrument, the default instrument will play, which is a virtual harp. The other two options are the virtual lap harp or virtual Lute.

The basic format for using the [play command is as follows:

[play note|pause [note|pause] …

Note Values

There are 25 possible note values:

  • cl (low C)
  • csl (low C#)
  • d (D)
  • ds (D#)
  • e (E)
  • f (F)
  • fs (F#)
  • g (G)
  • gs (G#)
  • a (A)
  • as (A#)
  • b (B)
  • c (middle C)
  • cs (C#)
  • dh (high D)
  • dsh (high D#)
  • eh (high E)
  • fh (high F)
  • fsh (high F#)
  • gh (high G)
  • gsh (high G#)
  • ah (high A)
  • ash (high A#)
  • bh (high B)
  • ch (high C)

Note Offsets

Note offsets allow you to play different instruments on the same line, without explicitly changing instruments.

How it works:

[play uses an array of virtual instruments, which are assigned to a certain order:

[0] Harp
[1] LapHarp
[2] Lute

If you want to play an individual note on a different instrument, simply precede that note with either one or two plus or minus symbols, depending on which instrument you are playing.

For example, if you are playing a lapharp, you can:

[play a +a -a b +b -b c +c -c d +d -d

What this means is that 'a' is from the lapharp, '-a' is from the harp, and '+a' is from the lute. Similarly:

[play instrument lapharp [play a +a -a b +b -b c +c -c d +d -d [play instrument harp [play a +a ++a b +b ++b c +c ++c d +d ++d [play instrument lute [play a -a --a b -b --b c -c --c d -d --d

Incorrect Notes

You need at least 80.0 Musicianship to use [play

However, anything under GM and you will suffer a penalty where you have a chance to play notes incorrectly.

Music Karma

Musicians with high enough music karma can mimic the various sound files in the game client using the [play command. Music Karma is gained by publishing songs and selling them.

For a full list of available sounds and their corresponding numbers, see Sound List.

Player Options

The [play command (or "player") has multiple directives which must be specified using a variety of sub-commands:

[play Config

Opens the [play configuration settings.

==[play Instrument

Selects the instrument.

Format: Harp, Lapharp, Lute.

Examples:

  • [play instrument harp
  • [play instrument lapharp
  • [play instrument lute

Default: Harp

[play NewTimer

Format: True or False

Example: [play newtimer true

This command directs the Player to use the more responsive New Timer System. This system allows greater flexibility during composition and playback.

Essentially, the new timer runs at a higher priority. It is finer-grained, which gives composers much better control over things like pauses.

Default: False

[play Prefetch

Note: Prefetch is available only when the New Timer is turned on by being set to true.

Format: True or False

Example [play prefetch true

Prefetch schedules the next pause immediately without waiting for the next timer cycle. The result is better responsiveness.

Note that existing tracks composed under the old timer will need their pauses reworked to work with prefetch.

Default: False

[play Tempo

Format: Number

Example: [play tempo 100

In the above example, 100 is the timer frequency you want. A tempo of 100 is a 100-millisecond timer and is the same granularity as the old-timer model.

a tempo of 50 is twice as fast as 100, 200 is twice as slow.

Setting the tempo to 200 for a tune composed at 100 will allow a nice slow playback to help the composer debug their tune.

Default: 100

[play Reset

The reset command resets the player configuration to all default values, which are:

instrument = harp

newtimer = false

prefetch = false

tempo = 100

[play +

Format: Number

Example: [play +480

In the above example, the musician has instructed the player to play a noise from the sound file list in the game client. +480 is the noise the game client produces when the cure spell is targeted.

Remember that this command only becomes available to players who have a combined total of 1000 or greater Music Karma, explained above.

Sheet Music

Sheet Music has been added, allowing entrepreneurial troubadours to sell the music they have composed. Compositions can be written (or pasted from razor recommended) into a special book for composers, which can then be used in conjunction with manuscript paper to create Rolled up Sheet Music.

See Sheet Music for more information.

Music Box

A custom, luxury music player has been added to allow Angel Island homeowners to listen to music at their residences. It has been modernized to understand spoken commands, and works in conjunction with Sheet music to simplify the marketplace.

For more information, see Music Box

Sample Tunes

Twinkle Twinkle Little Star

(Razor: Add a 2sec pause after the third line, and a 4sec pause before the last line.)


[play cl 0.4 cl 0.4 g 0.4 g 0.4 a 0.4 a 0.4 g 0.8

 

[play f 0.4 f 0.4 e 0.4 e 0.4 d 0.4 d 0.4 cl 0.8

 

[play g 0.4 g 0.4 f 0.4 f 0.4 e 0.4 e 0.4 d 0.8

 

[play g 0.4 g 0.4 f 0.4 f 0.4 e 0.4 e 0.4 d 0.8

 

[play cl 0.4 cl 0.4 g 0.4 g 0.4 a 0.4 a 0.4 g 0.8

 

[play f 0.4 f 0.4 e 0.4 e 0.4 d 0.4 d 0.4 cl 0.8


Frere Jacques

(Razor: Add a 1sec pause between the 2nd and 3rd lines.


[play c 0.3 dh 0.3 eh 0.3 c 0.4 c 0.3 dh 0.3 eh 0.3 c 0.3

 

[play eh 0.3 fh 0.3 gh 1.0 eh 0.3 fh 0.3 gh 1.0 gh 0.1 ah 0.1 gh 0.1 fh 0.1 eh 0.3 c 0.3

 

[play gh 0.1 ah 0.1 gh 0.1 fh 0.1 eh 0.3 c 0.4 c 0.3 g 0.3 c 1.0 c 0.3 g 0.3 c


Pop Goes the Weasel

[play d 0.2 g 0.6 g 0.2 a 0.6 a 0.2 b 0.2 dh 0.2 b 0.2 g 0.6

 

[play d 0.2 g 0.6 g 0.2 a 0.6 c 0.2 b 0.8 g 0.6

 

[play d 0.2 g 0.6 g 0.2 a 0.6 a 0.2 b 0.2 dh 0.2 b 0.2 g 0.8

 

[play eh 0.8 a 0.4 c 0.2 b 0.8 g