A method of capturing musical performance data, the method comprising: generating, by a musical input device comprising a processor, an input musical event comprising a first command encoding a first musical note, and a second command encoding a second musical note; wherein the first and second commands comprise executable data for causing an external sound generator to generate each respective musical note; generating, by the musical input device, a first message chained to the first command, wherein the first message comprises first data encoding a first acoustic attribute type of the first musical note and second data encoding a first acoustic attribute value, wherein the first acoustic attribute value specifies a first value of the first acoustic attribute type; generating, by the musical input device, a second message chained to the first command wherein the second message comprises first data encoding a second acoustic attribute type of the first musical note and second data encoding a second acoustic attribute value, wherein the second acoustic attribute value specifies a second value of the second acoustic attribute type; generating, by the musical input device, a third message chained to the second command wherein the third message comprises first data encoding a third acoustic attribute type of the first musical note and second data encoding a third acoustic attribute value, wherein the third acoustic attribute value specifies a third value of the third acoustic attribute type; generating, by the musical input device, timestamp data denoting a time of an occurrence of the musical event; and sending the timestamp data, the first command, the second command, the first message, the second message, and the third message to a computing device. generating, by a musical input device comprising a processor, an input musical event comprising a first command encoding a first musical note, and a second command encoding a second musical note; wherein the first and second commands comprise executable data for causing an external sound generator to generate each respective musical note; generating, by the musical input device, a first message chained to the first command, wherein the first message comprises first data encoding a first acoustic attribute type of the first musical note and second data encoding a first acoustic attribute value, wherein the first acoustic attribute value specifies a first value of the first acoustic attribute type; generating, by the musical input device, a second message chained to the first command wherein the second message comprises first data encoding a second acoustic attribute type of the first musical note and second data encoding a second acoustic attribute value, wherein the second acoustic attribute value specifies a second value of the second acoustic attribute type; generating, by the musical input device, a third message chained to the second command wherein the third message comprises first data encoding a third acoustic attribute type of the first musical note and second data encoding a third acoustic attribute value, wherein the third acoustic attribute value specifies a third value of the third acoustic attribute type; generating, by the musical input device, timestamp data denoting a time of an occurrence of the musical event; and sending the timestamp data, the first command, the second command, the first message, the second message, and the third message to a computing device.