NAME
Win32API::MIDI::SysEX::Yamaha - Perl Module for YAMAHA MIDI System Exclusive Message.
SYNOPSIS
use Win32API::MIDI::SysEX::Yamaha;
# XG Sound Module
$se = new Win32API::MIDI::SysEX::Yamaha(modelName => 'XG'); # 'XG' can be omitted
DESCRIPTION
Overview
Win32API::MIDI::SysEX::Yamaha is submodule of Win32API::MIDI::SysEX. Its object inherits his parents methods.
This module is still under development and most of function are not debugged yet. And the this module may have to be renamed as MIDI::SysEX::Yamaha in the future, since this module is dependent with Microsoft Windows.
Create an Object
- new Win32API::MIDI::SysEX::Yamaha([model [, device_ID]])
-
Currently supported
model
are;'XG'
This information is used by RQ1 and DT1 method to know the size of the model ID and address. By default 'XG' is used.
To access XG common parameters the 'XG' object must be used. You may have to create one or more object for a MIDI device.
XG System On
- XGSystemOn(void)
-
F0H,43H,1nH,4CH,00H,00H,7EH,00H,F7H 11110000 F0 Exclusive status 01000011 43 YAMAHA ID 0001nnnn 1n Device Number 01001100 4C Model ID 00000000 00 Address High 00000000 00 Address Mid 01111110 7E Address Low 00000000 00 Data 11110111 F7 End of Exclusive
This message switches SOUND MODULE MODE to XG and initializes all the parameters to the XG default settings, with the exception of Master Tune value.
MIDI Master Tuning
Parameter Change
- ParameterChange_2B(address, data)
- ParameterChange_4B(address, data)
-
11110000 F0 Exclusive status 01000011 43 YAMAHA ID 0001nnnn 1n Device Number 01001100 4C Model ID 0aaaaaaa aa Address High 0aaaaaaa aa Address Mid 0aaaaaaa aa Address Low 0ddddddd dd Data | | 0ddddddd dd Data 11110111 F7 End of Exclusive
Includes 2 or 4 bytes of data, depending on parameter size. The following eight types of parameter change are provided.
1) System Data parameter change 2) Multi Effect Data parameter change 3) Multi EQ Data parameter change 4) Multi Part Data parameter change 5) Drums Setup Data parameter change 6) System Information 7) Display Data parameter change 8) AD Part Data parameter change
*6) System Information is sent in response to dump requests. Received parameter changes are ignored.
System Exclusive messages are not accepted if �gRcv System Exclusive�h is OFF.
Bulk Dump
- BlukDump(address, data)
-
11110000 F0 Exclusive status 01000011 43 YAMAHA ID 0000nnnn 0n Device Number 01001100 4C Model ID 0bbbbbbb bb Byte Count MSB 0bbbbbbb bb Byte Count LSB 0aaaaaaa aa Address High 0aaaaaaa aa Address Mid 0aaaaaaa aa Address Low 0ddddddd dd Data | | 0ddddddd dd Data 0ccccccc cc Checksum 11110111 F7 End of Exclusive
For information about �gAddress�h and �gByte Count�h fields, refer to Table 3.
Here the "Byte Count" refers to "Total Size" of Data shown on Table 3-n. The "Address" in Bulk Dump / Dump Request refers to the address at the beginning of each block.
The "block" refers to a unit of data stream which is enclosed by "Total Size" on Table 3-n.
Checksum value is set such that the sum of Byte Count, Address, Data and Checksum has value zero in its seven least significant bits.
Parameter Request
- ParameterRequest(address)
-
11110000 F0 Exclusive status 01000011 43 YAMAHA ID 0011nnnn 3n Device Number 01001100 4C Model ID 0aaaaaaa aa Address High 0aaaaaaa aa Address Mid 0aaaaaaa aa Address Low 11110111 F7 End of Exclusive
Dump Request
- DumpRequest(address)
-
11110000 F0 Exclusive status 01000011 43 YAMAHA ID 0010nnnn 2n Device Number 01001100 4C Model ID 0aaaaaaa aa Address High 0aaaaaaa aa Address Mid 0aaaaaaa aa Address Low 11110111 F7 End of Exclusive
Sending or receiving of dump request cannot be switched off except by setting �gExclusive�h to OFF.
2 POD Errors
The following errors were encountered while parsing the POD:
- Around line 196:
Non-ASCII character seen before =encoding in '�gRcv'. Assuming CP1252
- Around line 288:
You forgot a '=back' before '=head2'