Documentation ¶
Index ¶
- type VM35FMOperator
- type VM35FMVoice
- func (v *VM35FMVoice) Bytes(staticLen bool, forYMF825 bool) []byte
- func (v VM35FMVoice) MarshalJSON() ([]byte, error)
- func (v *VM35FMVoice) Read(rdr io.Reader, rest *int) error
- func (v *VM35FMVoice) ReadUnusedRest(rdr io.Reader, rest *int) error
- func (v *VM35FMVoice) String() string
- func (v *VM35FMVoice) ToPB() *pb.VM35FMVoice
- type VM35FMVoiceVersion
- type VM35PCMVoice
- type VM35Voice
- type VM35VoicePC
- type VM3VoiceLib
- type VM5VoiceLib
- type VMAFMOperator
- type VMAFMVoice
- func (v *VMAFMVoice) Bytes(staticLen bool) []byte
- func (v VMAFMVoice) MarshalJSON() ([]byte, error)
- func (v *VMAFMVoice) Read(rdr io.Reader, rest *int) error
- func (v *VMAFMVoice) ReadUnusedRest(rdr io.Reader, rest *int) error
- func (v *VMAFMVoice) String() string
- func (v *VMAFMVoice) ToVM35() *VM35FMVoice
- type VMAVoiceLib
- type VMAVoicePC
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type VM35FMOperator ¶
type VM35FMOperator struct { Num int `json:"-"` // Operator number Version VM35FMVoiceVersion `json:"-"` MULTI enums.Multiplier `json:"multi"` // Multiplier DT int `json:"dt"` // Detune AR int `json:"ar"` // Attack Rate DR int `json:"dr"` // Decay Rate SR int `json:"sr"` // Sustain Rate RR int `json:"rr"` // Release Rate SL int `json:"sl"` // Sustain Level TL int `json:"tl"` // Total Level KSL int `json:"ksl"` // Key Scaling Level DAM int `json:"dam"` // Depth of AM DVB int `json:"dvb"` // Depth of Vibrato FB int `json:"fb"` // Feedback WS int `json:"ws"` // Wave Shape XOF bool `json:"xof"` // Ignore KeyOff SUS bool `json:"sus"` // Keep sustain rate after KeyOff (unused in YMF825) KSR bool `json:"ksr"` // Key Scaling Rate EAM bool `json:"eam"` // Enable AM EVB bool `json:"evb"` // Enable Vibrato }
func (*VM35FMOperator) Bytes ¶
func (op *VM35FMOperator) Bytes(forYMF825 bool) []byte
func (*VM35FMOperator) Read ¶
func (op *VM35FMOperator) Read(rdr io.Reader, rest *int) error
Read は、バイト列を読み取ってパースした結果をこの構造体に格納します。
func (*VM35FMOperator) String ¶
func (op *VM35FMOperator) String() string
func (*VM35FMOperator) ToPB ¶
func (op *VM35FMOperator) ToPB() *pb.VM35FMOperator
ToPB は、この構造体の内容を Protocol Buffer 形式で出力可能な型に変換します。
type VM35FMVoice ¶
type VM35FMVoice struct { Version VM35FMVoiceVersion `json:"-"` DrumKey enums.Note `json:"drum_key"` PANPOT enums.Panpot `json:"panpot"` // Panpot (unused in YMF825) BO enums.BasicOctave `json:"bo"` LFO int `json:"lfo"` PE bool `json:"pe"` // Panpot Enable (unused in YMF825) ALG enums.Algorithm `json:"alg"` Operators [4]*VM35FMOperator `json:"operators"` }
VM35FMVoice は、MA-3/MA-5用音色データで、1つのプログラムチェンジに含まれるFM音色部に相当します。
func NewDemoVM35FMVoice ¶
func NewDemoVM35FMVoice() *VM35FMVoice
NewDemoVM35FMVoice は、デモ音色として初期化された新しい VM35FMVoice を作成します。
func NewVM35FMVoice ¶
func NewVM35FMVoice(data []byte, version VM35FMVoiceVersion) (*VM35FMVoice, error)
NewVM35FMVoice は、指定したバイト列をパースして新しい VM35FMVoice を作成します。
func (VM35FMVoice) MarshalJSON ¶
func (v VM35FMVoice) MarshalJSON() ([]byte, error)
func (*VM35FMVoice) Read ¶
func (v *VM35FMVoice) Read(rdr io.Reader, rest *int) error
Read は、バイト列を読み取ってパースした結果をこの構造体に格納します。
func (*VM35FMVoice) ReadUnusedRest ¶
func (v *VM35FMVoice) ReadUnusedRest(rdr io.Reader, rest *int) error
ReadUnusedRest は、実際には使用しないバイト列をストリームの残りから読み取り、ヘッダの位置を合わせます。
func (*VM35FMVoice) String ¶
func (v *VM35FMVoice) String() string
func (*VM35FMVoice) ToPB ¶
func (v *VM35FMVoice) ToPB() *pb.VM35FMVoice
ToPB は、この構造体の内容を Protocol Buffer 形式で出力可能な型に変換します。
type VM35FMVoiceVersion ¶
type VM35FMVoiceVersion int
const ( VM35FMVoiceVersion_VM3Lib VM35FMVoiceVersion = iota VM35FMVoiceVersion_VM3Exclusive VM35FMVoiceVersion_VM5 )
type VM35PCMVoice ¶
type VM35PCMVoice struct {
RawData [19]byte `json:"raw_data"`
}
VM35PCMVoice は、MA-3/MA-5用音色データで、1つのプログラムチェンジに含まれるPCM音色部に相当します。
func (*VM35PCMVoice) Read ¶
func (v *VM35PCMVoice) Read(rdr io.Reader, rest *int) error
Read は、バイト列を読み取ってパースした結果をこの構造体に格納します。
func (*VM35PCMVoice) ReadUnusedRest ¶
func (v *VM35PCMVoice) ReadUnusedRest(rdr io.Reader, rest *int) error
ReadUnusedRest は、実際には使用しないバイト列をストリームの残りから読み取り、ヘッダの位置を合わせます。
func (*VM35PCMVoice) String ¶
func (v *VM35PCMVoice) String() string
func (*VM35PCMVoice) ToPB ¶
func (v *VM35PCMVoice) ToPB() *pb.VM35PCMVoice
ToPB は、この構造体の内容を Protocol Buffer 形式で出力可能な型に変換します。
type VM35Voice ¶
type VM35Voice interface { fmt.Stringer Read(rdr io.Reader, rest *int) error ReadUnusedRest(rdr io.Reader, rest *int) error }
VM35Voice は、MA-3/MA-5用音色データで、1つのプログラムチェンジに含まれる音色部を抽象化したインタフェースです。
type VM35VoicePC ¶
type VM35VoicePC struct { Version VM35FMVoiceVersion `json:"is_vm5"` Name string `json:"name"` Flag int `json:"-"` // = 0x24 BankMSB int `json:"bank_msb"` BankLSB int `json:"bank_lsb"` PC int `json:"pc"` DrumNote enums.Note `json:"drum_note"` Enigma1 int `json:"-"` VoiceType enums.VoiceType `json:"voice_type"` Voice VM35Voice `json:"voice"` }
VM35VoicePC は、MA-3/MA-5用音色データで、1つのプログラムチェンジに相当します。
func (*VM35VoicePC) IsForDrum ¶
func (p *VM35VoicePC) IsForDrum() bool
func (*VM35VoicePC) Read ¶
func (p *VM35VoicePC) Read(rdr io.Reader, rest *int) error
Read は、バイト列を読み取ってパースした結果をこの構造体に格納します。
func (*VM35VoicePC) String ¶
func (p *VM35VoicePC) String() string
func (*VM35VoicePC) ToPB ¶
func (p *VM35VoicePC) ToPB() *pb.VM35VoicePC
ToPB は、この構造体の内容を Protocol Buffer 形式で出力可能な型に変換します。
type VM3VoiceLib ¶
type VM3VoiceLib struct {
Programs []*VM35VoicePC `json:"programs"`
}
VM3VoiceLib は、MA-3用音色ライブラリです。
func NewVM3VoiceLib ¶
func NewVM3VoiceLib(file string) (*VM3VoiceLib, error)
NewVM3VoiceLib は、指定したファイル内容をパースして新しい VM3VoiceLib を作成します。
func (*VM3VoiceLib) Read ¶
func (lib *VM3VoiceLib) Read(rdr io.Reader, rest *int) error
Read は、バイト列を読み取ってパースした結果をこの構造体に格納します。
func (*VM3VoiceLib) String ¶
func (lib *VM3VoiceLib) String() string
type VM5VoiceLib ¶
type VM5VoiceLib struct {
Programs []*VM35VoicePC `json:"programs"`
}
VM5VoiceLib は、MA-5用音色ライブラリです。
func NewVM5VoiceLib ¶
func NewVM5VoiceLib(file string) (*VM5VoiceLib, error)
NewVM5VoiceLib は、指定したファイル内容をパースして新しい VM5VoiceLib を作成します。
func (*VM5VoiceLib) Read ¶
func (lib *VM5VoiceLib) Read(rdr io.Reader, rest *int) error
Read は、バイト列を読み取ってパースした結果をこの構造体に格納します。
func (*VM5VoiceLib) String ¶
func (lib *VM5VoiceLib) String() string
func (*VM5VoiceLib) ToPB ¶
func (lib *VM5VoiceLib) ToPB() *pb.VM5VoiceLib
ToPB は、この構造体の内容を Protocol Buffer 形式で出力可能な型に変換します。
type VMAFMOperator ¶
type VMAFMOperator struct { Num int `json:"-"` // Operator number MULT enums.Multiplier `json:"mult"` // Multiplier KSL int `json:"ksl"` // Key Scaling Level TL int `json:"tl"` // Total Level AR int `json:"ar"` // Attack Rate DR int `json:"dr"` // Decay Rate SL int `json:"sl"` // Sustain Level RR int `json:"rr"` // Release Rate WS int `json:"ws"` // Wave Shape DVB int `json:"dvb"` // Depth of Vibrato DAM int `json:"dam"` // Depth of AM VIB bool `json:"vib"` // Vibrato EGT bool `json:"egt"` // SUS bool `json:"sus"` // Keep sustain rate after KeyOff (unused in YMF825) KSR bool `json:"ksr"` // Key Scaling Rate AM bool `json:"am"` // AM }
VMAFMOperator は、MA-2用音色データに含まれるオペレータ部分です。
func (*VMAFMOperator) Bytes ¶
func (op *VMAFMOperator) Bytes() []byte
func (*VMAFMOperator) Read ¶
func (op *VMAFMOperator) Read(rdr io.Reader, rest *int) error
Read は、バイト列を読み取ってパースした結果をこの構造体に格納します。
func (*VMAFMOperator) String ¶
func (op *VMAFMOperator) String() string
func (*VMAFMOperator) ToVM35 ¶
func (op *VMAFMOperator) ToVM35(fb int) *VM35FMOperator
ToVM35 は、この構造体の内容をMA-3/MA-5用の音色データに変換します。
type VMAFMVoice ¶
type VMAFMVoice struct { LFO int `json:"lfo"` FB int `json:"fb"` ALG enums.Algorithm `json:"alg"` Operators [4]*VMAFMOperator `json:"operators"` }
VMAFMVoice は、MA-2用音色データで、1つのプログラムチェンジに含まれる音色部に相当します。
func NewVMAFMVoice ¶
func NewVMAFMVoice(data []byte) (*VMAFMVoice, error)
NewVMAFMVoice は、指定したバイト列をパースして新しい VMAFMVoice を作成します。
func (*VMAFMVoice) Bytes ¶
func (v *VMAFMVoice) Bytes(staticLen bool) []byte
func (VMAFMVoice) MarshalJSON ¶
func (v VMAFMVoice) MarshalJSON() ([]byte, error)
func (*VMAFMVoice) Read ¶
func (v *VMAFMVoice) Read(rdr io.Reader, rest *int) error
Read は、バイト列を読み取ってパースした結果をこの構造体に格納します。
func (*VMAFMVoice) ReadUnusedRest ¶
func (v *VMAFMVoice) ReadUnusedRest(rdr io.Reader, rest *int) error
ReadUnusedRest は、実際には使用しないバイト列をストリームの残りから読み取り、ヘッダの位置を合わせます。
func (*VMAFMVoice) String ¶
func (v *VMAFMVoice) String() string
func (*VMAFMVoice) ToVM35 ¶
func (v *VMAFMVoice) ToVM35() *VM35FMVoice
ToVM35 は、この構造体の内容をMA-3/MA-5用の音色データに変換します。
type VMAVoiceLib ¶
type VMAVoiceLib struct {
Programs []*VMAVoicePC `json:"programs"`
}
VMAVoiceLib は、MA-2用音色ライブラリです。
func NewVMAVoiceLib ¶
func NewVMAVoiceLib(file string) (*VMAVoiceLib, error)
NewVMAVoiceLib は、指定したファイル内容をパースして新しい VMAVoiceLib を作成します。
func (*VMAVoiceLib) Read ¶
func (lib *VMAVoiceLib) Read(rdr io.Reader, rest *int) error
Read は、バイト列を読み取ってパースした結果をこの構造体に格納します。
func (*VMAVoiceLib) String ¶
func (lib *VMAVoiceLib) String() string
type VMAVoicePC ¶
type VMAVoicePC struct { Name string `json:"name"` Bank int `json:"bank"` PC int `json:"pc"` Voice *VMAFMVoice `json:"voice"` }
VMAVoicePC は、MA-2用音色データで、1つのプログラムチェンジに相当します。
func (*VMAVoicePC) Read ¶
func (p *VMAVoicePC) Read(rdr io.Reader, rest *int) error
Read は、バイト列を読み取ってパースした結果をこの構造体に格納します。
func (*VMAVoicePC) String ¶
func (p *VMAVoicePC) String() string
func (*VMAVoicePC) ToVM35 ¶
func (p *VMAVoicePC) ToVM35() *VM35VoicePC
ToVM35 は、この構造体の内容をMA-3/MA-5用の音色データに変換します。