YM2151Library

Public メソッド

void begin ()
void initLFO ()
uint8_t read ()
void write (uint8_t addr, uint8_t data)
void setTone (uint8_t ch, uint8_t keycode, int16_t kf)
void setVolume (uint8_t ch, uint8_t volume, uint16_t offset)
void noteOn (uint8_t ch)
void noteOff (uint8_t ch)
void loadTimbre (uint8_t ch, uint16_t prog_addr)
void loadSeparationTimbre (uint8_t ch, uint16_t prog_addr)
void dumpTimbre (uint16_t prog_addr)
void setPanpot (uint8_t ch, uint8_t pan)

関数

 

void YM2151_Class::begin (  )

IOの初期設定を行いYM2151/YM3012をハードリセットする、必ず呼ぶ必要あり

 

void YM2151_Class::dumpTimbre ( uint16_t prog_addr  )

MDX形式の音色データを読み込みコンソールにダンプする

引数:
prog_addr プログラムアドレス

 

void YM2151_Class::initLFO (  )

LFOを初期化する

 

void YM2151_Class::loadSeparationTimbre ( uint8_t ch,
uint16_t prog_addr
)

一般的なFM音色配列を読み込みレジスタにセットする、音色データセット後は ボリューム、パンポットの設定を必ず行い関連レジスタの整合性を取る。

引数:
ch 設定するチャンネル
prog_addr プログラムアドレス

 

void YM2151_Class::loadTimbre ( uint8_t ch,
uint16_t prog_addr
)

MDX形式の音色データを読み込みレジスタにセットする、音色データセット後は ボリューム、パンポットの設定を必ず行い関連レジスタの整合性を取る。

引数:
ch 設定するチャンネル
prog_addr プログラムアドレス

 

void YM2151_Class::noteOff ( uint8_t ch  )

ノートオフする

引数:
ch オフするチャンネル

 

void YM2151_Class::noteOn ( uint8_t ch  )

ノートオンする

引数:
ch オンするチャンネル

 

uint8_t YM2151_Class::read (  )

ステータスを読み込む、bit0のみ有効

 

void YM2151_Class::setPanpot ( uint8_t ch,
uint8_t pan
)

パンポットを設定する

引数:
ch 設定するチャンネル
pan パン設定、0:出力なし 1:左 2:右 3:両出力

 

void YM2151_Class::setTone ( uint8_t ch,
uint8_t keycode,
int16_t kf
)

音程を設定する

引数:
ch 設定するチャンネル
keycode オクターブ0のD#を0とした音階、D# E F F# G G# A A# B (オクターブ1) C C# D….と並ぶ
kf 音階微調整、64で1音分上がる。

 

void YM2151_Class::setVolume ( uint8_t ch,
uint8_t volume,
uint16_t offset
)

音量を設定する、あくまでオペレーターのレベルを操作するだけなので 音色と音量の組み合わせによっては破綻することがあります。

引数:
ch 設定するチャンネル
volume ボリューム、0(最小)~15(最大) 最上位ビット(0x80)Onの場合は0x80をマスク後TLの値にそのまま加算
offset 上位8bitをTLの値に加算、MDX再生用

 

void YM2151_Class::write ( uint8_t addr,
uint8_t data
)

指定アドレスのレジスタに書き込みを行う

引数:
addr アドレス
data データ

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です