| Package | org.si.sion.module.channels |
| Class | public class SiOPMChannelFM |
| Inheritance | SiOPMChannelFM SiOPMChannelBase Object |
| Subclasses | SiOPMChannelKS |
The calculation of this class is based on OPM emulation (refer from sources of mame, fmgen and x68sound). And it has some extension to simulate other sevral fm sound modules (OPNA, OPLL, OPL2, OPL3, OPX, MA3, MA5, MA7, TSS and DX7).
| Property | Defined By | ||
|---|---|---|---|
| activeOperator : SiOPMOperator active operator | SiOPMChannelFM | ||
| activeOperatorIndex : int [override] [write-only] active operator index (i) | SiOPMChannelFM | ||
![]() | bufferIndex : int [read-only] buffer index | SiOPMChannelBase | |
![]() | channelType : int [read-only] channel type | SiOPMChannelBase | |
| detune : int [override] [write-only] detune (@dt) | SiOPMChannelFM | ||
| erst : Boolean [override] [write-only] envelop reset (@er) | SiOPMChannelFM | ||
![]() | filterType : int filter mode | SiOPMChannelBase | |
| fixedPitch : int [override] [write-only] fixed pitch (@fx) | SiOPMChannelFM | ||
| fmul : int [override] [write-only] fine multiple (@ml) | SiOPMChannelFM | ||
![]() | isFilterActive : Boolean [read-only] Is filter active ? | SiOPMChannelBase | |
![]() | isIdling : Boolean [read-only] Is idling ? | SiOPMChannelBase | |
![]() | isNoteOn : Boolean [read-only] is this channel note on ? | SiOPMChannelBase | |
![]() | masterVolume : int Master volume (0-128) | SiOPMChannelBase | |
![]() | mute : Boolean Mute | SiOPMChannelBase | |
| operator : Vector.<SiOPMOperator> operators | SiOPMChannelFM | ||
![]() | pan : int Pan (-64-64 left=-64, center=0, right=64).
[left volume] = cos((pan+64)/128I.5) volume;
[right volume] = sin((pan+64)/128I.5) volume;
| SiOPMChannelBase | |
| phase : int [override] [write-only] phase (@ph) | SiOPMChannelFM | ||
| pitch : int [override] pitch = (note << 6) | (kf & 63) [0,8191] | SiOPMChannelFM | ||
| rr : int [override] [write-only] release rate (@rr) | SiOPMChannelFM | ||
| ssgec : int [override] [write-only] ssgec (@se) | SiOPMChannelFM | ||
| tl : int [override] [write-only] total level (@tl) | SiOPMChannelFM | ||
| Property | Defined By | ||
|---|---|---|---|
| _algorism : int algorism | SiOPMChannelFM | ||
| _am_depth : int am depth | SiOPMChannelFM | ||
| _am_out : int am output level | SiOPMChannelFM | ||
![]() | _basePipe : SLLint base pipe | SiOPMChannelBase | |
![]() | _bufferIndex : int buffering index | SiOPMChannelBase | |
![]() | _chip : SiOPMModule chip | SiOPMChannelBase | |
![]() | _cutoff : int cutoff frequency | SiOPMChannelBase | |
![]() | _cutoff_offset : int cutoff frequency | SiOPMChannelBase | |
| _eg_timer_initial : int ENV_TIMER_INITIAL freq_ratio | SiOPMChannelFM | ||
![]() | _expressionTable : Vector.<int> expression table | SiOPMChannelBase | |
![]() | _filter_eg_cutoff : Vector.<int> eg level | SiOPMChannelBase | |
![]() | _filter_eg_cutoff_inc : int eg direction | SiOPMChannelBase | |
![]() | _filter_eg_next : int eg phase shift l. | SiOPMChannelBase | |
![]() | _filter_eg_state : int eg state | SiOPMChannelBase | |
![]() | _filter_eg_step : int eg step | SiOPMChannelBase | |
![]() | _filter_eg_time : Vector.<int> eg rate | SiOPMChannelBase | |
![]() | _filterOn : Boolean filter switch | SiOPMChannelBase | |
![]() | _filterType : int filter type | SiOPMChannelBase | |
![]() | _filterVriables : Vector.<Number> filter Variables | SiOPMChannelBase | |
![]() | _freq_ratio : int frequency ratio | SiOPMChannelBase | |
![]() | _funcProcess : Function functor to process | SiOPMChannelBase | |
| _funcProcessList : Array process func | SiOPMChannelFM | ||
| _funcProcessType : int process type | SiOPMChannelFM | ||
![]() | _hasEffectSend : Boolean effect send flag | SiOPMChannelBase | |
![]() | _inPipe : SLLint in pipe | SiOPMChannelBase | |
![]() | _inputLevel : int input level | SiOPMChannelBase | |
![]() | _inputMode : int input level | SiOPMChannelBase | |
![]() | _isIdling : Boolean idling flag | SiOPMChannelBase | |
![]() | _isNoteOn : Boolean note on flag | SiOPMChannelBase | |
![]() | _lfo_on : int lfo switch | SiOPMChannelBase | |
![]() | _lfo_phase : int lfo phase | SiOPMChannelBase | |
![]() | _lfo_timer : int lfo timer | SiOPMChannelBase | |
| _lfo_timer_initial : int LFO_TIMER_INITIAL freq_ratio | SiOPMChannelFM | ||
![]() | _lfo_timer_step_ : int lfo step buffer | SiOPMChannelBase | |
![]() | _lfo_timer_step : int lfo timer step | SiOPMChannelBase | |
![]() | _lfo_waveShape : int lfo wave shape | SiOPMChannelBase | |
![]() | _lfo_waveTable : Vector.<int> lfo wave table | SiOPMChannelBase | |
![]() | _mute : Boolean mute | SiOPMChannelBase | |
| _operatorCount : int count | SiOPMChannelFM | ||
![]() | _outPipe : SLLint out pipe | SiOPMChannelBase | |
![]() | _outputMode : int output mode | SiOPMChannelBase | |
![]() | _pan : int pan | SiOPMChannelBase | |
| _pipe0 : SLLint internal pipe0 | SiOPMChannelFM | ||
| _pipe1 : SLLint internal pipe1 | SiOPMChannelFM | ||
| _pm_depth : int pm depth | SiOPMChannelFM | ||
| _pm_out : int pm output level | SiOPMChannelFM | ||
![]() | _prevStepRemain : int eg step residue | SiOPMChannelBase | |
![]() | _resonance : Number resonance | SiOPMChannelBase | |
![]() | _ringmodLevel : Number ringmod level | SiOPMChannelBase | |
![]() | _ringPipe : SLLint ringmod pipe | SiOPMChannelBase | |
![]() | _streams : Vector.<SiOPMStream> stream | SiOPMChannelBase | |
![]() | _table : SiOPMTable table | SiOPMChannelBase | |
![]() | _veocityTable : Vector.<int> veocity table | SiOPMChannelBase | |
![]() | _volumes : Vector.<Number> volume | SiOPMChannelBase | |
| Method | Defined By | ||
|---|---|---|---|
SiOPMChannelFM(chip:SiOPMModule) constructor | SiOPMChannelFM | ||
![]() | activateFilter(b:Boolean):void Filter activation | SiOPMChannelBase | |
![]() | buffer(len:int):void Buffering | SiOPMChannelBase | |
getSiOPMChannelParam(param:SiOPMChannelParam):void [override] Get SiOPMChannelParam. | SiOPMChannelFM | ||
![]() | getStreamSend(streamNum:int):Number get stream send. | SiOPMChannelBase | |
initialize(prev:SiOPMChannelBase, bufferIndex:int):void [override] Initialize. | SiOPMChannelFM | ||
initializeLFO(waveform:int, customWaveTable:Vector.<int> = null):void [override] initialize low frequency oscillator. | SiOPMChannelFM | ||
![]() | nop(len:int):void Buffering without processnig | SiOPMChannelBase | |
noteOff():void [override] Note off. | SiOPMChannelFM | ||
noteOn():void [override] Note on. | SiOPMChannelFM | ||
![]() | offsetFilter(i:int):void LP Filter cutoff offset controled by table envelop (nf) | SiOPMChannelBase | |
offsetVolume(expression:int, velocity:int):void [override] update all tl offsets of final carriors | SiOPMChannelFM | ||
reset():void [override] Reset. | SiOPMChannelFM | ||
resetChannelBufferStatus():void [override] Prepare buffering | SiOPMChannelFM | ||
setAlgorism(cnt:int, alg:int):void [override] Set algorism (@al)
| SiOPMChannelFM | ||
setAllAttackRate(ar:int):void [override] Attack rate | SiOPMChannelFM | ||
setAllReleaseRate(rr:int):void [override] Release rate (s) | SiOPMChannelFM | ||
![]() | setAllStreamSendLevels(param:Vector.<int>):void set all stream send levels by Vector.<int>. | SiOPMChannelBase | |
setAmplitudeModulation(depth:int):void [override] Amplitude modulation. | SiOPMChannelFM | ||
setChannelNumber(channelNum:int):void [override] set channel number (2nd argument of %) | SiOPMChannelFM | ||
setFeedBack(fb:int, fbc:int):void [override] Set feedback(@fb). | SiOPMChannelFM | ||
setFrequencyRatio(ratio:int):void [override] set chip "PSEUDO" frequency ratio by [%]. | SiOPMChannelFM | ||
![]() | setInput(level:int, pipeIndex:int):void Set input pipe (@i). | SiOPMChannelBase | |
![]() | setLFOCycleTime(ms:Number):void set LFO cycle time (@lfo). | SiOPMChannelBase | |
![]() | setOutput(outputMode:int, pipeIndex:int):void Set output pipe (@o). | SiOPMChannelBase | |
setParameters(param:Vector.<int>):void [override] Set parameters (@ command). | SiOPMChannelFM | ||
setPitchModulation(depth:int):void [override] Pitch modulation. | SiOPMChannelFM | ||
setRegister(addr:int, data:int):void [override] set register | SiOPMChannelFM | ||
![]() | setRingModulation(level:int, pipeIndex:int):void Set ring modulation pipe (@r). | SiOPMChannelBase | |
setSiOPMChannelParam(param:SiOPMChannelParam, withVolume:Boolean, withModulation:Boolean = true):void [override] Set by SiOPMChannelParam. | SiOPMChannelFM | ||
setSiOPMParameters(ar:int, dr:int, sr:int, rr:int, sl:int, tl:int, ksr:int, ksl:int, mul:int, dt1:int, detune:int, ams:int, phase:int, fixNote:int):void Set sound by 14 basic params. | SiOPMChannelFM | ||
![]() | setStreamBuffer(streamNum:int, stream:SiOPMStream = null):void set stream buffer. | SiOPMChannelBase | |
![]() | setStreamSend(streamNum:int, volume:Number):void set stream send. | SiOPMChannelBase | |
![]() | setSVFilter(cutoff:int = 128, resonance:int = 0, ar:int = 0, dr1:int = 0, dr2:int = 0, rr:int = 0, dc1:int = 128, dc2:int = 128, sc:int = 128, rc:int = 128):void SVFilter envelop (@f). | SiOPMChannelBase | |
setType(pgType:int, ptType:int):void [override] pgType and ptType (@) | SiOPMChannelFM | ||
![]() | setVolumeTables(vtable:Vector.<int>, xtable:Vector.<int>):void set velocity and expression tables
| SiOPMChannelBase | |
setWaveData(waveData:SiOPMWaveBase):void [override] Set wave data. | SiOPMChannelFM | ||
toString():String Output parameters. | SiOPMChannelFM | ||
| _algorism | property |
protected var _algorism:intalgorism
| _am_depth | property |
protected var _am_depth:intam depth
| _am_out | property |
protected var _am_out:intam output level
| _eg_timer_initial | property |
protected var _eg_timer_initial:intENV_TIMER_INITIAL freq_ratio
| _funcProcessList | property |
protected var _funcProcessList:Arrayprocess func
| _funcProcessType | property |
protected var _funcProcessType:intprocess type
| _lfo_timer_initial | property |
protected var _lfo_timer_initial:intLFO_TIMER_INITIAL freq_ratio
| _operatorCount | property |
protected var _operatorCount:intcount
| _pipe0 | property |
protected var _pipe0:SLLintinternal pipe0
| _pipe1 | property |
protected var _pipe1:SLLintinternal pipe1
| _pm_depth | property |
protected var _pm_depth:intpm depth
| _pm_out | property |
protected var _pm_out:intpm output level
| activeOperator | property |
public var activeOperator:SiOPMOperatoractive operator
| activeOperatorIndex | property |
activeOperatorIndex:int [write-only] [override] active operator index (i)
public function set activeOperatorIndex(value:int):void| detune | property |
detune:int [write-only] [override] detune (@dt)
public function set detune(value:int):void| erst | property |
erst:Boolean [write-only] [override] envelop reset (@er)
public function set erst(value:Boolean):void| fixedPitch | property |
fixedPitch:int [write-only] [override] fixed pitch (@fx)
public function set fixedPitch(value:int):void| fmul | property |
fmul:int [write-only] [override] fine multiple (@ml)
public function set fmul(value:int):void| idlingThreshold | property |
_sion_internal static var idlingThreshold:int = 5120eg_out threshold to check idling
| operator | property |
public var operator:Vector.<SiOPMOperator>operators
| phase | property |
phase:int [write-only] [override] phase (@ph)
public function set phase(value:int):void| pitch | property |
pitch:int[override] pitch = (note << 6) | (kf & 63) [0,8191]
public function get pitch():int public function set pitch(value:int):void| registerMapChannel | property |
_sion_internal var registerMapChannel:int| registerMapType | property |
_sion_internal var registerMapType:intregister map type
| rr | property |
rr:int [write-only] [override] release rate (@rr)
public function set rr(value:int):void| ssgec | property |
ssgec:int [write-only] [override] ssgec (@se)
public function set ssgec(value:int):void| tl | property |
tl:int [write-only] [override] total level (@tl)
public function set tl(value:int):void| SiOPMChannelFM | () | Constructor |
| getSiOPMChannelParam | () | method |
override public function getSiOPMChannelParam(param:SiOPMChannelParam):voidGet SiOPMChannelParam.
Parameters
param:SiOPMChannelParam — SiOPMChannelParam.
|
| initialize | () | method |
override public function initialize(prev:SiOPMChannelBase, bufferIndex:int):voidInitialize.
Parameters
prev:SiOPMChannelBase | |
bufferIndex:int |
| initializeLFO | () | method |
override public function initializeLFO(waveform:int, customWaveTable:Vector.<int> = null):voidinitialize low frequency oscillator. and stop lfo
Parameters
waveform:int — LFO waveform. 0=saw, 1=pulse, 2=triangle, 3=noise. -1 to set customized wave table
| |
customWaveTable:Vector.<int> (default = null) — customized wave table, the length is 256 and the values are limited in the range of 0-255. This argument is available when waveform=-1.
|
| noteOff | () | method |
override public function noteOff():voidNote off.
| noteOn | () | method |
override public function noteOn():voidNote on.
| offsetVolume | () | method |
override public function offsetVolume(expression:int, velocity:int):voidupdate all tl offsets of final carriors
Parameters
expression:int | |
velocity:int |
| reset | () | method |
override public function reset():voidReset.
| resetChannelBufferStatus | () | method |
override public function resetChannelBufferStatus():voidPrepare buffering
| setAlgorism | () | method |
override public function setAlgorism(cnt:int, alg:int):voidSet algorism (@al)
Parameters
cnt:int — Operator count.
| |
alg:int — Algolism number of the operator's connection.
|
| setAllAttackRate | () | method |
override public function setAllAttackRate(ar:int):voidAttack rate
Parameters
ar:int |
| setAllReleaseRate | () | method |
override public function setAllReleaseRate(rr:int):voidRelease rate (s)
Parameters
rr:int |
| setAmplitudeModulation | () | method |
override public function setAmplitudeModulation(depth:int):voidAmplitude modulation.
Parameters
depth:int — depth = (ams) ? (amd << (ams-1)) : 0;
|
| setChannelNumber | () | method |
override public function setChannelNumber(channelNum:int):voidset channel number (2nd argument of %)
Parameters
channelNum:int |
| setFeedBack | () | method |
override public function setFeedBack(fb:int, fbc:int):voidSet feedback(@fb). This also initializes the input mode(@i).
Parameters
fb:int — Feedback level. Ussualy in the range of 0-7.
| |
fbc:int — Feedback connection. Operator index which feeds back its output.
|
| setFrequencyRatio | () | method |
override public function setFrequencyRatio(ratio:int):voidset chip "PSEUDO" frequency ratio by [%]. 100 means 3.56MHz. This value effects only for envelop and lfo speed.
Parameters
ratio:int |
| setParameters | () | method |
override public function setParameters(param:Vector.<int>):voidSet parameters (@ command).
Parameters
param:Vector.<int> |
| setPitchModulation | () | method |
override public function setPitchModulation(depth:int):voidPitch modulation.
Parameters
depth:int — depth = (pms<6) ? (pmd >> (6-pms)) : (pmd << (pms-5));
|
| setRegister | () | method |
override public function setRegister(addr:int, data:int):voidset register
Parameters
addr:int | |
data:int |
| setSiOPMChannelParam | () | method |
override public function setSiOPMChannelParam(param:SiOPMChannelParam, withVolume:Boolean, withModulation:Boolean = true):voidSet by SiOPMChannelParam.
Parameters
param:SiOPMChannelParam — SiOPMChannelParam.
| |
withVolume:Boolean — Set volume when its true.
| |
withModulation:Boolean (default = true) — Set modulation when its true.
|
| setSiOPMParameters | () | method |
public function setSiOPMParameters(ar:int, dr:int, sr:int, rr:int, sl:int, tl:int, ksr:int, ksl:int, mul:int, dt1:int, detune:int, ams:int, phase:int, fixNote:int):voidSet sound by 14 basic params. The value of int.MIN_VALUE means not to change.
Parameters
ar:int — Attack rate [0-63].
| |
dr:int — Decay rate [0-63].
| |
sr:int — Sustain rate [0-63].
| |
rr:int — Release rate [0-63].
| |
sl:int — Sustain level [0-15].
| |
tl:int — Total level [0-127].
| |
ksr:int — Key scaling [0-3].
| |
ksl:int — key scale level [0-3].
| |
mul:int — Multiple [0-15].
| |
dt1:int — Detune 1 [0-7].
| |
detune:int — Detune.
| |
ams:int — Amplitude modulation shift [0-3].
| |
phase:int — Phase [0-255].
| |
fixNote:int — Fixed note number [0-127].
|
| setType | () | method |
override public function setType(pgType:int, ptType:int):voidpgType and ptType (@)
Parameters
pgType:int | |
ptType:int |
| setWaveData | () | method |
override public function setWaveData(waveData:SiOPMWaveBase):voidSet wave data.
Parameters
waveData:SiOPMWaveBase — SiOPMWavePCMTable to set.
|
| toString | () | method |
public function toString():StringOutput parameters.
ReturnsString |