ラベル プログラミング の投稿を表示しています。 すべての投稿を表示
ラベル プログラミング の投稿を表示しています。 すべての投稿を表示

2022年12月26日月曜日

#Pico−8ゲーム制作1 楽しいので少しずつ覚えたことをメモw コピペでゲーム作り。

 Pico-8が楽しいので、少しずつやったことをメモw

https://nerdyteachers.com/PICO-8/

 

まずはキャラをアニメ処理させて動かす。

 

ドットキャラを描いてスプライト処理またはアニメーション処理

https://nerdyteachers.com/PICO-8/Game_Mechanics/?tutorial=4

https://nerdyteachers.com/Explain/AnimateFrog/


プログラム実行などの処理

pico-8_manual.txt内容。

----------------------------------------------------------------------------------------------------
 Keys
----------------------------------------------------------------------------------------------------

    ALT+ENTER:  Toggle Fullscreen
    ALT+F4:     Fast Quit (Windows)
    CTRL-Q:     Fast Quit (Mac, Linux)
    CTRL-R:     Reload / Run / Restart cartridge
    CTRL-S:     Quick-Save working cartridge
    CTRL-M:     Mute / Unmute Sound
    ENTER / P:  Pause Menu (while running cart)

    Player 1 default keys: Cursors + ZX / NM / CV
    Player 2 default keys: SDFE + tab,Q / shift A

    To change the default keys use the KEYCONFIG utility from inside PICO-8:

    > KEYCONFIG


あとコマンドでHELP参照。

 

キーボード矢印入力でコントロールして動かす。

function _update()に下記コマンドを挿入するだけ。

    --move
          if btn(0) then x-=1 end
          if btn(1) then x+=1 end
          if btn(2) then y-=1 end
          if btn(3) then y+=1 end


付属の横へのスクロールmoveはタグ入力--にして実行不可能にしてしまいます。





2022年12月24日土曜日

Pico-8がなんか楽しそうだがどうだろうw 本当にいい世の中ですねw

https://www.lexaloffle.com/pico-8.php

Pico-8+3D版のVoxatronがセットで$20。

$20なら2300円程度なので、買ってみたw

 

 まあX-basicやるくらいならこっちの方が実用で簡単ですぐに作れるw

今更0ベースでやるのは・・・w

 

まあ本気でやりたい人はすでにUnityなどの本物ツール類やらプチコン4 SmileBASIC、シムレスなPico-8がいいだろうw

 

X68K Z今時だが何に使おうかw

とりあえずノリで買ったが・・・本当にX68K Zは使い道ないけどw

まあコピペが使える時代なので、まあいいかとも思ったが・・・今時なんだけどw

正直、まあ公認マシーンEmu買うのはまだ安いし、アリだが、最近オークション出品がバンバン出てきて目移りしているが・・・流石に直せる自信もないw

本物を買ったところで、まず全く使い道がないw


まあ正直X68K Zも多分みんなシャープ公認Emuなので、ギャグで買ったみたいなものですかねw

 あとsx-windowも使えると良いな~と思ったが、まだ未対応?

 ゲーム制作するならpico-8がいいと思うw

 

X68K Zはまあスタンドアローン機種でまあベーシックをコピペで実行させて遊ぶか、他に使い道があればいいのだが・・・・w

 

 まあichigojamが面倒なのは本物スタンドアローンなので無理w

Editerなしで、ダイレクト打ち込むのが面倒くさすぎw

まあ子供の頃はそういうのが必要だとは思うがw

 

MSX0・・・正直どうするか・・・w

使い道はまずないw
昔のマシーンなんか持っていても正直、何も使い道なしw

まあ公認、公式Emuならまだいいけど、リアル本物はもっといらないw

 

 

 

2022年5月27日金曜日

#8 MUCOM88 MMLで遊ぶ。 音楽におけるリズムとは常に固定値です。 なかなかMMLからのコピーというのは困難かも知れないが、MML表記そのものをまだ全然理解していないw

 やっと俺も作曲とは、楽曲とは何たるものか、音楽とは何たるものかが、分かってきたぞw

曲、音楽における、リズムとは常に固定値である。

これを使いまわせばいいだけになります。

MML、ピアノロール、音符で一気に同じリズムを作成してしまえば良いだけになります。

例えば旋律なんかはほぼ8分音符ですからフィナーレーで一気で8分音符を書き上げてから音高を十字キーで変更すると劇的に早いわけですが、さっさとそれをするべきでしたが、まあリズムはほぼ固定ならリズムパターン部品をせっせと溜め込んでいくことが、作曲におけるコンポーズ作業の一番の近道になります。


●各パートごとのリズム値とは

・メロディーパート:2、4、8分音符

ほぼ4、8分音符の世界ですから8分音符だけ一気に書いてから変更した方が早い。


・ベースパート:2分音符、4分音符

ベースパターンも同じです。ボサノバパターン、16分音符のようにベースパターンというもの常に固定されています。

ベースに置けるリズムパターンは常に固定が良い。


・ドラムパート:8ビート、16ビート

こちらも別に凝ったことをしないならベースとバスを合わせた、ほぼ毎回似たようなリズムパターンになる。


・バッキングパート:2、4、8分音符

やはりリズムというのはパターン化されていますので、このパターンは固定値でいいと思います。



そうするとやはり作曲、楽曲のリズムパターンは使いまわせば、すぐに曲ができることを意味しています。

あとは音高は、数値なり、譜面ソフトで音高を矢印キー、数値で書き直すだけの作業にしておく。

こうすることでかなり効率的に曲が作成できます。

はやくやって置くべきでしたねw

リズム構築が早道ですから、まずは何も考えず、せっせとリズムを溜め込んでいきましょうw






2022年5月25日水曜日

#2 MUCOM88 MMLで遊ぶ。 FM音源 Voice Listやら調べてみたまとめ

 ドレミファソラシドを鳴らす。

 A @1v10q4 L o4ccddeeffggaabbo5cc2

 

音色データーは@番号。

Vがボリューム、Pがパン、qが音の長さ。

最小限はこのセットでいいかと。

 

・FM音源ボイスリスト

FM音源の音色データーはVoice.datに入っていますが、Voice list見ても不明ですw

https://gist.github.com/sroccaserra/91175ba8b4d54197ba794034e583eb5a


・PCMボイスリスト

MUCOM88 Windowsでは、ADPCM音源用のサンプリングデータを、標準で「mucompcm.bin」というファイルに集約して管理しています。 「mucompcm.bin」には、標準的なADPCMのサンプルが含まれています。

        No. サウンド
    -----------------------------------------------
	@0  kick(バスドラム)
	@1  snare(スネアドラム)
	@2  kick+snare(バス+スネアドラム)
	@3  crashcymbal(クラッシュシンバル)
	@4  kick+cymbal(バスドラム+シンバル)
	@5  ac.tam(アコースティック・タム)
	@6  e.tam(エレクトリック・タム)
	@7  snare2(スネアドラム2)
	@8  o.hit(オーケストラヒット)
	@9  909kick(909バスドラム)
	@10 909snare(909スネアドラム)
	@11 808openhihat(808オープンハイハット)
	@12 timbal(ティンバレス)
	@13 hand clap(ハンドクラップ)
	@14 timpani(ティンパニー)

https://github-wiki-see.page/m/onitama/mucom88/wiki/ADPCM%E3%83%87%E3%83%BC%E3%82%BF%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6


●ボイスエディット

VoiceEditは面白いように簡単で、これならFM音源でも音色づくりができる気がするw

MMLで鳴らしながらVoice Edit可能。


F1メニューからオプションを選択して、FM音色エディターと連携するを選択してMucom88を再起動。


ToneNOをMMLで指定した音色番号に設定してあとはEdit画面の場所にマウスカーソルを持っていき、スクロールホイールするだけ。

Voice Editは驚くほどかなり簡単ですw

保存と使い方も簡単でコピペするだけ。

Voice Edit画面にてCtrl+Cでコピーして、MML Edit画面にペーストするだけです。


FMP7やら違う音源でMMLを鳴らすときにはこのデーターは返還する必要があるので、正規表記は変換はこちらです。

http://software.hi-gain.org/software/fmtonexchange/index.html


あと先日これ買いましたw



1000円と安くなったので、これを読んで作ってみようと思うw


これで実機チップでも使えたら最高ですね。

SCCIでやってみたいけど、正直同じ音で一緒なんでまあ・・・w


SCCIやってみるかな。

できるだろうか?

 

2022年5月24日火曜日

#1 MUCOM88 MMLで遊ぶ。  MMLの書き方、MML記述方法に関する調べ物メモ 最初のドレミファソラシドを鳴らす。

 

MMLリファレンスマニュアル

https://github.com/onitama/mucom88/wiki/MML%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9

 

●FM+SSG音源ポリ数

FM3ポリ+SSG3ポリ:YM2203(OPN)

FM6ポリ+SSG3ポリ+ノイズリズム+ADPCMリアルドラムセット:YM2608(OPNA/サウンドボードII)

 

■ MML内部

記述 説明
C 全音符あたりのクロック(分解能)指定 (デフォルトはC128)
t FM音源チップのタイマーBの数値を直接指定するテンポ指定
T テンポ指定 (1分間に演奏する四分音符の数で指定)
@ 音色番号指定(FM/SSG/PCM) SSGの場合はプリセット音色(16種)を使用する
@"..." [FM] 音色名での音色指定
o [FM/SSG] オクターブ絶対指定(o1~o8, デフォルトo6)、[ADPCM] o1が高音でo2,o3となるほど低音になる。
v [FM/SSG] 音量絶対指定(0~15)、[ADPCM] 音量絶対指定(0~255)、[リズム] vn1,n2,n3,n4,n5,n6,n7 (全体,BD,SD,CY,HH,TM,RY)
q 音の長さ全体から、キーオフを早めるタイミングをクロック数で指定。(スタッカート)
p パン (0=発音しない, 1=右, 2=左, 3=中央)
リズムパートでの指定時は、bit0~3でリズムの種類(0~5)、bit4,5でパン(1:右, 2:左, 3:中央)を指定する。
($を指定して16進指定可。例: p$12 = シンバルを右に)
l デフォルト音長指定
cdefgab 音程の指定 (必要に応じて後ろに調号(+がシャープ,-がフラット)、音長数値で指定します。「.」付点も指定可)
r 休符
% 音長をクロック値で指定 ※デフォルト音長指定をクロックで指定したい場合は、前にスペースを入れる。
D ディチューン (-32768~32767) 後ろに+を指定した場合、絶対指定でなく現在値からの相対指定になる
> オクターブ相対指定(上げ)
< オクターブ相対指定(下げ)
) 音量相対指定(上げ) 16段階 )nで一度に変化する量を数値で指定可(ADPCMは256段階)
( 音量相対指定(下げ) 16段階 (nで一度に変化する量を数値で指定可(ADPCMは256段階)
& タイ/レガート (前後の音のキーオフ/キーオンを省略)
^ 音長を繋げる
{…} ポルタメント。{c2b} で c→b へのポルタメント 数字は音長指定。オクターブをまたぐことも可。
[…]n ループ開始位置とループ終了位置。後ろに数字を置くことで繰り返し回数を指定
/ ループ内脱出位置指定 [ ]のループ内に記述すると、最後のループで / の位置でループを脱出します。
L 曲全体のループ位置指定 (各パート1箇所のみ指定可能)
K 移調絶対指定 (-128~+128) ループ内は繰り返し1回のみ
V 音量の相対変化指定(以降のvコマンドの値に増減, コンパイル時に評価)
¥=n1,n2 エコーマクロ。n1(0~9)で直前の音符数, n2(省略可能)でボリュームの下げ数を指定
¥ ¥=n1,n2で設定した音に置き換える
k (v1.7のみ) 移調相対指定
s (v1.7のみ) キーオンのタイミングを変える。クロック単位で指定し、正で遅らせ負の方向で早める(シャッフル)
H [FM] ハードウェアLFO Hn1,n2,n3 n1:速度(0-7),n2:PMS(0-7),n3:AMS(0-3)
R [FM/SSG] リバーブ Rn で音量の加減値を指定 (nは負の値も指定可)
キーオフ時、キーオフする代わりに現在の音量の約1/3に設定して発音を続ける。(FMとSSGでは音量計算が異なります)
RF [FM/SSG] リバーブ ON/OFF (0=off 1=on)
Rm [FM] リバーブの効果のかかる部分の指定(0=続く休符も含める 1=qで切られた部分のみ)
M ソフトウェアLFO (Mn1,n2,n3,n4) n1:delay n2:クロック単位 n3:振幅 n4:変化の回数)
MF ソフトウェアLFO ON/OFF (0=off 1=on)
MW ソフトウェアLFOのディレイ(n1)だけを設定
MC ソフトウェアLFOのクロック単位(n2)だけを設定
ML ソフトウェアLFOの振幅(n3)だけを設定
MD ソフトウェアLFOの変化の回数(n4)だけを設定
S [FM3] 効果音モードのスロットディチューン (Sn1,n2,n3,n4) n1=OP4 n2=OP3 n3=OP1 n4=OP2のディチューン順(0~255)
E [SSG] ソフトウェアエンベロープ(En1,n2,n3,n4,n5,n6) AL,AR,DR,SL,SR,RR
P [SSG] ミキサモード Pn (0:発音しない 1:トーン 2:ノイズ 3:トーン+ノイズ)
w [SSG] ノイズ周波数 (0~31)
s [SSG] SSGハードウェアエンベロープ・波形指定 (v1.5のみ)
m [SSG] SSGハードウェアエンベロープ・周期指定 (v1.5のみ)
y レジスタ直接書き込み(yn1,n2) n1=レジスタ番号 n2=データ
yDM [FM] DT/ML直接指定 yDM,n1,n2 n1=スロット番号 n2=データ
yTL [FM] TL直接指定 yTL,n1,n2 n1=スロット番号 n2=データ
yKA [FM] KS/AR直接指定 yKA,n1,n2 n1=スロット番号 n2=データ
yDR [FM] DR直接指定 yDR,n1,n2 n1=スロット番号 n2=データ
ySR [FM] SR直接指定 ySR,n1,n2 n1=スロット番号 n2=データ
ySL [FM] SL/RR直接指定 ySL,n1,n2 n1=スロット番号 n2=データ
ySE [FM] SSGEG直接指定 ySE,n1,n2 n1=スロット番号 n2=データ
vm [ADPCM] PCMボリュームモード(vmn で n を音量の補正値としてサウンドドライバ側で加算する)
* マクロ展開
; これ以降行末までコメント
: これ以降コンパイルを行なわない
! このパートのこれ以降を全て休符とする(発音しない)
J ジャンプコマンド(この位置から演奏開始)
| 何もしない スペースと同意 (視認性向上用の区切り)

※Rコマンド補足、FMの場合:リバーブ時の音量=int((現在の音量+リバーブ値+4)/2)-4、SSGの場合:リバーブ時の音量=int((現在の音量+リバーブ値)/2)

 

 

 これは本物MMLなので覚えて使うまでが大変そうですが、とりあえずテストのドレミファソラシドだけを鳴らしてみるから始めるw

最も簡単な使い方はサンプルを聴いて、最初の数行をコピーして新規貼り付けして挙動確認をしてみる。




最初のA行のみコードを改造してドレミファソラシドに変更。

t193 C96 @85o3v11p3q4l16 L o4c8d8e8f8g8a8b8o5c8


無事、ドレミファソラシドを鳴らすことができましたが

最初の音色チェンジ ”@85o3v11p3q4l16” の部分がよくわからないw

ただ単に後ろはMMLでしたw

@85プリセット

o3オクターブ

v11ボリューム 

p3パン

q4キーオフ

l16長さ

 

あとSCCI(Sound Chip Common Interface)でMIDI音源も使えるようで、本物FM音源も使える様子。

無事、eVY1 boardの認識はしましたが、ここをチェックすると内臓FM音源ボードEmuは切り離されて鳴らなくなるので、チェックを外してソフトを再起動。

色々と使い方は不明なので、調べてみようとは思うが、まあIchigojamの簡易型も含めてStandard MidiからMMLへの変換ツールを探さないとw

 


#0 MUCOM88 MMLで遊ぶ。 Windowsで色々と調べていたらやっぱりこれがベスト1かとw MUCOM88 MMLが最高でした。

Small Basic調べていたら音色もピアノのみ、いまいちグリコのおまけの車みたいな感じで、とりあえずついているだけ、120%絶対に遊ばないおまけ程度なので、辞めましたw

 

色々と調べていると昔から、やっぱりこれが絶対ヒットしていた気がしますが・・・まだ時期ではなかったのでスルーしていたが・・・早く導入して置けばよかったw

これが一番楽総合的に全部入りでした。

 

MUCOM88 Windows版

https://www.ancient.co.jp/~mucom88/

https://onitama.tv/mucom88/index.html

https://gamebiz.jp/news/227760

https://forest.watch.impress.co.jp/library/software/mucom88/

https://forest.watch.impress.co.jp/docs/news/1159967.html

 

Mucom88 on Web版

https://aosoft.github.io/MucomWeb.Play/

 

 FM音源4op、6ポリ+SSG音源3ポリ+ノイズ+ADPCM、FMToneEditor+テキストEditor+Player全てのEmuがセットになっている総合ツールになっているので、導入もMucom88 Windowsを起動するだけでOKという、驚きの手頃さw

かなり簡単でしたので、これを勉強していけば、バッチリかと思いますw 

 

2018年か、確かにニュースサイトで見たのを覚えていまして、存在は知っていましたが、やっと導入w

即飛びつくべきでしたが、色々と忙しいので、放置してましたが、勿体無いことしたw

このMucom88の画面は見たことあるが、何なのか?いまいちよく理解していなかった、知っていてもこれが何なのか?が不明だったり、ろくに調べていないなどなどw

我ながらつくづく情弱かなと思うw 反省しなければw

 

 一応、MacのWindows EmuソフトParallels Desktop上のWindows11でも問題なし。

あとVM上のWindows11ではeVY1は問題なしなので、もしかしたら挿しっぱなしでアップグレード作業したので、一旦切り離されたのかも知れない。Windows10に戻した時もUSB差し直しで復旧したので、特に問題なしかも知れないw


Ichigojamとは違い、こっちは本物のFM音源と88同様のMMLで本格的にすごいことが今日からすぐにできてしまいます。

サンプルもたくさん置いてあるので、聞いてみたらびっくり。凄すぎる。

本物のFM音源と同じで音が物凄い良いw

MMLも何書いててあるのか???さっぱりわからないw

そして本物MMLなので、すごい情報量なので大変と言えば大変ですが、いますぐに、誰でもすぐに本物で遊べてしまうのがすごいw

もちろん当時の実装そのままですからPro仕様w

 

プチコンのBGMやらそのまま使えると思いますw

Switchプチコン4 セール中。1500円はお得なので、絶対買った方がいいでしょうw

https://store-jp.nintendo.com/list/software/70070000005852.html


素晴らしい環境が手に入りましたが、すぐには絶対無理w

本物サウンドで、かなり高度というかプロ仕様なので、今後ゆっくり触っていきます。

まずは初心者、始めたばかりなので、Ichigocakeの 4ポリPSG音源の簡易MMLで練習していきますw

 

 

2022年5月22日日曜日

#17 Ichigojam BASICで遊ぶw  IchigockeでPSG音源利用してみる。 MUSIC SCORE / MSCORE(IchigoCake)

今日はIchigocke独自MMLで、PSG音源の使い方について調べてみました。

 

MUSIC SCORE / MSCORE(IchigoCake)

https://github.com/fu-sen/PanCake-COMMAND/blob/master/MUSIC%20SCORE.txt

 

 [ Ichigojam BASIC コマンド 書式 ]

PC MUSIC SCORE <チャンネル> <再生モード> <テンポ・音色> <MML> (1.0~)

 

[ IchigoCake BASIC コマンド 書式 ]

PC.MSCORE <チャンネル>,<再生モード>,<テンポ・音色>,"<MML>"

 

Ichigojam Basicで入力したものをPanCakeで再生するコマンドは[?”]を入力。

?” PC MUSIC SCORE 00 00 81 <MML> 

 MMLの前に$でリピート。

 

MML

IchigoJam MML リファレンス 0.9.0以降

コマンド説明
[音]音(C D E F G A B)を鳴らす (Rは休符)CDERFG
[音]n長さを指定して音を鳴らす(.を付けると半分の長さ分伸びる)C4 E2. D1 F32
[音]+半音上げるC+ D+
[音]-半音下げるD- E-
Tnテンポ (TEMPO命令で後から変更可能) 初期値:120T96CDE
Ln長さ指定しないときの長さ(1,2,3,4,8,16,32) 初期値:4CL8DC
Onオクターブ指定 O1C(低音)からO5D(高音)まで 初期値:3(ver1.1までは 4)O3CO2C
<オクターブ上げる(ver1.1までは >)C<C>C
>オクターブ下げる(ver1.1までは <)C>C<C
$これ以降のMMLを繰り返す(BGMに便利)C$DE
Nn1-255 音の高さ指定してLで指定した長さで鳴らす (BEEP命令と同じ)N10N5


[ 解説 ]
<チャンネル> は 00~03 でチャンネル 0~3 の4つのうち一つ割り当てます。
<再生モード> は 01 の時はすぐに再生し、00 は MUSIC PLAY を用いて再生します。
<テンポ・音色> は上位がテンポ 0~F、下位が音色 0~3 です。
<MML> は MML を指定します。バイナリ変換後 64 バイト分まで有効です。
<MML> は下記の表記となります。
  C~B ド~シの音を鳴らす
  +    前の音を半音上げる
  -    前の音を半音下げる
  ~    前の音を伸ばす(PanCake の MML には音の長さ指定はありません)
  N    ノイズ
  R    休符
  >    1オクターブ上げる
  <    1オクターブ下げる
  $    以降を繰り返し再生する

 

●とりあえず簡単に作ってみる。

とりあえずドラムとベース。

ドラム:01 00 30 $<<NL32>>>>>NL32

ベース:02 00 30 $<<C8C8

あと2音のみ。

 

ドラムの説明では数値ですが、全然変わらず・・・まあ>>>でオクターブ変更できたのでいいか。しかし音飛び、鳴らない音が・・・まあいいかw

あとは手入力は面倒なんで変換ツール探しw



 

2022年5月21日土曜日

#15 Ichigojam BASICで遊ぶw  EEPROM破損? ブレッドボード内側 IC直下に電源入れてはならない? でもなあ???

ブレッドボードの電源は必ず両脇の+ーを経由させないとIC破壊する?

おかげで1MBのEEPROMが死んだ気がするが・・・280円がw


ついつい先日、YMF825ボードの5V電源を直下に入れてしまい、周辺の機器を破壊してしまった様子です。

なんかEEPROM内がおかしなことになっていると思ったら・・・やっちまった訳ですねw

電源は必ずブレッドボードの両脇の電源を経由して取る必要があるようです。

なんでだろうか?やっていることは同じな気がするが・・・気のせいか?でも現に壊れてしまったので・・・意味不明ですが・・・まあ280円なんでよかったけどw

https://akizukidenshi.com/catalog/g/gK-12061/

どうするか、この基盤からEEPROM外して下駄はかして100円のEEPROMだけで運用するか・・・でもまあ別にL足でROMカセットみたいに使ったほうが楽だね。

L足と3個買っておくか。

https://akizukidenshi.com/catalog/g/gC-01627/


 100均感覚で、地味に金食い虫・・・送料+代引きで毎回800円も高い・・・・

 

もしかしたらIchigojamとIchigocakeで両方から書き込んだのが原因でバズったかな?

互換はないそうで、もしかしたらそれかもしれんが、Loadはできるが、Saveが一切できなくなったので、フォーマッタがどこにあるのかな?

NEW:FOR I=100 TO 227:?I:SAVE I:NEXT

一応、これ入れてみたがダメだった。

https://15jamrecipe.jimdofree.com/%E5%91%A8%E8%BE%BA%E6%A9%9F%E5%99%A8/%E5%A4%96%E9%83%A8%E8%A8%98%E6%86%B6%E8%A3%85%E7%BD%AE-eeprom/

 

もしかしたら本体電源入れっぱなしでピン抜き差ししたのもまずったかも。

多分それかな・・・USB感覚でホットスワップしたらパッツン逝ったのかもw


#14 Ichigojam BASICで遊ぶw  毎日の1ルーチンプログラミングでルーティーンw For A=数値1 To 数値2 Step 数値3 Next

やはり基本ルーティーンで構築が一番成長するところだと思いますので、ルーティーンワークの記録メモを残していきます。

 

・1日1ルーチンプログラミングをルーティーンにブログを綴りますw

・音楽ではルーパーしてキーとスケールとコードプログレッションルーティーンで音の感覚を身につけていきます。

・???

 あと一つは?

まあそんなに欲張っても無理なんで毎日のルーティーンは2つくらいがちょうどいいでしょうw

生活ルーティーンもあるので欲張ると大変w


本日のルーチンは何にしようかな。

まずは基礎教本から学んでいきます。

本日の教本はこちらです。

 

 

●Gosub命令文でサブルーティーン P82 


 まさに初日にぴったりの内容。

いまいち、どういうことか理解が難しいサブルーチン。

IF A goto A Else Bなど、もしAならGOTO戻るそれ以外は、こっちへみたいなルーチンはすぐに解っても、サブルーチンが難しいですからそこをちゃんとしておきます。


まあIF、GOTOももちろんこの教本の前半に書いてあるので、大丈夫ですが、Gosubのシンプルなやつで仕組みを理解しておきます。

あとわかりにくいのがFor A to Bも複雑なので、次回やろう。 

と思ったらこの後の応用編か。Forも本当に厄介w

 

とりあえず、書籍の内容をそのまま入力して分析します。

やっぱりForが入っているので、14章For命令 〜NEXT命令でデーター処理を先にやったほうがいいと思いますw

For 変数=数値 TO 数値2 Step 数値3

命令の並び

NEXT

このForを指定した回数繰り返しループします。

For N=1 to 30 STEP 1

・・・

NEXT


ForからNextを繰り返します。

たったこれだけですが、これが中に色々と処理するものを入れてループさせるため、かなり難しいことにw

ややこしい、こんがらかってきますが、よくみて何を処理しているか、考えてみますw

 

 

2022年5月20日金曜日

#13 Ichigojam BASICで遊ぶw  Wは音価と書いてあるから、変数かと思っていたら・・・違ったので、Wait値を変数に変更。

 テンポ調整のWait値は変数かと思っていたら、勘違いしてましてw WAIT入力値を全て統一入力なので、変数に変更。

てっきり変数かと思っていたので、200行のElseのWait値を入れ忘れていたので、ズレまくりでしたw 

そして、イタズラにWAITをバラバラに設定するとズレの弊害が絶対出てくるので、統一が基本ですねw

音価Wの値を全て統一したWAITにすると安定しましたw

馬鹿らしいw

考えすぎて損したw


コンピューターを甘く見てはいけないw

計算なんか一瞬ですからねw

Wait値のズレがズレズレになっていただけだったので、全てWait値を統一しみたらバッチリに直りましたw

あと休符も音の長さも全て”ー”で統一wしてこれにも同じWAIT値で、結局全てのWAIT値は同じなので、200行の@Midiの場所に変数 W=8:を追記するだけ。

もちろんW=8の数値は自分で好きな値に変更するだけです。

 

10行のM=音符以外の音、休符も音価も全部”ー”にしました。まあ細かくすれば行を追記して上げる必要があるけど、まあ要らぬ情報は不要かとw

別に作ったからといって、音価は同じですから、いらんw

ロングトーンができませんが、まあそれもまあほぼ要らんかなw

 


 あと変更箇所は330行の”ー”を追加。

あと最後の360行のWAIT値は全体のテンポ値。現在は実数値にしてあります。上げても下げてもどちらでもOK




ここは全体テンポになるので、値は幾つでも全く問題なしでした。

それくらいですかね。

 考えすぎによる、あるあるですねw

無駄な時間を過ごした・・・w

これもコンピューターあるあるw時間を膨大に失うw

 固定観念がドツボにハマるw

 

 あとプログラムチェンジの16進数#C0,00とわかったのですが、対応しておらず、まあベロシティー値も対応していないので、まあこのIchigojamBasicのOS側が対応していないので無理かと思います。

https://nagasm.org/ASL/midi03/index.html

まあいいかw

でもeVY1のデフォルト値は全てピアノらしいので終わったw 

結局Arduinoとセットかwやはり無理があるね。

USBをPCに挿せば、それだけで使えてドライバ不要で音源利用可能なので、色々と触ってみたら結構いい音でびっくりw

まあ最近のGM音源は本当に素晴らしい。

時代が違いますねw

結構評判の良い、NSX-1(YMW820)チップ搭載で、かなり音圧があるので、FM音源張りにすごいw 音痩せ感がないので、このPCMならバッチリ使いやすいかもw

https://archive.yamaha.com/ja/news_release/2013/13102301.html

単体でWindowsで使えるのでバッチリですね。ケースみたいなものが欲しい気がするがどうするかな。名刺ケースサイズのタッパみたいなものを100均で探してくるか。



別にMMLが使えるWab版、ソフトウェアはWindowsでもあるが、あえてここは IchigojamとするのはBasic好き、インタープリタ好きだからで、プログラム勉強ができて、学ぶにはピッタリの環境でIchigojam絶対お勧めですが、まあ何もできないのですが、それがこの時代逆に良いw本当に素晴らしいと思うw

https://fukuno.jig.jp/app/IchigoJam/webmml.html

それ以外ない。

Basic以外はお断りしますw

ここで学んでいけば、あとは構文が違うだけなので、まあどんな言語にも対応可能だが、インタープリタ型に限るw

それ以外は無理w 

まあエミュレーターがあれば別だがw


 

 

#12 Ichigojam BASICで遊ぶw  YMF825Board 動作チェックテストプログラム動作確認完了。


夜飯はSBカレーうどん+ネギと卵トッピングうまい。5日目くらいの残り飯を誤魔化して食うためのカレーでしたw

 

無事、YMF825boardの動作確認できました。 



最初音が鳴らずに焦りましたが、どうやらGNDを直付がよくなかったようす。

ブレードボードの両脇のGNDを経由して接続したら問題なし。3.3V、5Vは直でいけるのにやはりGNDがNGとは・・・でもまあ何となく理解できなくもないw


本当に感謝感謝ですw

こちらのサイトを参考に、配線、サンプルプログラムを入力。

 https://fukuno.jig.jp/1848

しかし、これは・・・ほぼマシーン語のような16進数オンリーで使うのは容易ではないw

16進数で何をやっているかも全く理解できず、ほぼアセンブリを入力しているみたいなものをかなり間違えながら、手入力して、エラーの連続を修正しての繰り返しwこりゃインタープリタでないと大変だw

入力ミスしまくりは、昔からなんで、インタープリタ以外は無理w

しかし、サンプルプログラムを聞いてみてどうですか?FMピアノと言われるとそうですが、でも何だかPCMピアノと間違えてしまうほど、結構良い音だと思いませんか?

 

なぜ私が、YMF825ボードを使いたいと思ったかというとこれは次世代FMエンジンの音がしたからですw

これはFM系列にはない最新サウンドがしたからなのですが、この動画を見てそう感じましたw

何だか昔のFMチップには存在しない合成波形部分を持っていますね。 

チャンネル別で金属打音、余韻部と何個か重ねているだけかもしれませんがw

 正直、新しいCPエレピ音とも感じ取れるサウンドが作れそうな勢いですw

でもまあFM-Xでも、作れると思うし、膨大なユーザーサウンドライブラリーを探せば多分ダウンロードできるかもしれませんがw 

新しいFMのピアノサウンドを今度探してみるかなw

 

 でもYMF825ボードはマイコン利用ではなくて、普通に音源利用したいので、Windowsで使えるようにしたいと思うが・・・

なんか16進数のコードばかり入力する気がしないw

まあ2個買ったのはそういう目的で、一つはマイコン利用、一つは単体音源化で何とか使いたい。



こういう使い方をしたいw

これを真似して作ってみたいが・・・もっと調べてみるか。

やっぱりArduinoとセットか、ラズパイとセットで組めば音源化できるっぽいですね。

このTINY2040がラズパイチップなのでマイコン必須ですね。

もう少し調べて是非やってみたいが・・・まあまだ先でいいか。

 

2022年5月19日木曜日

#11 Ichigojam BASICで遊ぶw  前回ではスタッカートオンリーでタイムがぶった斬られるので、さらにWAIT値調性で見えてきたw

 さらにWAITテンポの改訂はこちら

#13 Ichigojam BASICで遊ぶw  Wは音価と書いてあるから、変数かと思っていたら・・・違ったので、Wait値を変数wに変更w

本日も朝昼抜きで夕飯これ1個w

今日はひと手間を惜しまず、玉子の黄身は潰す。これをプロの現場(マクドですがw)では絶対に黄身を割ります。昨日食べたものが古い卵は黄身が血生臭い味がするときがるため、本日は一手間で本当に全然違うw

別に金がないわけではありませんがwまあ節約しているわけでもないのですがw

まあ楽しくて飯も食えない?腹が減らないモードですが、昨日はポテチのみ。今日はラーメンでも食うかなw

 

 前回の素ソース状態では全てスタッカートだったので、WAIT値を触る必要性があったので、そこを調性していくとだんだんわかってきた。

 


 

こういう記述はワザと間違えて書いてあるのは、自分で分析、触れるように意図的に間違えた記述になっていることが多々あります。

雑誌もそうですが、あえて完璧ではないw

あとコード自体も完璧ではない場合、ワザと間違えておけば、自分が苦労して調性したので、まあまあ良いかと、妥協するという点も多々ありw 

まあも足という表現を何度か書いてますのでw

まる覚え、丸写しではなく、 自分で動くように努力が必要ですw

 

そこで3つのWAIT値を調性する必要があり。

200:WEITWとワザとスペース抜きの場所。音のレングス値が変わるのでここの値が音の長さになりますのでそのWAIT値。

320:ここは”R”とした方がわかりやすい。休符の場所で〜、R、ーなんでも良いのですが、これらの休符を書いた場合のWAIT値。

338:最後の調性テンポWAIT値。

 

これらを微妙に調整すると狂うのですが、そこを最小で調整するとスタッカート問題はなくなり、音が伸びるので、音切れもなくなりました。

 

●WAITテンポ表

・1、2、4、8、16👎音が鳴らない。

・2、4、8、16、32👍

・3、4、6、12、24、48👍

・4、8、16、32、64👎も足りすぎる

・5、10、20、40、80

・6、8、12、24、48、96/2=48👍

・7、14、28、56、112

・8、16、32、64、128 

・9、12、18、36、72、144/2=72

・10、20、40、80、160

・11、22、44、88、176

・12、16、24、48、96、192/2=96

・13・・・

・14・・・

・15、20、30、60、120、240/2=120

 

 

●もたるが何とか聞けるベストWAIT値

・2、2、32

・2、2、24

・2、2、16

・2、2、12

・2、2、8

・2、3、32

・2、3、24

・2、3、16

・3、3、12

・2、3、8


 なかなか良い感じですが、さすがにWAIT2なので、Releaseなしの音色はスタッカート気味になりますw

 一番上のWait値が高ければ高いほどレガートになりますが、どんどん加算値が高くなり複雑なリズムの場合はズレてしまいますが、そこのギリギリのところと、割り切れる数値であること。そしてこれが面白い。

 

音楽そのもののヒントに最高w

 

https://nlab.itmedia.co.jp/nl/articles/1805/04/news002.html

 

#10 Ichigojam BASICで遊ぶw  諦めかけたその時、一筋の光明を見たw そしてついでに掘り出し物eVY1 BoardまでGETできて嬉しいw

まずMidiはMML風なコマンドが使えることを知りまして、大喜びw

👍グレイト!素晴らしいw

本当に素晴らしいのが、こちらの記事です。

 https://fukuno.jig.jp/1311

 本日学んだサブルーチンも活かせるMML風の書き方w

👍やっぱりIchigojam素晴らしいw



 

ちょっと何やっているか、不明、難しい点もありますが、全くの0スタートではない点が素晴らしいw前回記事のSC-88記事は見てましたが、あれだとMidiボードのサンプルプログラムと同じでシリアルでとりあえず音出ししてみた程度で、音楽的な使い方としては、さっぱりでしたからw

 これならMML風で全体的に理解しやすい感じです。

サブルーチンの記述が若干何やっているのか不明ですが、少しずつ学習していきますw 

 

●入力完了して、無事鳴ることを確認しましたが完璧ではない状態なので、変更点と分析。

下記の内容で修正箇所としては200行目#90+Hで330行目の変数H=1となっているので2chで旋律になっているはeVY1ボードの1chがボカロ固定なので、2ch指定。こちらの330行目 H=の数値を0にすると1chになります。

そのため、ここでMidi chを指定できるので、トラック数を増やすのはサブルーチン300番の@playを追加してくことになります。サブルーチン200番の@MIDIは全て変数になっているので、触る必要なしの固定文になるので、ここはクリアーですね。

 

・音が鳴らない現象があるなら電源を再起動。最初は失敗するのかも。

・サブルーチン200行は式なので触らず固定。

・Midiチャンネルを任意で追加するのはサブルーチン300行目を追記。

https://youtu.be/YY9YnipQuPQ

・音高と音価はMML風で入力可能になりましたが、楽譜から分かるように音価は4分音符になっていますので8分音符に改造する必要性があるので、どうせなら16分音符を基準にしておきたいが、メモリー制限がありますので、8分音符に留めますw

・300行目が対応スケールになりますので、ここで指定した音が鳴りますが、スケールにしておく必要性があり。60がYamaha系C4、Roland、Korg系C3と思われる。

ここも色々と考えてみる必要性あり。

・❗️338行目のWAIT=30が全てのテンポとなりますので、ここを15に変更すると16分音符対応になります。

 

●WAITテンポ表

・6、8、12、24、48、96/2=48

・7、14、28、56、112

・8、16、32、64、128 

・9、12、18、36、72、144/2=72

・10、20、40、80、160

・11、22、44、88、176

・12、16、24、48、96、192/2=96

・13・・・

・14・・・

・15、20、30、60、120、240/2=120

 

 

●8分音符の適応版(10行目のM=”CDEFECD”を変更)

M="C-D-E ーF ーE-D-CーーーC-ー-C-ー-C-ー-C-ーーCCDDEEFFEーD-C-ー-"

※休符とレガートをーに統一。

細かく設定するにはプログラム追記必要。

全て2つ記入。ーは音価追記。

 

●8分音符の場合の音価表記

・2分音符:C---

・三連符:C--

・4分音符:C-

・8分音符:C

 

●16分音符の場合の音価表記

・2分音符:C---ーー

・三連符:C--ー

・4分音符:C-ー

・8分音符:Cー

・16分音符:C

テンポは最後のWAIT値をテンポ表を見て最小値に設定。


一気に全てできたーw

しかし、たったこれだけで564Byte・・・まあichigocakeならFree 3500Byteありますので、4トラック3ポリ+リズムくらいなんとかなるでしょうw

👍グレート最高!ブラボーw

👍👍これでBasicプログラミング作曲が可能になりましたw


●残されている未処理の問題

 ・音源がVolca FMでは鳴らない音が多々あり。

音源の問題もあるのかもしれないが不明。色々と検証する必要性あり。 

音価がなんか変な感じがあるが・・・

音の長さがちゃんと正常に動作していないと思われるのでもう少し考えてみる必要性ありだが、エレピ音なら全音出力ができているので、レングス値が不足している。


・EEPROMからメモリへの書き換え

あとは都度、RAMメモリをEEPROMから読み込み書き換える方法も習得すれば、16トラック16ポリくらいのかなり凝った曲も可能になると思うので、問題解決策はあり。

まあゲームはみんなそんな感じで都度、メモリー内を書き換えてますので普通ですw

内部EEPROMが圧倒的に高速なので多分そちらに放り込んでLRUN0、1、2、3、4、5と再生することになると思う。でも多分内臓EEPROM6バンクでも容量は4KBかも。

あとはサブルーチンで内部EEPが終わったら同時にEEP内部を書き換えていくことでバッファーメモリとして使う感じですかね?




そしてなんと!eVY1 Board 掘り出し物が出てまして、これは買った方がいいでしょうw 


https://evy1.aides-tech.com/

 

お得なボードだと思いますので、これを機会にマイコン+ボカロ音源で歌わせてみようと思いますw 

考えてみたら小型音源持ってなくてw

Volca FMでやってみようかと思っていたのですが、これはありがたいw

接続方法もこちらにあるように、バッチリですね。

 https://fukuno.jig.jp/1311

電源とシリアルだけっぽいw

まあ直で刺すだけでいけるのも素晴らしいw

とにかくマイコン三昧が当分続くが、演奏法も同時に頑張っていきますw

 

ボカロ+PCM音源 eVY1 Boardと16マルチティンバーFM音源 YMF825Boardもあるし最高👍w

 

 すごいぞマイコンプログラミング作曲ができるようになったので、ゲーム音楽並みにすごいことが簡単にできるようになりますw


#9 Ichigojam BASICで遊ぶw  やっぱりパソコンやると何もできないwパソコンは時間をかなりロスするだけかもw

本日も1日パソコンで何もできない、膨大な時間を失うだけw

昔からですwパソコンをやると何もできないw

まあ好きなので仕方がないかw

 

とにかくMidiプログラミングはまだまだ早すぎるwので、おいおいやろうと思うw

いきなり最終目的ではキツすぎると言うよりも、情報量が少なすぎる気がするが、まあ検索だけでは、出てこないのでなかなか難しいのもある。

色々と何もわからない、何の情報もない、何をしていいのかすら分からない状況なので・・・まずはPlay MMLが使えるPSG音源をやろうと思うw

 

 とりあえずFILESで内蔵EEPROMはわかるのですが、EEPROMのファイル管理ができないので、見える化プログラムを探して入れてみたらかなり便利。

内蔵EEPROMは、Ichigocakeは6個、Ichigojam-Rは15個ありました。

容量は不明。Ichigojam-Rのメインメモリはやはり1KBしかない。

これがいいと思う。

Ichigocake用なので古いVersionは別のものになりますが、一応、Ichigojam Rでもほぼ正常動作しましたが、逆にRisc版で書いたものは表示できないので、Ver1.5なのでまた違うのかもしれませんが不明。

Ichigojam Basic最新の14、15ならFILES100,225で確認可能でした。

なのでFILESで内蔵EEPROM、FILED100,225で外付けEEPROMの中を見ることができます。


あと色々と触っていて、スクロールみたいなものを作るにも考えてみたらキャラベースということを忘れていてキャラはやはりLOCATE=LCで表示して、消すみたない感じにしてあげる必要がある。

スクロールしているようで、上から下へテキストが流れているだけなので、下から上へのスクロールみたいなものは簡単だが、他の方向へはかなり面倒。

 

まあ少し時間がかかるが、パソコンをやっていると膨大に時間をロスするが・・・どうするかw

まあ購入した本に載っているものを入れて勉強してくかな。

でもただ入力してもさっぱり理解できないことが多いw

まずはMidiシリアル通信の#90 1chみたいな16進数の番号への内容やらどうやったら知ることができるのか?

とか意味不明なことばかりw

まあ調べ物だらけで、時間ばかり失いますw

とりあえず、部品をコツコツ溜め込んでいき、組み合わせできるようになるまでかなり時間が必要かと思うw

まあごろ寝用のやつが寝ながら少しやるという感じの方がいいのかも、起きている時間ずっとやっていることになると何もできないw

まあいきなりMidiはかなり難しいので、まずはBasic標準コマンドがあるMMLとシーケンサーが使えるPanCake=PC PSG音源を触っていこう。

 

まだまだ人生は長いので、今後ずっとネットで調べていき、情報を得たらやってみようw

いきなり16進数の問題やら、色々と知らな過ぎて全てにおいて無理w

まださっぱり何もわからず、エベレストでは無理がある。

高尾山、六甲山でもキツいのにw

まずは裏山散歩道あたりからw


2022年5月18日水曜日

#8 Ichigojam BASICで遊ぶw  曲をどう作るか?Ichigocakeメインメモリ4Kバイト+EEPROM1MBで制限問題解決。メモリ節約はサブルーチン LETを覚えて数値、変数で放り込み術を学ぶ。

 

 朝・昼抜きの夕飯

 ベーコンエッグチーズマーフィン美味い。

 夜食はラーメンかなw

 

 

日本語キーボードコマンドKBD1をさっき知りましてw

日本語問題なしになりましたので、よかったw

やっとお勧めできるハッピーハックもどきキーボードw

しかしUSB/PS2英語キーボードを見つける方が大変だわw

 

メモリ節約はやはり変数化で効率化しかないので、LET必須ですが、教本にLETの使い方が一切出てこないのが気になるが、みんな使っていますね。

 

でもメモリ問題ですが、EEPROMがあれば、都度読み出し書き出しを繰り返すことは可能になりますので、でかい曲データーは分割保存して都度読み出してメモリに書き換えていけば良い。

 

実行のユーザーメインメモリ:Ichigojam1KB、Ichigocake=4KB

内部EEPROM読み出し外部メモリ:Ichigojam 4バンク4KB、Ichigocake6バンクあり。 24KB?

外付けEEPROM読み出し外部メモリ:64バンク 1MB1000KB

 

最初は1KBと思っていたら、Ichigojamだったので、私が購入したIchigocakeは4倍の4KBモデルで嬉しい。

でもまあ4KB=4000文字ですw4ポリなら行けるかもしれけどw

まあ不足してもEEPROMもあるので、大丈夫ですねw

 

メモリー空き容量はF6でFree値を見ることができます。

EEPROM外部メモリはSSDそのものですから、こう考えれば、曲も結構問題なしだと思う。

曲の進行と共に、都度、4KBのユーザーメモリ領域を書き換えていけばいいわけです。


 

そうすると音高+音価データーを用意して都度、順番に読み出しプログラムみたいなものを2個1で考えてあげれば1曲は可能になりますね。

まあ読み込み時のタイムラグを休符で切り替えポイント=息継ぎポイントを考える必要あり。勉強になるなーw

コンピューターの息継ぎポイントいいですねw 

 

まあ読み込み順番プログラムは後で考えるとして、 まずは音高、音価データーの作り方を考える必要があります。

 WAITの作り方がどうするか?

 

Midiプログラムを見るとLET命令文が使われています。

LETとは数値データーの変数化が行えますので、これを使えば変数同士の複雑な計算が可能になりますので、かなり使え、かなり幅が出てきますし、Midiでは必須になっているので、まずはLETを学ぶ必要性がありそうですね。

花火のサンプルプログラミングはこちらにあるようにやはりLETでメモリ制約から回避しています。

https://15jamrecipe.jimdofree.com/basic/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0/%E8%8A%B1%E7%81%AB/


とりあえずMidiのWaitの方法を考えていきますが、花火プログラムから学べるものを学びます。

 

●プログラム分析学習

かなりすごいw意味不明ですw

本当にこの世は天才ばかりですねw素晴らしいw 

このRNDは何?みたいなw

わからないので一つずつ不明なものを考えていきます。

コンピューターがどういう処理をしているのか?可視化してみてみましょう。

?はPRINTの省略ですから見たければ全て?をつけていけば画面に結果は表示されます。

計算が早すぎるので続けて書くときは:を付けて、:WAIT10くらいで、繰り返し:GOTO10として実行を繰り返します。

 

10 ?RND(11)+10:WAIT:GOTO10

この1行で実行するとこの数値は何に使うのかな?意味不明ですが、次の行に?”・”とありますので、打ち上げポイントスタートのRNDかな?でも数値が違うな・・・

 

どうやら サブルーチン、真(True)と偽(False)、乱数。

https://www.cloverfield.co.jp/2019/08/05/ichigojam%E3%81%AF%E3%81%98%E3%82%81%E3%81%BE%E3%81%97%E3%81%9F%E3%80%823/?doing_wp_cron=1652849681.9716100692749023437500

うーん難しいが、かなりヒントになるが・・・しかし本当に時間食いw

 


2022年5月17日火曜日

#7 Ichigojam BASICで遊ぶw  MIDI端子からの出力プログラミングについての考察とメモ

前回の続きで、サンプルプログラムを打ち込んでmidiアウトしてみた。

サインプルプログラムの内容は12鍵盤、1オクターブをランダムに鳴らすプログラムとある通りでした。

プログラム記述のコマンドリファレンスで調べると。

UARTとはシリアルポートのON、OFF。

Escキーで止めると止まる場所によっては、途中で強制終了するので、シリアルオープン状態のままになってしまうため、

・Escを押して止める。

・UART 0と入力してシリアルポートをOFFにする。

 

分かりやすい説明がありましたので、こちら

file:///Volumes/Potable%20SSD/Download/20191214-IchigoJam-midi.pdf

さらに詳細説明

https://av.watch.impress.co.jp/docs/series/dal/1046425.html


音源はVolca FMがスピーカー内蔵なんでこれを使えばアダプタだけでいいのだが・・・電源アダプタだらけ・・・本当に邪魔だな・・・

USBは救世主に思えたが・・・USBもいっぱいありすぎて・・・

本当に電気問題は正直、全部PoEみたいな感じでスルーできればいいのに・・・

本当にコンセントだらけで邪魔ですw


●?CHE$(midiポート番号、音程、ベロシティ値???(0 or MAX)

https://fukuno.jig.jp/1300

・#90=1ch・・・#99=10chでON。

・#80=1ch・・・#89=10chでOFF。

なので、それ以降は16進数かな?まあ10chあればいいかw

・しかし、最後のベロシティ値はやはり変わらず。0か最大値ぽい。

音量は変わらないとレポートがあった通りと思う。

まああとは音程分かるとして、音価、テンポなど諸々がさっぱり不明。

まあとりあえず知りたいのは音価は?

前回はWAITの値を変えたが、触れるところがそこが一番簡単だったのでやってみただけだが・・・

 

●WAIT=音価、テンポ

やはりWAITしかないので、テンポは固定バイテンで考えるしかなさそうです。

|WAIT値|音価|

|120|全音符|

|60|2分|

|30|4分|

|15|8分|

|7.5|16分|割り切れないので無理w


とりあえず全部割り切れる音価を倍の値として下から数えていく方法しかありませんw

・5、10、20、40、80

・6、8、12、24、48、96/2=48

・7、14、28、56、112

・8、16、32、64、128 

・9、12、18、36、72、144/2=72

・10、20、40、80、160

・11、22、44、88、176

・12、16、24、48、96、192 /2=96

・13・・・

・14・・・

・15、20、30、60、120、240/2=120

こんな感じでw

16分音符8がコンピューター的に一番分かりやすいかもw

 ただしシャッフルなしなので、基準をシャッフルにして置いた方がいいと思う。

 基本シャッフル+バイテンがいいのかもしれない。

 

●プログラムの記譜方法

音高をまとめてLETに数値記憶させて、?CHR$=キャラクター数値である音高をブッこむ方法ですね。

ただそうすると、やはり音価はほぼ固定されたものが楽で、でもまあそうした方が実はいい音楽ができるのかもw

実際に、ジャズなんかほぼ8分固定ですからねw

まあいい勉強になったが、間違っているのか?あっているのか?は不明w

でも多分あっていると思うw


でもまあそうなるとほぼリズム固定の曲作りしてみるかなw

本当にいい勉強になりましたw

 

#6 Ichigojam BASICで遊ぶw  早くもIchigocakeにMIDI端子実装環境構築+PSG音源本格始動。すでに環境ができているのもありがたい。もうメカ感も最高👍w

 

動画そのままアップした方が楽だw

携帯で撮影した動画はMP4 H.256 高圧縮動画ですが、Bloggerはこのフォーマットも対応しているからサイズ3.5MB程度なんでわざわざGifアニメにする必要ないのに気がついた。これで音出しも伝えられますねw

 

 無事EEPROMも移設設置無事ポートチェンジでも使えました。

L足に付け替えて、EEPROMを立刺しすることもできますが、せっかくの5Vが使えなくなってしまいます。また足付け替えるのも面倒。ハンダを付けたり、外したりする際、基盤プリントが剥がれてしまい、基盤破損する場合もあるのであまりおすすめはしません。

5V使ってませんでしたので、空いている5VはYMF285ボード電源に使えますので安心しました。配置はしましたが、いずれ配線していきますw

先に完成に近づいた現在の設置状況。

EEPROM、MIDI端子は秋月で購入可能。

https://akizukidenshi.com/catalog/c/cichigo/

こうなるまでにIchigojam用のMidi端子組み立てから設置まで色々とありましたw

一旦は完成したMIDIボードの足を引っこ抜こうと試みまたりw

でも結局一旦つけた足は外れず、断念したらあることに気がついてこれで正解だったことを認識w

 組み立て順番はIC+抵抗、足、MIDI端子がいいと思う。



 一旦はハンダを除去するも・・・無理と断念w

 

でも足上げしておかないと当たるねw
なのでこれが正解でしたw

説明書をよく見るとちゃんとEEPROM用の端子が用意されているので、ボードに挿して、そちらを使うことにしたら問題なく完成。


 なかなかのメカ感がいい感じになってきたw

一応、YMF285ボードとMidi端子もいつでも配線できるようにして置いたがMIDI端子は別にこんなにいらんかったかもw

Arduinoじゃなくても使えるからいいかw
とにかくあっという間に構築できて素晴らしいw

おまけにソフトウェアもBasicコマンドも対応しているので入力だけですぐに使えるw

すでに全部できているのであとは作曲するだけですw

流石、技術の日本だと思える職人がたくさんいて良かったw

バッチリの環境が出来上がりました。

あとは作曲してプログラムを作るだけで完成しましたw

👍嬉しいw 

あとの課題はYMF285ボードとのFM音源接続と使い方などなどですが、いきなり全部は無理ですが、この環境ですでにMIDI音源対応したので全て完成したと言っても過言ではないw

YMF285ボードはおいおいやっていきますw


早速MIDIケーブルを接続しているProphet'08で音出し試験。

しかし・・・[ ’ ]これどうやって出すの?・・・あと昨日こうまった[~]これも不明w

日本語キーボード面倒くさいw

かなり大きさが違うが、[']と[ ”] のこのキーでいいのかな??

それ以外にないしな・・・w

でも[~]チルダーは???

なんかカンマも違う気がするし・・・調べる必要あり。

 

日本語キーボードの場合、KBD1と入力すると日本語キーボードにも対応していましたw

電源を入れたら英語キーボードが初期設定なので、KBD1と入力。

USキーボードに戻すときは、KBD0

 

 

でもカンマコメントっぽいな。まあおいおい調べるとして今すぐにはいらんかw

1 'カタカナでプログラム内容をコメント残しておけば後で見た時にわかりますので、コメント必須ですねw

時間と共に全て忘れるのが人間ですw

 

とりあえずサンプルプログラムを入力してみる。

 


無事問題なくMIDI出力されたことを確認できたので、これで音源出力はバッチリ👍w 

朝昼飯も食わずやっていたので、腹が減ったが、完成してよかったw

MMLからとか色々と考える必要があるが、今回はMIDI出力物理テストまでとしておいおい、MIDIポートを使ったものもやっていく。これができれば音源には困らないので本当に楽しみですねw

あとこんなシンプルな接続で制御できるとは思っていなかったwすごいw

https://av.watch.impress.co.jp/docs/series/dal/1046425.html

最近のMidiケーブルが2chピンジャックのモノラルケーブルなので不思議でしたが、こういうことなんですねw

 


1分半の動画が29MBならかなり小さいと思うので、問題ないかと。

携帯カメラが勝手に作成したダイジェストが面白いw


終わりもよくできていてびっくりAI機能ですねw

なかなかよくできたメモリアル機能だw

 



2022年5月16日月曜日

#5 Ichigojam BASICで遊ぶw  Ichigojam ざっくり触ってみてこれは本当に素晴らしく良くできた、面白いおもちゃを手に入れたw

すぐ遊べるBasic環境が素晴らしいw

5インチミニディスプレイにはスイッチがありませんので触らず、F10が画面スイッチになっていますので、使わないときは F10を押せば画面OFFにできますが、まあ電源を消した方がいいと思うけどw


小さいモニターもかなり可愛くて、ずっと机にあっても邪魔にならない大きさなので、かなりいいかもw一応、5インチを買ったのですが・・・こんなに小さいのかな??あのアナログテレビは7インチですが、全然大きさが違うが・・・w

いつでもBasic、毎日遊べるBasicになりまして、これは面白いw

ichigoDyhookならごろ寝スタイルでずっとやっていられるので、疲れた時は大福でごろ寝学習も可能w

EEPROMで双方どちらでも読み出し可能。まあRISCチップ版にはPancakeがないのですが、なんかそろそろ新しいPancakeも出る?Dyfook用は小型改良版Pancake待ちw


作業プレート固定はネジ1本とあとは両面テープで固定しています。

一応、EEPROM 1MB 64バンクまでSave可能になりましたので、容量アップ実装完了。

書き込み、読み込みテスト問題なし。

これでバンバン作っても全て保存可能。

ただ管理表を付けて置かないと64バンクのどこを使って、空いているのかが、さっぱりわからなくなるので注意w


●Pancakeのサウンド+スプライト

Pancakeのサウンド機能とスプライト機能を少し使ってみた。

[?”]を頭につけるとPancakeの命令文が書ける。注意が最後の[”]は不要。

※?はPRINT省略

入れるとプリントスクリーンされるが、どうやらうまく動作してくれない。

 

?"PC RESET

?”PC MUSIC SCORE 00 00 81 $C>C<EG

?”PC MUSIC START

PC .IMAGE RND(7)

WAIT 120

GOTO 4行目


止める時は[ESC]ボタンで止めて、?”PC RESETと入力。


サウンドは4chあるので4ポリです。

一応、4和音はなりました。

Cのアルペジオの仕方はマニュアル参考にしまして、少し使い方を学んでいきたいと思います。
https://av.watch.impress.co.jp/docs/series/dal/1047820.html

4ポリPSG音源ですからそれなりに凝ったこともできるのでこれで色々と遊んでいきますw

マークⅢは3ポリ+1ノイズで、PSG音源のパワーはこのくらいできるが、流石にセガなんで相当凄いけどw

でもYmf825boardはもっと凄いけど、その前にPSG音源でもかなり頑張ってみるw


#4 Ichigojam BASICで遊ぶw  Ichigojam キャラベースアニメーション 花火アニメモーション算数


 昨日の夜飯は在庫整理 カツカレー

カツは、もちろんスーパーの惣菜380円税抜きですが、肉は美味しいのですが薄くて硬かったので、玉手のあの厚切りクオリティーはかなり素晴らしいかもw

松屋の冷凍カレー食い切ったw在庫0やっと松屋の冷凍シリーズあと残すところ牛どん2パックになりまして、なんとか在庫整理成功。  


昨日の続きでキャラアニメですw

昨日の花火はただPRINTを付けてWAITして消して、またPRINTの繰り返しだけのアニメでしたが、本日は代数を使ったアニメーション処理で花火の部分だけ作ってデータ処理で読み込ませます。

 

●昨日のPRINTのみ花火アニメ

LOCATE 15,15: PRINT"*"

WAIT 30

LOCATE 14,14: PRINT"***"

LOCATE 14,15 PRINT"* *"

LOCATE 14,16: PRINT"***"

WAIT 30

昨日はこの表示切り替えだけw

 

昨日の基本的に打ち上がり時に使ったLOCATION値をY+1で加算するだけの処理をたくさん作るだけですw

たくさん加減算で8方向くらい作ってWAIT値を触るだけで、綺麗なアニメーションになると思います。

 カーブなんかもできるようになるとさらに素晴らしいものが作れるのですが、まあさらに高度になるので、まずはただの加減算数のみでw

 

●本日の代数アニメ

CLS

A=15:B=15:C=15:D=15

LOCATE 15,A: PRINT"*"

LOCATE 15,B: PRINT"*"

LOCATE C,15: PRINT"*"

LOCATE D,15: PRINT"*"

LOCATE C,A: PRINT"*"

LOCATE D,B: PRINT"*"

LOCATE A,C: PRINT"*"

LOCATE B,D: PRINT"*"

WAIT5

A=A+1:B=Bー1:C=C+1:D=Dー1

GOTO 2行目 


これで8方向なはずw

でもこの書き方だと入力が面倒なので、代数を増やして文字数を減らしますw

PRINT"*"は同じなので、代数化できるのでP=PRINT"*"みたいな感じですね。

P=PRINT"*"

LOCATE 15,A: P

LOCATE 15,B: P

LOCATE C,15: P

LOCATE D,15: P

LOCATE C,A: P

LOCATE D,B: P

LOCATE A,C: P

LOCATE B,D: P

これでメモリ節約+入力手間省略できるはずですが・・・でも実際はできませんでしたw

命令文の代数は無理ですねw

これができるのがオブジェクト指向?とは言わないか?組み合わせ型引数?確かVBとかはできたと思いますが、20年前の記憶なので、定かではありませんw

命令文の代数はできませんので、そのまま入力。

まあこれはVBでもできないかも?w 

 

あとこのテレコパターンもNGだったは間違えていましたw

LOCATE A,C: PRINT"*"

LOCATE B,D: PRINT"*"

これに修正。

LOCATE A,D: PRINT"*"

LOCATE B,C: PRINT"*"

 

これでバッチリですねw

 

でも場所が固定されてしまいましたw

これでは使い物にならないので、考える必要があり・・・こういうのが面倒臭いw

まあY軸AB=5上部位置、X軸CD=15中央位置

でそれぞれ揃えればいけますが・・・XYの値が異なるとやはり、これがテレコした場合のこの数式が通用しませんので、別途作る必要が出てきました。

LOCATE A,D: PRINT"*"

LOCATE B,C: PRINT"*"


 やっぱり横着は許されないw

コンピューターは次々と問題が出てきますので、永遠と問題が発生して、問題を解決するという試行錯誤の連続w



CLS

A=5:B=5:C=15:D=15:E=5:F=5:G=15:H=15

LOCATE 15,A: PRINT"*"

LOCATE 15,B: PRINT"*"

LOCATE C,5: PRINT"*"

LOCATE D,5: PRINT"*"

LOCATE C,A: PRINT"*"

LOCATE D,B: PRINT"*"

LOCATE G,F: PRINT"*"

LOCATE H,E: PRINT"*"

WAIT5

A=A+1:B=Bー1:C=C+1:D=Dー1:E=E+1:F=Fー1:G=G+1:H=Hー1

IF A=17 GOTO 1行目

GOTO 2行目

 

これで完成ですね。



計算も集約でまとめられるところをまとめていくとスッキリしますので、数学のセンスが問われますw


 

 

逆張りがん対策 乳がんルミナールタイプは、女性ホルモン エストロゲンが増加を促進する仕組みなので、エストロゲンを押さえることが重要。タモキシフェン長期服用、エストロゲン増加防止対策について

乳がんサブタイプのルミナールタイプ対策は長期的なホルモン治療がかなり有効という事で3つのことを守っていこうと思います。 〇乳がんエストロゲン増加対策 ・ホルモン治療薬タモキシフェン服用 ・女性ホルモン増加防止対策 ・体力アップ、自己免疫力向上の努力 ●長期ホルモン治療の重要性 乳...