Package | org.si.sion.module.channels |
Class | public class SiOPMChannelFM |
Inheritance | SiOPMChannelFM ![]() ![]() |
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:int
algorism
_am_depth | property |
protected var _am_depth:int
am depth
_am_out | property |
protected var _am_out:int
am output level
_eg_timer_initial | property |
protected var _eg_timer_initial:int
ENV_TIMER_INITIAL freq_ratio
_funcProcessList | property |
protected var _funcProcessList:Array
process func
_funcProcessType | property |
protected var _funcProcessType:int
process type
_lfo_timer_initial | property |
protected var _lfo_timer_initial:int
LFO_TIMER_INITIAL freq_ratio
_operatorCount | property |
protected var _operatorCount:int
count
_pipe0 | property |
protected var _pipe0:SLLint
internal pipe0
_pipe1 | property |
protected var _pipe1:SLLint
internal pipe1
_pm_depth | property |
protected var _pm_depth:int
pm depth
_pm_out | property |
protected var _pm_out:int
pm output level
activeOperator | property |
public var activeOperator:SiOPMOperator
active 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 = 5120
eg_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:int
register 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):void
Get SiOPMChannelParam.
Parameters
param:SiOPMChannelParam — SiOPMChannelParam.
|
initialize | () | method |
override public function initialize(prev:SiOPMChannelBase, bufferIndex:int):void
Initialize.
Parameters
prev:SiOPMChannelBase | |
bufferIndex:int |
initializeLFO | () | method |
override public function initializeLFO(waveform:int, customWaveTable:Vector.<int> = null):void
initialize 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():void
Note off.
noteOn | () | method |
override public function noteOn():void
Note on.
offsetVolume | () | method |
override public function offsetVolume(expression:int, velocity:int):void
update all tl offsets of final carriors
Parameters
expression:int | |
velocity:int |
reset | () | method |
override public function reset():void
Reset.
resetChannelBufferStatus | () | method |
override public function resetChannelBufferStatus():void
Prepare buffering
setAlgorism | () | method |
override public function setAlgorism(cnt:int, alg:int):void
Set algorism (@al)
Parameters
cnt:int — Operator count.
| |
alg:int — Algolism number of the operator's connection.
|
setAllAttackRate | () | method |
override public function setAllAttackRate(ar:int):void
Attack rate
Parameters
ar:int |
setAllReleaseRate | () | method |
override public function setAllReleaseRate(rr:int):void
Release rate (s)
Parameters
rr:int |
setAmplitudeModulation | () | method |
override public function setAmplitudeModulation(depth:int):void
Amplitude modulation.
Parameters
depth:int — depth = (ams) ? (amd << (ams-1)) : 0;
|
setChannelNumber | () | method |
override public function setChannelNumber(channelNum:int):void
set channel number (2nd argument of %)
Parameters
channelNum:int |
setFeedBack | () | method |
override public function setFeedBack(fb:int, fbc:int):void
Set 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):void
set 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>):void
Set parameters (@ command).
Parameters
param:Vector.<int> |
setPitchModulation | () | method |
override public function setPitchModulation(depth:int):void
Pitch modulation.
Parameters
depth:int — depth = (pms<6) ? (pmd >> (6-pms)) : (pmd << (pms-5));
|
setRegister | () | method |
override public function setRegister(addr:int, data:int):void
set register
Parameters
addr:int | |
data:int |
setSiOPMChannelParam | () | method |
override public function setSiOPMChannelParam(param:SiOPMChannelParam, withVolume:Boolean, withModulation:Boolean = true):void
Set 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):void
Set 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):void
pgType and ptType (@)
Parameters
pgType:int | |
ptType:int |
setWaveData | () | method |
override public function setWaveData(waveData:SiOPMWaveBase):void
Set wave data.
Parameters
waveData:SiOPMWaveBase — SiOPMWavePCMTable to set.
|
toString | () | method |
public function toString():String
Output parameters.
ReturnsString |