2022年5月20日金曜日

#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

 


楽天モバイルは、悪くない。かなり良好。制限もそれほどキツくないレンジ幅あり、これはかなり使えると思う。

昨日の夜飯

中華三昧 酢辣湯麺+納豆ご飯。久しぶりに食うとめちゃんこうまい。

中華三昧のスーラー結構好きですw

 

楽天モバイル200GBからの高負荷試験でゲームパスダウンロードをしています。

なかなかマイクロソフトフライングシミュレーターが入らないのはストレージが外付けでは無理な様子。指定せずに放置していたので、強制的にキャンセルを食らっていた様子です。

現在、277GBからの130GBマイクロソフトフライングシミュレーターを本日12時より開始してみた。

これで何日かかるかですが、数日で終わるなら制限はかなり緩いと言える。 

まあかなり不定期レンジ幅あり、ちゃんとベストエフォート型で楽天側に不味い時は1MB規制があるので、まあヘビーユーザー地域だと厳しいかもしれないですが、今のところ大丈夫そうですw


ルミナスを先にダウンロードしてる時は15MB bpsは出ていたのでそれほど悪くないと思う。MS FSも15Mbpsは出ているのであとはスタンバイで放置して何日で終わるか。

しかしテトリスで1GBの時代とはw

 終わる頃には、今月だけで400GBなんで、いきなり最初の月でかなり使っているけど、現時点でガチガチ規制ではないので、かなり使えると思う。普通にソフバン並み、いやそれ以上かもしれないw

あとは回避策としてはマイネオ1.5Mbpsパケ放題を常備しておけば、完璧だと思うw

 

ホームネット楽天モバイル:3000円

マイネオ携帯パケ放題:1500円

携帯電話:楽天モバイル:2200円

これで6700円か。

まあこんなもんだと思う。さらに切り詰めるなら節約ポイントは多数ありw

超切り詰め型はマイネオ1本で電話とパケ放題で多分3000円コースw

まあそこまでしないなら楽天1本+500円程度の電話回線のみ。 

標準電話放題1100円が15分になったので、まあこれはこのまま使っていても悪くないが、基本料金1100円・・・まあ普通かw

800円にして欲しかったがw

 

しかし、朝起きて、常にマイコンが目の前にある生活も悪くないw

無音、省電力なので24時間つけっぱなしでもいいが、まあ消しておこう。

常に色々と楽しめるインタープリタ環境が目の前にあるのは楽しいかもしれないですねw

まあかなりスペックが低い、メモリ容量がOS込みで4KBという究極の制限がある環境ですがw

まあこのくらいスペックが低いと鍛えられる?w新人は超ロースペックが基本w

 

ここまでシビアにした方がいい?w

Ichigojamのユーザーメモリ容量は1KBですが、私の使っているIchigojamのユーザーメモリ容量は4KBになっていますが、1KBでは、多分1曲まともに入らないと思うw

ということで、私の入手したものがメモリ4倍にバージョンアップされたIghigocakeはFreeを見ると4KB 使えると出てきます。

https://twitter.com/hashtag/ichigocake?src=hash

 

そこをどう工夫していくかですねw

Ichigojam1KBの壁かなりストイックですが、このくらいの方が色々と工夫していいかもw

ルミナス1GBでロードストー戦記は300MB。

この差が日本クオリティーなのですが・・・まあメモリは節約するのが大事かとw


集約計算というか1行プログラミングの世界ですかねw

500バイトテトリスとか分析するとか、色々とミニマル世界を勉強するとかなり鍛えられるのでは?wただ行数問題もあるけどw

https://zapanet.info/blog/item/1130

https://qiita.com/ryuichi1208/items/f9e6ac2b99bbe4fc82d3 

メモリは無限ではないので、制約して遊ぶ。

あとichigojamはbasicなので1行制限がかなり厳しいともありますので、まあ簡単なものしかできないのですがw

まあかなり手頃で簡単なので、楽しいおもちゃ箱のようなマイコンとしては最高だと思うが・・・1KBではかなり厳しいwまあ4KBでもきついので増設メモリが欲しいw

でもまあIchigocakeでバージョンアップしたように、今後も進化していくと思うw



まああとはMSXの最新後継機種を待つかですw

にわか噂されているMSX3はメガドラ32Xみたいな感じでスロット拡張下駄型増設構築のようですが、あれが売れれば、マイコン型で新しく作って欲しいw

でもまあMSX miniでもいいけどw MS-Basic必須でw

でも定期供給してくれないと1chip MSXみたいに転売ヤーが10万とか付け出すので、本当に金社会はジンバブエ状態のようになっていくので、本当に金なんか、さっさと辞めるべきだと思うw

 

 

電子マネー型チップ制度を導入するとかね。

役立つものに投げ銭をマイナスが累積されるが、マイナスは別に特にその人の負担にはならないが、個人のバロメーターになる。

就職先もそれにより決まるわけです。

マイナスがどんどん蓄積されている人は愚かそのものw

でも別にお咎めはないのですが、集団社会では適応不可能かも。

そして与えることで、与えられ、マイナスは回復していく。

その匙加減は人間ではケチとなりますので、自動的AIが判断してチップが支払われる仕組みが良いw

 

まあ無理ですが、空想経済ですね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


おっさん必須50肩にはラジオ体操がかなり効くw 左右のバランスを整える効果抜群かも。久しぶりに体操するとかなり調子が良いのでびっくりw

 

本日の五島うどん+五島あごだし とろろ五島うどん

スープがうまい。スープは五島あごだし1つのみ他は一切なしだが、結構濃いのでしょっぱいけどwうまい。店の味系かも。あごだしでのうどんスープは正直食ったことないけどw結構合うと思う。 

夜飯素うどんなんで腹減ったら菓子食うかw



 50肩というものは、まあ背骨の曲り、左右のバランスが崩れており、かなり体の構造にガタがきてるw

まあそれも地球の重力が結構過酷だと感じる年になったということだと思う。

久しぶりに会う母やばあちゃんがやたら小さく感じたのは、やはりどんどん縮むのは地球の重力がかなり負担になってきているせいもあるw

 

とにかくここ最近、50肩がしんどくて大変な苦痛だったが、本日久しぶりにラジオ体操をやってみるとかなり調子が良いw

そして久しぶりにAmazonミュージックのラジオ体操第一かけてというと、おにーさんが若返っているのもびっくりしたが、かなりアナウンスがいいが、ピアノはNHKのピアニストの演奏のアンビエンスは素晴らしかったが、ズレて体操にはあまりいらないかもw

 

これかなりいい音としていると思うのだが、どうだろうかw Super Saw+4OP FMは結構ツボってますw

 

久しぶりのベーコンエッグマーフィン+アイコーセットw手軽でうまい。食パン食うよりいいかもw

マーフィンはどこにも置いていないのではなくて、4個入りで200円で1個50円と意外と高めなのであまり売れないので、置いていない店が多いのかもw


まあドラッグストア、玉出などの激安店には置いていないのはまあ売れないのかな?w

 

今日までこの音なら5500円なら悪くないと思うけどw

使うか使わないかと言われると放置してしまう確率高いですがw

https://computermusic.jp/2022/05/sonivox-stratum/

https://www.pluginboutique.com/product/1-Instruments/4-Synth/4382-Stratum/?a_aid=5abf3e9769e18

https://www.sonivoxmi.com/virtual-instruments/stratum-transwave-synth.html

 

OP4FM TX81Z系+Super Saw JP-8000系とかなりツボった感じになっているので、下手なシンセ買うよりもいい音しているw

まあ買ってもいい音ですねw

かなり素晴らしい出来ですがw

でも気がついて、残り15分だったようで、すでに買えなくなったw

まあいらんかw

 

まあ正直、なんかソフトウェア音源も面倒臭いくて、やっぱり自分が最高と思うハードウェア2、3台あればいいかと思ってきたw

この先、まあ作曲でできる様になってきたら、色々とソフトウェアシンセも考えてみるが・・・正直あまり興味がないw

弾いていた方が楽しいと思う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


 

 

2022年5月15日日曜日

#3 Ichigojam BASICで遊ぶw  Ichigojam 初Lチカ やっぱり日本圧勝w まずコンピューターの始まりはBasicが一番良い。 千円の日本語キーボードはNG・・・英語キーボード必須。

正直、電子工作というものはオームの法則ですが、今時はまあ正直、プログラミングとは無縁の世界ですw

3つのマイコンを触ってきましたが、やはりラズパイピコ、アルディーノはプログラミングが組み込み型であるところ、基本言語がCという敷居が高すぎる点、インタープリタができないCでは不便すぎる点。学習が劇的に遅い点が難点で、頭が痛くなるだけという、抜け毛の元になり、禿げ上がってしまうかもしれないので、無理w 


C言語では、プログラミングを教えるところがごっそり不明でしたが、やはりコンピューターのスタートはやはりBasicが一番です。昔から日本ではコンピューターのスタートはBasicと決まっていますからねw

インタープリタで無ければ面倒くさいw

 

この時代ですからね。スピードは問題ではないので、とにかく分かりやすい言語というものが必要です。

本日sanwaのハッピーハックみたいなPS2対応のキーボードがやっと届きましたので、初Lチカやってみましたw

しかし、買ってから気が付きましたが、日本語キーボードでは記号配置がずれるので、英語USキーボードを買う必要があるw

()が89ではなく、()90表記のものが必要・・・これはちゃんとしないと結構知らない人は面倒臭いので注意。

 ちなみに1000円くらいの安いものは全て日本語キーボードなのでやっぱりスクールセットまたはIOデーターのIchigoDyfookを買った方がいいという結果になるw

まあ英語キーボードが頭に入っているPCベテランはいいとして、最初から訳が分からなくなるので、無難路線で行くならセットになっているものを買った方が無難ですw



Ichigojam本当によく作られていると思う。

素晴らしい。これがあれば日本の未来はかなり明るいと思うw

本当に素晴らしい。


まだモニターが来ていませんが、徐々にプログラミングを学んでいきます。

使う教科書はこちら「Ichigojam親子でベーシック入門」

 書籍はこちらがかなりおすすめですw

かなりガチもので、本当に素晴らしい。

この教本の最後には数百円で売られているソースコードが5本ほどついているので最終的にはゲームが作れるまで理解度が高められます。

こういうのファミコンベーシック、MSX時代にやって欲しかったなーw

まあ実際に色々と教材やら教育みたいなものが盛んにやっていたのだとは思うが、やはり情報弱者だったために何も知らずに育ってしまい、かなり損したと思うw

もしも、あの頃、理解ある親がコンピューターを買い与えてくれて、そうしたコンピューター教育を受けるラッキーな経験をしていたなら別の人生が広がり、今頃プログラマーとして活躍していたかもしれませんねw

まあファミコンベーシック、MSX basicすら持っていませんでしたが、あれでプログラマーになった人はかなり多いと思うw

この本があれば、できない人はいないと思うし、こうした教育本があれば日本の未来は明るいw

本当に素晴らしいと思う。日本だけ一人勝ちしてしまうかもしれんなw

 

小学生からスーパープログラマーがたくさん誕生しているみたいだし、すごい時代になってきたw

 

IchigoJam Basicを覚えたら、Swichのプチコン、アクションゲームツクールなど実際のゲーム制作ツールを利用してプログラム制作の範囲を広げていき、最終的にSwitchでゲーム公開できるようになるまで頑張りますw

https://www.petc4.smilebasic.com/

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

あとやりたかったBasicコマンドでの音楽制作もIchigojamやプチコンでやればプログラミング音楽制作も楽しめるので、こちらもやっていきます。

まず最初はBasicが一番最良の選択かと思いますw 

 

●変数、goto、Ifを使ったアニメーション 教本P40〜P56〜P62

 



ここから改良型の縦アニメーションでロケット型にしてみたw


花火でもいいけどw

花火の場合、そのまま処理可能だが、あえてデータ処理方式で作ってみてもありで、3つまでセーブできるが・・・まあLoadするだけなんでまあ学習するほどでもないので、そのまま追加行でw


花火表示修正別バージョンがダブリング表示でドクロストーンみたいになったけど味があるw 

爆発アニメを追加作成して一定の高さで爆発アニメに拡張すれば花火の出来上がりw

祝ブログラミングスタートみたいなw

次に音も付けてみる。などなど夢は広がり、拡張させていくみたいなw


最初にやって感動するのがキャラベースのアニメーションかとw

たったこれだけで、ものすごい嬉しいwおっさんになった今でもw

これがスプライトキャラとか動かすと感動ものですw

ファミコンベーシックでマリオとか動いたり、コントローラーで動かせたりしたら最高だったでしょうwあの時代ファミコンベーシックでこれをやっていた人、持っていた人は本当に羨ましいw

あとこういう教本の当時、かなり少なく、また情報もごく限られた雑誌や専門書籍だけで、何をみたら学べるのか?どうやればいいのか?すら分からず機械だけ手に入れて終わった人も多いはずw今はこうした環境が整っていることが本当に素晴らしいと思う。

 


#1耳コピーを鍛える 新シリーズで街角の音楽をソルフェージュして鍛えていきますw

とにかくなんとなくスタートw

身近な聞こえてきた音楽、音を覚えて、鍵盤で弾いてみましょう。

呼び込みくん


 

Bbかな?

|Bb Bb〜 C Bb G Bb|

|・//・|

|Eb Eb Eb F G〜|

|Eb F〜 Bb Bb〜|

 

|Eb Eb Eb F G〜|

|Eb Eb Eb F G〜|

|F F F Eb F〜 G |

|Bb Ab G F〜|

 

こっちは俺間違いバージョンw

|Eb Eb Eb F G〜|

|Eb Eb Eb F G〜|

|F F F Eb F〜 G |

|Bb Ab G F〜|

こっちの方がいい感じで転調して面白いと思うw


すぐにネタ切れなんで、不定期にw

セガ、マクドに続いてこれくらい、あとドンキーくらいしかないw

あとは何かあるかなー?

意外と無いなー。


腹が立つのは相手が人間で言葉を発するからであり、自分への挑発行為があるからであるなら、反応しないようにするにはどうすればいいのか? それは単に停止すること、一旦停まること。

またまた無言のメッセージありがとうございます👍  2021年8月29日日曜日 日曜日は有難いお説教の日でございますw 煩悩=反応しないことの訓練。 素晴らしい教えですね。 反応しないことは、簡単なことではないので、少し考えて実践して行きたい。 怒りはやはり反応した結果である。 ...