第13回目、審査員するのも13回目となった鯖江市地域活性化プランコンテスト。 今年は初のオンライン開催。全国の精鋭18名の大学生、高校生が市長になったつもりでプランを立案し、プレゼンテーション! 運営の学生団体withをはじめ、多くの鯖江市民、そして鯖江市長も参加し、ツールを駆使して作り上げた6プラン、いよいよ最終発表会。

市長をやりませんか?プレゼンテーション!(全編3時間)
下記、プラン毎の先頭から見られるリンクと共にふりかえります!
(リンク作成 by 今日の一日一創、自作ツール、YouTubeのシークリンクメイカー


チーム ワシントン イクメンのまち鯖江「sa-bapapa育成プロジェクト」(動画)
女性活躍のまち、「ジェンダー平等」を中心にSDGsを推進するまちとして関心高い、男女共同参画。課題は父親の理解と参画。 統計上、育児や家事に関わる時間が圧倒的に短い男性向けに、学生ならではの企画で誘う、イクメンへの道。 ポイント制にし、提携企業との接続もいいアイデア。子育て技能を競うコンテスト、母親が楽しめるイベントとセットにするのもいいかも?


チーム ニュートン 鯖江立国案(動画)
鯖江国が発行するパスポートアプリを使って、楽しくお得に巡れる新観光。地元民の紹介があると観光はぐっと楽しくなる! スタティックな観光地ではなく、その人の個性に合わせたダイナミックなイベントや人とのつながりと出会う旅、おもしろくなりそうです。 国が発行するパスポートをイメージするとちょっと違うかなと思いましたが、年間パスポート的なイメージですね。 鯖江入国に必要なビザを、どういう思いで行くのかと合わせて申請すると、その人にぴったりなプランや補助が付いてくる感じもいいかも。


チーム ミケランジェロ 日本一論文が書きやすいまち(動画)
大学生活の集大成、卒論。社会学、地方創生を学ぶ学生の聖地、鯖江を目指し、その研究がっつり滞在しながらやってもらおうプラン。 研究に必要なオープンデータがうれしいと、うれしいコメント! アート好き学生の河和田アートキャンプ、ものづくり好きな学生向けjigインターンにも通じるものがありますね! それぞれの成果がつながるともっと楽しい! (jigインターンも2020年はオンライン開催でした)


チーム シェークスピア #勝手に鯖ギネス(動画)
Hana道場、Hana工房、提案型市民主役事業など、チャレンジする人が活躍する場はあるけど、そこへの一歩が踏み出せない学生が多いという課題に着目した、チャレンジはじめのいっぽ的プラン。 気軽に楽しく挑戦できる種目から、クラス一位、学校一位、鯖江一位を目指そう!勝てる種目は創ればOK!誰でもきっと何かではナンバーワン! 小学生でも記録を簡単にアップロードするIoTと、記録を一覧できるダッシュボードを導入すれば、チャレンジ魂に火がつくはず!


チーム コロンブス 鯖江市役所東京課(動画)
地方に関心ある東京の高校生と、東京に関心ある鯖江の高校生を短期交換留学しよう的プラン。テレビやメディアで見ているイメージ、実際のところどうなのだろう? 観光地ではない日常を見ると見えてくる、東京や地方のメリット・デメリット。これからの日本の未来をあり方を考えるきっかけになりそうです。 コロナ禍で活用したいオンライン。オンラインであれば、東京だけでなく、世界どの国でも条件は一緒! シンプルな英語と、翻訳ツール、お絵かき、動画、いろいろ駆使すれば、なんとかなります!


チーム ロック 日本一「音の変態」が多いまちサバエ(動画)
レキシの池ちゃん、「ROAD CORD」PVづくりでご一緒した竹内朋康さん、エレクトーン奏者826aska、ファンキーな先生植田薫さん! 吹奏楽が強く、JR駅発着音も特注で、夕方にも音楽が鳴る、実は鯖江は音楽のまちでもある。 そこに着目し、手軽に始められるDTM(コンピューターを使ったデスクトップミュージック)を小中学生のプログラミング教育にも採り入れ、大いに推奨していこうというプラン。 夕方の音楽、鯖江駅前の歩行者信号の音楽、コンテストで選んじゃうというプラン、おもしろい! IchigoJamでもできるお手軽DTM、PLAY文を使った作曲、すでに人気です。初音ミクを産んだクリプトン・フューチャー・メディアの伊藤さん、鯖江に来ていただく理由がひとつ増えました! コミュニケーションにおける「音」の重要性が、広く再認識されたコロナ禍、サウンドエンジニアによる新しい音の可能性を追求する「変態」増やしましょう!


withの部屋(動画)
審査時間を利用して開催された、学生団体withによる運営舞台裏話。審査で聞けなかったので、先程YouTube視聴。 告知用のステキ動画、企画、出演、撮影、編集、BGM、才能豊富!


ステキなきっかけを提供してくれた18名の学生市長のみなさん、ありがとう!!


鯖江市長の牧野さん、市長として参加する最後のプラコン、花束が贈呈されました。
市長とプランを全部実現しようとする市役所の力あってのプラコン13年、ありがとうございました!


学生団体with作、コンテスト参加者募集動画!BGMが良い感じ!MR映像、凝っていて良い!


こちらは観覧車募集動画、西山公園からのHana道場へスムーズにつながる編集が気持ちいい!


学生団体wthのみなさん、ステキな運営、ありがとう!次は地元民のターンだ!

links
- 第12回 鯖式会社のJK社長、鯖江市長YouTuber、物々交換で鯖江を目指せ! わがまま学校、落書きOKオープンデータ、次世代スケボー新交通!? 自由な6プランの発表
- 第11回 鯖江市地域活性化プランコンテストの参加賞、鯖江生まれのパソコン IchigoJam の鯖江スペシャル MeganeJam 組み立て動画
- 第10回 自分達をターゲットにする企画の強さ / 第10回鯖江市地域活性化プランコンテスト決勝!
- 第9回 プランづくり3つのポイント
- 第8回 鯖江×都会の学生=未来の日本!
- 第7回 まちの活力三要素を取り入れる仕組み
- 第6回 地域活性化の要
- 第5回 第5回 Facbookアルバム
- 第4回 ~まとめ~|きらきら星のつぶやき☆
- 第3回 まとめ|きらきら星のつぶやき☆
- 第2回 学生が活躍できるまち鯖江鯖江週末写真家)
- 第1回 参加学生によるもみじまつり出店

音楽にぴったり合うコンピューターグラフィクス(CG)とは?
色、形、配置、動き、テイスト、組み合わせは無数にあり、正解があるわけではないところがおもしろさ。
自分だけの「ぴったり」を見つけてみよう!

初音ミク「マジカルミライ 2020」プログラミング・コンテスト」で使用するAPI、TextAliveにて、グラフィクス表現の例がオープンソースで公開されていました。


https://taisukef.github.io/textalive-template/」(src on GitHub)
歌詞表示のテンプレート、場面転換のモーショングラフィクス、ベースライブラリとなるその他、3種類のコードが、ブラウザ上で動かして確認できる「(プログラミングしよう | textalive.jp」を、いくつかESモジュール化しました。

まずは、お気に入りのPVの一部を真似てみるところから始めるのもいいですね!


『MY TOWN RIDDIM』 Sing J Roy & PETER MAN 感謝
こちら、10年前、撮影と編集と編集用のソフトウェア開発を担当したPV作品。CGバージョンを作って見るのもいいかも!

ビジネスには収益と収穫がある。自分の好きなことをとことん深め、その周辺から広くカバーするT字型。地域を盛り上げる存在、クリエイター。北海道で活動する、クリプトン・フューチャー・メディアの伊藤さんとの、刺激的な時間でした!


MITベンチャーフォーラム」の月例セミナー


初音ミク「マジカルミライ 2020」プログラミング・コンテスト
テーマ曲の歌詞をかっこよく表示するオープンソースなwebアプリのコンテスト開催とのこと! 音楽好きな人、プログラミングにチャレンジするいいチャンスです!プログラミングの力で創作文化を彩ろう!


TextAlive App API | basic example
歌詞を取得するAPI「TextAlive App API」を使ったサンプルを node.js を使わないバージョンに改造してみました。 HTML/CSS/JavaScript、それぞれ短い1ファイルずつ、テーマ曲の歌詞が流れるタイミングに合わせて自由に表示できます!(src on GitHub)


イベントでもご紹介したオープンデータの力「COVID-19 Japan 新型コロナウイルス対策ダッシュボード」からCSVオープンデータをグラフ化して見る現状。 オープンデータも、自分だけの表現に使える素材!

好きなものとことん創りましょう!

音楽を盛り上げる照明。ライブで気になる、数々の派手に動く照明の制御方法。 DMX512という1986年から開発が始まった、比較的古い仕様が現役で使われているようです。縦と横に動く、ムービングライトを制御してみました。


100Vの電源につなぐ照明なので、動きも明るさも派手でいい感じ!
U`King LEDステージライト 小型ムービングヘッド 20W RGBW  ムービングライト スポットライト 11/13 チャンネル DMX 512対応 両方向連続回転可能 ディスコライト /ミラーボール / 舞台 / 演出 / 照明 - Amazon


ムービングライト、裏にあるDMX512の入力と出力端子。デイジーチェーン(数珠つなぎ)して、多数の照明をまとめて制御します。


DMX512対応の照明の他に用意するのは、ケーブルとソケットと線材を少々。


ピンソケット4ピンを使って、はんだづけして実験用のソケットを作ってみました。(実用する場合はワイヤーを直接はんだづけし、ケースに入れるなどがオススメです)


使うのは3ピンだけ。GNDと+-逆になった信号線に250kbpsのシリアル信号が流れます。


ソケットにも描いてある番号、1:GND、2:Data-、3:Data+をそれぞれ、IchigoJamのGND、OUT1、OUT2へとつなぎます。


ムービングライトの仕様書。DMX512、512チャンネルある内の13チャンネルまたは、11チャンネルを使って制御します。 同じチャンネルにすると、同期して動きます。 使用するチャンネル番号は、オフセットは本体のメニューで設定でき、13チャンネル使うモードで39台、11チャンネルモードで46台を個別制御することができます!

以前作ったDMX512のマシン語ドライバを使って、チャンネル毎の仕様を見ながら、まずはランダムに光らせてみる実験です!

10 POKE#700,240,181,114,182,64,24,80,33,9,2,1,49,9,4,128,38,118,0,1,34,202,96,4,39,63,2,29,55,0,240,37,248,2,34,202,96,93,39,0,240,32,248,4,120,164,0,1,52,1,48,1,34,202,96,45,39,0,240,23,248,1,37 20 POKE#73E,3,120,1,34,43,66,0,208,2,34,202,96,44,39,0,240,13,248,109,0,181,66,244,209,2,34,202,96,93,39,0,240,5,248,1,48,1,60,229,209,98,182,240,189,1,63,253,209,112,71 30 OUT1,0:OUT2,1 50 POKE#800,7,0,N,0,N,0,0,255,RND(4)*50,RND(256),RND(256),RND(256),RND(256),0,0:U=USR(#700,#800) 55 N=RND(100) 56 ?N 57 WAIT60-BTN()*50 60 GOTO 50

本体ボタンを押したら、WAITを短くして高速化!


ギュンギュンと軽快に回るので、カメラをマウントしてロボットの頭にするのもいいかもしれません。センサーと組み合わせて派手なものづくりができそうです。 実物、NT鯖江に持っていくのでお楽しみに!


こちらもDMX512コントロール可能な、派手なライト。3種類の照明がいろんのスピードで回せます。好きな曲に合わせてプログラムしたり、ゲームのエフェクトにするのもいいですね! (→ AmazonでDMX512で検索!


本日、大人向けIchigoJamはんだづけ&プログラミング!100均ビーズが活躍!


かわいいIchigoJamができました!


まったさんも、外で何か大人の電子工作してました。
ソーラーパネルでバッテリーを充電、IchigoJamで自作する「チャージコントローラー」! – about yrm

日常で気になるアレコレ、自分でやってみると新たな発見、新事業のタネにもなるかも!?
福井県こどもプログラミング協議会は、福井県のIoT化、デジタル化を応援しています。
ご興味ある方、越前がにロボコン、こどもプログラミング実業団までお問い合わせください。

ベーマガこと、マイコンBASICマガジン(を別冊付録にしている、電子工作マガジン)の出版社、電波新聞社から「ALL ABOUT namco ナムコゲームのすべて」が復刻!初版は1985年、累計30万部に加え、復刻版も売り切れ続出の大人気!

当時のナムコのゲームの詳しすぎる解説と、各コンピューターへの移植した当事者ならではの解説が楽しく、ドット絵、楽譜まで収録!

テンポ表記が1/60秒(1フレーム)なところがおもしろい!
ギャラクシアン、32分音符が1/60秒、つまり、テンポに換算するとT450(60*60/8)

PLAY"T450L32O5C>BAGFEDC>BAG

こちら上の写真、冒頭部分を打ち込んだもの。Lで省略時の長さを32分音符に設定し、このようにIchigoJamのPLAY文(MML)として打ち込んでいくと、かわいいサウンドが再現できます!

マッピー、パックマン、ディグダグなど、楽しいサウンドの裏側をMMLから学べます!なるほど、こうやって効果音つくるんですね!


なんと、35年越しのアフターフォロー。楽譜の間違いに関する訂正版も掲載!愛され具合がすごい!

読み慣れていない人にとってつらいのは楽譜。IchigoJamによる楽譜チートプログラムで楽譜の読み方、マスターしましょう!

昔作った楽譜プログラムを改造し、鬼門、シャープとフラットに対応!
楽譜の先頭にシャープやフラットがついていたら、以降はその音がシャープやフラットになっているものとして扱います。「♮」がついていたら元の音。

10 POKE#700,0,0,0,255,0,0,0,0,56,124,254,255,254,124,56,0,254,124,56,255,0,0,0,0,0,0,0,255,56,124,254,254,0,0,0,7,0,0,0,0,0,0,0,192,0,0,0,0 20 S=" C ' D ' E ' F ' G ' A ' B '<C '<D '<E '<F '<G '<A '<B ":T=0:F=4:VIDEO3 30 CLS:FORI=1TO5:LC6,I+2:?CHR$(224,224,224);:NEXT 40 LC7,8-(T+1)/2::IF T%2=0 ?CHR$(225) ELSE ?CHR$(227,28,31,226) 50 IF T=0 LC6,8:?CHR$(228,225,229) 55 IF F<4 LC6,8-(T+1)/2:?STR$("b#"+F,1); 60 LC10,8:?STR$(S+T*4,3) 70 K=INKEY():IF!K CONT 75 IF K=30||K=31 T=T-(K=31)+(K=30):T=(T+14)%14:F=4:POKES+T*4+2,32:GOTO30 76 IF!(K=28||K=29||K=32)GOTO70 77 IF T%7=2&&K=29||T%7=6&&K=29||T%7=0&&K=28||T%7=3&&K=28 GOTO60 85 F=K-28:POKES+T*4+2,ASC("-+++ "+F) 90 PLAYS+T*4:GOTO30

上下で音符を動かし、スペースでその音を鳴らす。右でシャープ、左でフラットが鳴ります。
20行の前後の空白、大事です。後ろの空白部分に+や-を書き込んで、90行で演奏しています。

おや、フラットが効かないところがある?実は77行で制約をかけています。

ピアノの鍵盤、黒鍵はドレミの間に2つ、ファソラシの間に3つ。シャープがない音、フラットがない音をスキップしています。平均律では、C+はD-と同じ音。

効果音としてよく使う、なめらかにアップダウンさせるテクニックとして随所に登場!


レトロテイストのゲーム、IchigoJam BASIC、IchigoCake BASICで作ってみませんか?表紙裏にはPCN(プログラミング クラブ ネットワーク)


ゲームに関する研究具合がすごい!なんとフィルムカメラで撮影した画面写真を張り合わせたマップ!!位置合わせして、現像して、切り貼りして・・・、ゲーム愛が為せる技!


おなじみファミコン版に関してもアーケード版との違いを含めた解説がマニアック!


MSX版もしっかり解説!MSXとBASICプログラミング、小3のとき出会っていなかったらどうなっていただろう。


キャラクターが「カタカナ4文字」表記のMZ-700版、マッピー!電波新聞社がナムコの許諾を得て、いろんなコンピューター向けに移植していた歴史に触れられます。


Amazon.co.jp: ALL ABOUT namco (ナムコゲームのすべて): 本
かつてのゲーム少年から、ゲームづくりに興味ある現役少年少女まで、幅広く楽しめます!増刷、お楽しみに!

links
- 特別支援学校=盲学校+聾学校+養護学校(2007年から) IchigoJamで音楽を学んで校歌演奏しよう

鯖江出身ミュージシャン、レキシの凱旋ライブが西山公園で開催!
やはりここは光る稲穂で応援にいきたい。


ヒカルイナホ2号とヒカルイナホ1号


ヒカルイナホ1号。IchigoJam制御でほんわり光、ほんわり消える。光の強さをつまみ式の可変抵抗でコントロール可能。 設定スイッチをいれると色選択モードになり、色相と彩度(ボタン押しながら)を可変抵抗で変更可能。


両面から見られるようにテープ状のフルカラーLEDをオモテウラ貼り付けることを想定。IchigoJamとブレッドボードで回路とプログラムを作成し、ユニバーサル基板でコンパクト化開始。


光った!


IcihgoJamの分離合体バージョン、IchigoDakeとモバイルバッテリー、ヒカルイナホボード、可変抵抗を組み立てて使用。マスキングテープはそこそこ強度があって、後できれいにはがせて便利。


ついでにもうひとつ簡易版、ヒカルイナホ2号。3つのタクトスイッチで光の3原色をダイレクトに体感。
曲に合わせて7色から選べる。


単3電池x2を電源に、フルカラーLEDの赤、緑、青に抵抗10Ωを通して並列に接続した、ヒカルイナホ2号。 ライブでの振られるイナホ、振ると線が抜ける、切れることが判明しホットボンドで強化。


多くのレキシファンで賑わった西山公園。


GW中の立ち入り制限は前代未聞!?


フードエリア、コトブキ食堂。サバエドッグには長蛇の列!(写真のサバエドックは誤植?)


こちら連隊カレエ。鯖江には大日本帝国陸軍「歩兵第36連隊」が駐屯してました。その三六町(さんろくちょう)にある、サラダ焼きも手軽でおすすめ鯖江ご当地グルメ!
三六サラダ焼 | 三六商店(さんろくしょうてん)公式サイト


物販に並ぶ列と癒やしのつつじ、5万株(西山公園内)


レキシ10周年!凱旋ライブ!!レキシのライブに遊びに来ねの〜〜 2018.4.29 福井県鯖江市西山公園
ちょっと暑いくらいの最高の天気に恵まれた! (来ねの、は福井弁、来てね、来たらいいんじゃない?的意味)

「歴史ブランニューデイ」メンバー、レキシネーム「足軽先生」のいとうせいこうさん、レキシネーム「三つ子の魂百男」鯖江市の牧野百男市長も登場。

市長がPV冒頭35秒間出演している「歴史ブランニューデイ」のPV、再生回数100万回オーバー!
「君がいない幕府」でも市長は福井弁ラップ(?)で出演。縁が深い、レキシとサバエ。

ヒカルイナホ1号 プログラム解説
ハードウェアを準備する。IN3(=OUT10)-DIN(WS2812B), IN2-可変抵抗, IN1-設定スイッチ

10 A=#700:OUT10,0 20 POKEA,240,181,114,182,64,24,80,33,9,6,128,49,4,136,1,48,128,37,1,48,3,120,~0,34,10,96,3,39,10,38,43,66,1,208,10,39,3,38,1,63,~2,209,0,34,10,96,1,62,~2,209,109,8,239,209,1,60,234,209,98,182,240,189 RUN POKE#800,6,0,0,255,0,0,255,0:?USR(#700,#800)

光る大五郎、WS2812Bをプルアップ抵抗を付けて5Vを出力できるオープンドレインなIN3(OUT10)用に変更、2つ赤く光る

500 @HSV2RGB 505 R=V:G=V:B=V:IF S=0 RTN 510 D=H/60%6:C=V-(59-H%60)*V/60*S/100:E=V-H%60*V/60*S/100:F=V*(100-S)/100 520 IF D=0 G=C:B=F 530 IF D=1 R=E:B=F 540 IF D=2 R=F:B=C 550 IF D=3 R=F:G=E 560 IF D=4 R=C:G=F 570 IF D=5 G=F:B=E 580 RTN 400 GSB@HSV2RGB:POKE#800,6,0,G,R,B,G,R,B:U=USR(#700,#800):RTN H=30:S=100:V=30:GSB400

HSVをRGBに変換するプログラムを混ぜて、色彩豊かに光る準備完了

100 S=100:H=0 110 V=0:GSB400 120 W=ANA(2)/4 130 IF BTN() FORI=0TO4:V=V+(W-V)/2:GSB400:NEXT:FORI=0TO1:I=!BTN():W=ANA(2)/4:V=W:GSB400:NEXT:FORI=0TO4:V=V-V/2:GSB400:NEXT 140 GOTO110

可変抵抗でマックスを設定し、ほんわり光らせ、ほんわり消す

140 IF IN(1) GOTO 110 150 V=W:A=ANA(2) 160 B=ANA(2):H=(H+(A-B)/2+360)%360:A=B:GSB400 170 IF BTN() FORI=0TO1:S=100-ANA(2)/10:S=S*(S>0):GSB400:I=!BTN():NEXT:A=ANA(2) 180 IF IN(1) GOTO 110 ELSE GOTO 160

色相と彩度と設定するスイッチに対応して、できあがり!


ヒカルイナホ1号の肝、フルカラーLED(WS2812B)用ボードの裏。

プログラム全文

10 A=#700:OUT10,0 20 POKEA,240,181,114,182,64,24,80,33,9,6,128,49,4,136,1,48,128,37,1,48,3,120,~0,34,10,96,3,39,10,38,43,66,1,208,10,39,3,38,1,63,~2,209,0,34,10,96,1,62,~2,209,109,8,239,209,1,60,234,209,98,182,240,189 100 S=100:H=0 110 V=0:GSB400 120 W=ANA(2)/4 130 IF BTN() FORI=0TO4:V=V+(W-V)/2:GSB400:NEXT:FORI=0TO1:I=!BTN():W=ANA(2)/4:V=W:GSB400:NEXT:FORI=0TO4:V=V-V/2:GSB400:NEXT 140 IF IN(1) GOTO 110 150 V=W:A=ANA(2) 160 B=ANA(2):H=(H+(A-B)/2+360)%360:A=B:GSB400 170 IF BTN() FORI=0TO1:S=100-ANA(2)/10:S=S*(S>0):GSB400:I=!BTN():NEXT:A=ANA(2) 180 IF IN(1) GOTO 110 ELSE GOTO 160 400 GSB@HSV2RGB:POKE#800,6,0,G,R,B,G,R,B:U=USR(#700,#800):RTN 500 @HSV2RGB 505 R=V:G=V:B=V:IF S=0 RTN 510 D=H/60%6:C=V-(59-H%60)*V/60*S/100:E=V-H%60*V/60*S/100:F=V*(100-S)/100 520 IF D=0 G=C:B=F 530 IF D=1 R=E:B=F 540 IF D=2 R=F:B=C 550 IF D=3 R=F:G=E 560 IF D=4 R=C:G=F 570 IF D=5 G=F:B=E 580 RTN

links
- レキシオフィシャルHP うぇぶ城
- レキシさん、鯖江市で凱旋ライブ 西山公園、全国から6千人 | 催し・文化 | 福井のニュース | 福井新聞ONLINE

縁あって訪問した沖縄の特別支援学校でしたが、実体を知らなさすぎました。
特別支援学校は日本教育変革の救世主!?

漢字が分かると、なんとなく分かった気になってしまう日本語の罠。

それまでの視覚障害者向けの盲学校、聴覚障害者向けの聾学校、知的障害者・肢体不自由者・病弱者向けの養護学校が、特別支援学校という括りとなりました。 2007年に誕生した新しい言葉、25歳以上は義務教育で教わっていません。

〜自立や社会参加に向けた主体的な取組を支援するという視点に立ち、幼児児童生徒一人一人の教育的ニーズを把握し、その持てる力を高め、生活や学習上の困難を改善又は克服するため、適切な指導及び必要な支援を行うものです。
文部科学省 特別支援教育についてより)

教育方針が明確。自立と社会参加をゴールにおき、一人一人と向き合う、まさに理想的な教育機関!
いっそ子供全員が特別支援教育がいい気がしますが、現状の一人あたり教育コストは10倍。IT活用なしに実現は不可能です。

福井県には特別支援学校が13校。内、盲学校と聾学校が1校ずつ。(福井県特別支援学校一覧 - Wikipedia
盲学校ってどんな学校? | 福井県立盲学校」(実は、見えない人よりも見える人の方が多いのです)
校歌 - 福井県立ろう学校」聴覚障害の子供たちの歌声!

鯖江最寄りの「小学部紹介:福井県立福井南特別支援学校」に載っていた時間割を見ると、音楽、図画工作、自立活動と楽しそうな科目が目をひきます。 楽器としても使えるIchigoJam、自分の学校の校歌を演奏させてみましょう。

楽譜をMML(エムエムエル、ミュージックマクロランゲージという音楽を表すコンピューター言語)に変えれば、コンピューターが演奏してくれます!

PLAY"CDE2CDE2"

ドレミードレミー、チューリップの冒頭ですね
(詳しくは:IchigoJam BASICリファレンスPLAY - IchigoJamプリント

福井南特別支援学校の校歌の冒頭MMLはこんな感じ!

10 PLAY"T104FD2C.D8>B-2.<FGFE-DE-2R E-C2CE-8E-8D.E-8F8F8F8EEFGF2R" RUN

楽譜とMMLの記号との対応を見ながら演奏できるプログラムをつくってみました。

カーソル上下で動かし、スペースで音が鳴ります。

10 POKE#700,0,0,0,255,0,0,0,0,56,124,254,255,254,124,56,0,254,124,56,255,0,0,0,0,0,0,0,255,56,124,254,254,0,0,0,7,0,0,0,0,0,0,0,192,0,0,0,0 20 S=" C' D' E' F' G' A' B'<C'<D'<E'<F'<G":T=0:VIDEO3 30 CLS:FORI=1TO5:LC6,I+2:?CHR$(224,224,224);:NEXT 40 LC7,8-(T+1)/2:IF T%2=0 ?CHR$(225) ELSE ?CHR$(227,28,31,226) 50 IF T=0 LC6,8:?CHR$(228,225,229) 60 LC10,8:?STR$(S+T*3,2) 70 K=INKEY():IF!K CONT 80 IF K=32 PLAYS+T*3:GOTO70 90 T=T-(K=31)+(K=30):T=(T+12)%12:GOTO30

10行で五線と音符キャラクターをつくっています。
20行のSを80行で音階毎に鳴らしています。
キー操作ではなく、ドから順番にならすだけのプログラムはこちら(RUN on IchigoJam web)

オリジナルキャラクターづくりは、イチゴがりするかめプログラムの記事を参考にどうぞ!

links
- 特別支援教育について:文部科学省
- 特別支援学校 - Wikipedia (沿革、実体、課題など記載あり)

鯖江、めがね会館で開催、高専インターンOB/OGハッカソン「クリエイティビティーを刺激せよ!」
10時からネタ出しチーム分け、昼食後、13時から開発開始、17時発表までの4時間で勝負!

それぞれで楽しいチーム開発が進みます。

現役インターン生とインターンOB/OGの混合チーム。

小学生でも優しく作れる、だれでもSPARQL、SPRACH。

創造活動を応援してくれる、ちあがーるふれんど(仮

各チーム毎に自分以外に1票いれて選ぶ、優勝チームは「Waku2Pad」

他の作品も楽しかった!
- おやつアート - オープンデータなお菓子画像で創造&爆発
- いらすと屋2.0 - 気軽なイラスト共有プラットフォーム
- このゆびとまれ - 創造活動チームを組成支援

各チームのちょっとだけ手伝いしつつ、終盤は一人チームでつくった、クリエイティビティーを高めるBGM。
ぬいぐるみにNFCをつけ、気分に合わせたBGMが聞いて、気分をアゲようという提案!

IchigoJamのプログラムは過去作品の組み合わせ!
RFIDで読み取ったIDを乱数の種に、MIDIで音階を自動生成するプログラムに連携します

10 LET[0],36,38,43,50,42,46,39,75,67,49 20 BPS 31250:UART1 30 SRND S 40 FOR I=0 TO 7 45 T=[RND(10)] 50 ?CHR$(#90,T,80); 60 WAIT 10 65 ?CHR$(#80,T,0); 66 IF BTN() BPS0:LRUN0 70 NEXT 90 GOTO 30

KORG plugKEYを使うと、iPhone/iPad/iPod touchがIchigoJamから使える高音質MIDI楽器に早変わり!
動画の楽器アプリはYAMAHAのFM音源アプリ「FM Essentia」MIDIコントロール可能!

KORGの音源アプリも、MIDIで接続できる!

IchigoJamのかわくだりゲームを改造して遊ぶ高専生達。

また来年!

FM音源チップ、YMF825、IchigoJam BASICで鳴ったので、次は楽器づくり!
問題は、BASICでは遅いこと。音を鳴らすための2byteのSPI送信5回に、0.73秒もかかっているので、ゆっくりチャイムを鳴らすくらいしか使えません。
* SPIとは、クロックに合わせて信号を送受信するシンプルな通信方式 (SPI on Wikipedia)


FM音源キーボード on IchigoJam デモ動画

おや!?小気味よく鳴ってますね!これがマシン語パワーです!
復習を兼ねて、OUTポートをマシン語で使う実験をしてみます。(参考、マシン語でLEDを光らせよう

LEDが接続されている端子は、PIO1_5、アドレスとしてはPIO1のベースアドレス#50010000に、2進数の`10000000(= 1<<(5+2))を加えた場所に書き込めばOK!

@LED1 R3=#50 ' R3=#50010000 R3=R3<<8 R3=R3+1 R3=R3<<16 R2=`10000000 R3=R3+R2 R2=R2>>2 [R3]L=R2 ' GPIO1_5 <- 1 RET

asm15アセンブラを使うか、ハンドアセンブルして、できたマシン語コードを動かしてマシン語でLED1!

POKE#700,80,35,27,2,91,28,27,4,128,34,155,24,146,8,26,96,112,71 ?USR(#700,0)

次はBASICでつくったSPI送信をマシン語化します。

@SPIW:OUT4,0:FORI=0TO15:OUT2,0:OUT3,N>>(15-I)&1:OUT2,1:NEXT:OUT4,1:RTN

まずは分解!

OUT4,0 FORI=0TO15 F=N>>(15-I)&1 OUT2,0:OUT3,F OUT2,1 NEXT OUT4,1 RTN

ひとつずつマシン語化すれば、できあがり!

@SPIW R3=#50 ' R3=#50010000 R3=R3<<8 R3=R3+1 R3=R3<<16 R2=0 [R3+`1000]L=R2 ' OUT4,0 R1=1 R1=R1<<15 @LOOP R2=0 R0&R1 'F=N>>(15-I)&1 IF 0 GOTO @SKIP R2+=4 @SKIP [R3+`110]L=R2 ' OUT2,0:OUT3,F R2+=2 [R3+`110]L=R2 ' OUT2,1 R1=R1>>1 IF !0 GOTO @LOOP @END R2=8 [R3+`1000]L=R2 ' OUT4,1 RET

アセンブラasm15を使って2byte送信SPIマシン語バイナリができました!
送信したい16bitの数値を、USRコマンドの第二パラメータにいれるだけ!(マシン語にはレジスタR0として渡される)

POKE#700,80,35,27,2,91,28,27,4,0,34,26,98,1,33,201,3,0,34,8,66,0,208,4,50,154,97,2,50,154,97,73,8,246,209,8,34,26,98,112,71

準備ができたので、早速楽器づくり、まずはIchigoJamのボタンを使った単音楽器で実験!
前回のYMF825の初期化プログラムを動かし、音がなる状態にしてからNEW、次のプログラムを入力。
*マシン語化した初期化プログラム、後述します

1 'FM BTN 10 A=#700:POKEA,80,35,27,2,91,28,27,4,0,34,26,98,1,33,201,3,0,34,8,66,0,208,4,50,154,97,2,50,154,97,73,8,246,209,8,34,26,98,112,71 20 T=#1465 30 IF !BTN() CONT 40 U=USR(A,#0B00):U=USR(A,#0C54):U=USR(A,#0D00+T>>8):U=USR(A,#0E00+T&#FF):U=USR(A,#0F40) 50 IF BTN() CONT 60 U=USR(A,#0F00) 70 GOTO 30

ボタンを押したら鳴り始め、離したたらキーオフ!
反応速度もいい感じ!いろんなボタンをつなげて遊べそうですね!
*時間を測ってみると、1回の送信でTICKで1、約1/60秒、100倍速い!

次は、キーボードで楽器キーボードをつくってみます。
キーボードのZXCがドレミ、SDなどで半音にも対応します。

1 'FM KEYBOARD 10 A=#700:POKEA,80,35,27,2,91,28,27,4,0,34,26,98,1,33,201,3,0,34,8,66,0,208,4,50,154,97,2,50,154,97,73,8,246,209,8,34,26,98,112,71 100 FORI=0TO15:U=USR(A,#0B00+I):U=USR(A,#0F30):U=USR(A,#1071):U=USR(A,#1101):U=USR(A,#1208):U=USR(A,#1300):U=USR(A,#0C54):NEXT 200 LET[0],357,378,401,425,450,477,505,535,567,601,637,674 210 M="ZSXDCVGBHNJM,L." 220 K=INKEY():IF!KCONT 230 N=0 240 IF PEEK(M+N)=K GOTO300 250 N=N+1:IF N=15 GOTO 220 260 GOTO240 300 ?N:T=[N%12]:B=4+N/12:T=T&#7F+T>>7<<11+B<<8 310 U=USR(A,#0B00+N):U=USR(A,#0F00): 320 U=USR(A,#0D00+T>>8):U=USR(A,#0E00+T&#FF):U=USR(A,#0F40) 330 GOTO 220

キーは離されたタイミングが取得できないので、キーが押された時に、キーオフ(310行)してから、キーオン(320行)するようにしています。

ついでに、初期化コードもマシン語で高速化!

1 'FM INIT 10 OUT1,0:WAIT1:OUT4,1:OUT1,1 13 A=#700:POKEA,80,35,27,2,91,28,27,4,0,34,26,98,1,33,201,3,0,34,8,66,0,208,4,50,154,97,2,50,154,97,73,8,246,209,8,34,26,98,112,71 14 S=#728:POKES,80,35,27,2,91,28,27,4,128,33,0,34,8,66,0,208,4,50,154,97,2,50,154,97,73,8,246,209,112,71 15 'INIT 20 LET[0],#1D01,#020E,-1,#0001,#0100,#1AA3,-1,#1A00,-30,#0204,-1,#0204,-1,#0200,#197C,#1B3F,#1400,#0301,#08F6,-21,#0800,#09FB,#0A00,#01740,#1800,0 22 FORJ=0TO99:N=[J]:IF!N J=99:GOTO26 24 IF N<0 WAIT -N ELSE U=USR(A,N) 26 NEXT 30 'SETCH 31 LET[0],#0F30,#1071,#1101,#1208,#1300 32 FORJ=0TO4:U=USR(A,[J]):NEXT 40 'SETTONE 41 U=USR(A,#08F6):WAIT1:U=USR(A,#0800) 42 LET[0],7,#81,1,#43,0,#E7,#FF,#9D,0,#10,#40,#20,#33,#E2,#73,0,#50,#40,#10,#41,#D3,#5B,0,#10,#41,#20,#63,#D4,2,1,#10,#40,#80,3,#81,#80 43 M=36 50 @SPIAW:OUT4,0:FORK=0TOM-1:U=USR(S,[K]):NEXT:OUT4,1

配列をSPIで送信する @SPIAW の内部、8bitのSPI送信もマシン語化しました(アドレス#728=S)

@SPI1W R3=#50 ' R3=#50010000 R3=R3<<8 R3=R3+1 R3=R3<<16 R1=#80 @LOOP R2=0 R0&R1 'F=N>>(7-I)&1 IF 0 GOTO @SKIP R2+=4 @SKIP [R3+`110]L=R2 ' OUT2,0:OUT3,F R2+=2 [R3+`110]L=R2 ' OUT2,1 R1=R1>>1 IF !0 GOTO @LOOP @END RET

BASICで作ったFM音源音色エディタをマシン語化!

1 'FM EDITOR 5 CLS 10 ?" 1 BO 3:";[40] 20 ?" 2 LFO 3:";[41] 30 ?" 3 ALG 7:";[42] 40 LET[80],"SR 15","XOF 1","KSR 1","RR 15","DR 15","AR 15","SL 15","TL 63","KSL 3","EAM 1","DAM 3","EVB 1","DVB 3","MUL15","DT 7","WS 31","FB 7" 50 FORJ=0TO1:FORI=0TO16:LCJ*15,3+I:?DEC$(4+I+J*17,2);" ";STR$([80+I]);":";[43+I+J*17]:NEXT:NEXT 60 INPUT"ID :",I 70 INPUT"VAL:",V:[39+I]=V 75 GSB@TESTTONE 80 GOTO 5 100 @TESTTONE 110 LET[0],7,#81,[40],[41]<<6+[42] 120 FORJ=0TO1:P=43+J*17 130 LET[4+J*7],[P]<<4+[P+1]<<3+[P+2],[P+3]<<4+[P+4],[P+5]<<4+[P+6],[P+7]<<2+[P+8],[P+9]<<4+[P+10]<<5+[P+11]+[P+12]<<1,[P+13]<<4+[P+14],[P+15]<<3+[P+16] 132 NEXT 141 U=USR(A,#08F6):WAIT1:U=USR(A,#0800) 143 M=36:GSB@SPIAW 150 T=#1465 160 U=USR(A,#0F00):U=USR(A,#0B00):U=USR(A,#0C54):U=USR(A,#0D00+T>>8):U=USR(A,#0E00+T&#FF):U=USR(A,#0F40) 180 RTN 1010 @SPIAW:OUT4,0:FORK=0TOM-1:U=USR(S,[K]):NEXT:OUT4,1:RTN

YMF825初期化コード実行後に動かし、いい音色ができたら、ボタン楽器や、キーボード楽器で演奏しよう!

Enjoy to create original musical instruments with FM!
オリジナル楽器作りを楽しもう!

links
- YMF825 x IchigoJamで鳴らすFM音源チャイム、BASICでつくるYMF825Board用FM音源エディタ (ハードウェア準備、接続方法)
- YMF825Board GitHubPage へようこそ!
- ヤマハ製YMF825使用FM音源LSIモジュール: 組立キット 秋月電子通商 電子部品 ネット通販
- ヤマハFM音源LSI YMF825搭載モジュール YMF825Board - SWITCH-SCIENCE

- 連載、IchigoJamではじめる、Armマシン語入門
1. はじめてのマシン語
2. ハンドアセンブルで超速計算!
3. マシン語メモリアクセスで画面超速表示!
4. マシン語でLEDを光らせよう!
5. 楽しさ広がるマルチバイトメモリアクセスとスタック
6. マシン語使いこなしTIPS
7. カジュアルに使うインラインマシン語
8. アセンブラを使って楽しよう
9. マシン語で高速SPI
10. マシン語を制するもの時間を制す
11. 画面をイチゴで埋め尽くす12の方法
12. レジスタ不足に上位レジスタとスタック操作
13. コンパイラはじめのいっぽ、EVAL実現法とマシン語生成
14. サイズを取るかスピードを取るか、割り算のアルゴリズムとマシン語実装
15. マシン語化で1万倍速!? セットで学ぶアルゴリズムとコンピューター

三島で見た謎FM音源MFTで入手したYAMAHAYMF825Board、IchigoJam BASICで鳴らすことに成功! 標準装備のPSG音源、シリアル2本ケーブルで制御するMIDI音源に加え、FM音源もOK!FM音源といえば、MSX2+を買ってもらって音楽の教科書からいろいろ打ち込んで遊んでました。PLAY#2!


FM音源で鳴らす、学校のチャイム風!

YMF825Boardの使い方
※3.3Vで使うために基板にちょっと工作が必要です(YMF825Board Rev.Aを見て、8/15追記)

小さな抵抗 R0 を外し、S1にあるパッド3つをはんだでつなぐ(はんだブリッジ)ことで、SPIの信号が3.3Vで使えるようになります。


R0 は、はんだ吸い取り線を重ねて上から熱しながらピンセットで取りました。


難関だったS1のはんだブリッジ、3つのパッドが全部つながるようにはんだが乗ればOK!
今回はなかなかうまくつかないので諦めて、回路図からICの8ピンVDDと9ピンIO/VDDに3.3VがつながればOKとわかったのでLEDなどの線の切れ端を使ってS1の大きいパッドからIC8ピン9ピンの間とをはんだづけ。
(パッド間がもっと近いと楽になりそう)


SPIで制御するYMF825Boardとの接続はジャンパーワイヤー7本。
電源で3本、5V/3.3V/GND
RST_N (リセット) - OUT1
SCK (クロック) - OUT2
MOSI (データ送信) - OUT3
SSN (チップセレクト) - OUT4
ステレオジャックに、イヤホンかスピーカーに接続すればOK!

こちらドレミファソと鳴るテストプログラム

10 OUT1,0:WAIT1:OUT4,1:OUT1,1 15 'INIT 20 LET[0],#1D01,#020E,-1,#0001,#0100,#1AA3,-1,#1A00,-30,#0204,-1,#0204,-1,#0200,#197C,#1B3F,#1400,#0301,#08F6,-21,#0800,#09FB,#0A00,#01740,#1800,0 22 FORJ=0TO99:N=[J]:IF!N J=99:GOTO26 24 IF N<0 WAIT -N ELSE GSB@SPIW 26 NEXT 30 'SETCH 31 LET[0],#0F30,#1071,#1100,#1208,#1300 32 FORJ=0TO4:N=[J]:GSB@SPIW:NEXT 40 'SETTONE 41 N=#08F6:GSB@SPIW:WAIT1:N=#0800:GSB@SPIW 42 LET[0],7,#81,1,#43,0,#E7,#FF,#9D,0,#10,#40,#20,#33,#E2,#73,0,#50,#40,#10,#41,#D3,#5B,0,#10,#41,#20,#63,#D4,2,1,#10,#40,#80,3,#81,#80 43 M=36:GSB@SPIAW 60 'KEYON 65 LET[50],#1465,#1C11,#1C42,#1C5D,#2417 70 FORM=0TO4:N=[50+M] 75 ?N 80 LET[0],#0B00,#0C54,#0D00+N>>8,#0E00+N&#FF,#0F40 90 FORJ=0TO4:N=[J]:GSB@SPIW:NEXT 100 WAIT30 110 N=#0F00:GSB@SPIW 125 NEXT 130 GOTO70 1000 @SPIW:OUT4,0:FORI=0TO15:OUT2,0:OUT3,N>>(15-I)&1:OUT2,1:NEXT:OUT4,1:RTN 1010 @SPIAW:OUT4,0:FORK=0TOM-1:N=[K]:FORI=0TO7:OUT2,0:OUT3,N>>(7-I)&1:OUT2,1:NEXT:NEXT:OUT4,1:RTN

ArduinoのサンプルをIchigoJam BASICに移植)

YMF825にはプリセット音源はないため、音色パラメータを最初に書き込んであげる必要があります(42行)。
FM音源攻略のため、2オペレータのパラメータを編集できるFM音源エディタをつくってみました。

YMF825 FM音源エディタ on IchigoJam

まずはYMF825の初期化コード

1 'FM INIT 10 OUT1,0:WAIT1:OUT4,1:OUT1,1 15 'INIT 20 LET[0],#1D01,#020E,-1,#0001,#0100,#1AA3,-1,#1A00,-30,#0204,-1,#0204,-1,#0200,#197C,#1B3F,#1400,#0301,#08F6,-21,#0800,#09FB,#0A00,#01740,#1800,0 22 FORJ=0TO99:N=[J]:IF!N J=99:GOTO26 24 IF N<0 WAIT -N ELSE GSB@SPIW 26 NEXT 30 'SETCH 31 LET[0],#0F30,#1071,#1100,#1208,#1300 32 FORJ=0TO4:N=[J]:GSB@SPIW:NEXT 33 FORI=0TO37:[I+40]=0:NEXT 35 LRUN2 1000 @SPIW:OUT4,0:FORI=0TO15:OUT2,0:OUT3,N>>(15-I)&1:OUT2,1:NEXT:OUT4,1:RTN SAVE0

2番ファイルに保存するメインのエディタプログラム(初期化プログラムの35行で呼び出し)
最初のINPUTで番号を指定して、次のINPUTで値を設定(各パラメータに書いてある最大値を超えないように注意)

1 'FM EDITOR 5 CLS 10 ?" 1 BO 3:";[40] 20 ?" 2 LFO 3:";[41] 30 ?" 3 ALG 7:";[42] 40 LET[80],"SR 15","XOF 1","KSR 1","RR 15","DR 15","AR 15","SL 15","TL 63","KSL 3","EAM 1","DAM 3","EVB 1","DVB 3","MUL15","DT 7","WS 31","FB 7" 50 FORJ=0TO1:FORI=0TO16:LCJ*15,3+I:?DEC$(4+I+J*17,2);" ";STR$([80+I]);":";[43+I+J*17]:NEXT:NEXT 60 INPUT"ID :",I:IF I=0 LRUN3 70 INPUT"VAL:",V:[39+I]=V 80 GOTO 5 SAVE2

何も入力せずエンター(または0入力)で、テストで鳴らす音プログラム3番に

1 'FM TEST TONE 10 LET[0],7,#81,[40],[41]<<6+[42] 20 FORJ=0TO1:A=43+J*17 30 LET[4+J*7],[A]<<4+[A+1]<<3+[A+2],[A+3]<<4+[A+4],[A+5]<<4+[A+6],[A+7]<<2+[A+8],[A+9]<<4+[A+10]<<5+[A+11]+[A+12]<<1,[A+13]<<4+[A+14],[A+15]<<3+[A+16] 32 NEXT 41 N=#08F6:GSB@SPIW:WAIT1:N=#0800:GSB@SPIW 43 M=36:GSB@SPIAW 60 'TEST TONE 66 W=30:B=4 70 A=357:GSB@KON:WAITW:GSB@KOFF 130 LRUN2 300 @KON:N=A&#7F+A>>7<<11+B<<8:LET[0],#0B00,#0C54,#0D00+N>>8,#0E00+N&#FF,#0F40 310 FORJ=0TO4:N=[J]:GSB@SPIW:NEXT:RTN 400 @KOFF:N=#0F00:GSB@SPIW:RTN 1000 @SPIW:OUT4,0:FORI=0TO15:OUT2,0:OUT3,N>>(15-I)&1:OUT2,1:NEXT:OUT4,1:RTN 1010 @SPIAW:OUT4,0:FORK=0TOM-1:N=[K]:FORI=0TO7:OUT2,0:OUT3,N>>(7-I)&1:OUT2,1:NEXT:NEXT:OUT4,1:RTN SAVE3


パラメータを設定して、エンターでテストトーン!

YMF825のFM音源の音色づくりの基本

4つの発振器(オペレータ)のつながりを選ぶ、アルゴリズム。第一オペレータを鳴らすアルゴリズム1を選択(ALG:1)

(ymf825board manual / Tone Parameterより)

かつて(MSX時代)は正弦波だけだった発振器、YMF825では29種類から選べます!
音が大きて確認しやすい、ファミコンで有名、三角波を選んでみます(Wave Shape, WS:16)

(ymf825board manual / Tone Parameterより)

次にエンベロープをADSR(アタックAR、ディケイDR、サステインSR/SL、リリースRR)をそれぞれ0-15の値で指定します。
AR: アタックレート、立ち上がりの速さ 15で最速、0で立ち上がらない(鳴らない)
DR: ディケイレート、立ち上がり後の減衰の速さ 15で最速、0で減衰しない
SL: サステインレベル、ディケイ後の音量 15で消える、0で減衰しない
SR: サステインレート、ディケイ後の減衰の速さ 15で最速、0で減衰しない
RR: リリースレート、キーオフ後の減衰の速さ 15で最速、0で減衰しない(鳴り続ける)

まずARを15、RRを15にして鳴らしてみましょう。
ポーっとファミコンっぽい音が鳴ります。

アタックとリリース
ARを5にすると、ふわっと音が鳴り始めます。
RRを5にすると、ふわっと音が消えるようになります。
いろいろ変えてみましょう。

ディケイ
AR、RRを15に戻して、SLを7、DRを10にしてみましょう。
最初音が大きくて、その後小さい音が続きます。
後半の小さな音の音量をSLで調整(0で変化なし、15で消える)し、その音量になるまでの速さをDR(15で即変わる)で指定します。

サステイン
SRを7とすると、後半の小さな音が徐々に減衰するようになります。
キーオフした後の減衰はリリースRRで調整します。

アルゴリズム1は、2番目のオペレータを使って変調(モジュレート)できます。
右側(第二オペレータ)のARとRRを15にして、みると音が変化します。
モジュレーターの効き具合は、TLで調整します(0で最大、63で無効化)。

このように発振器をいろいろつなぎ合わせて音を創る、それがFM音源!
2つのオペレータで慣れたら、4オペレータをフルに使った音作りに挑戦です!

冒頭の動画は、ファイル3の鳴らす部分をこのようにチャイムに書き換えました!
オクターブ(B)が4、音階(A)で指定する数値は、YMF825のマニュアル内のExcelファイルに一覧もあります。

60 'CHIME 66 W=30:B=4 70 A=674:GSB@KON:WAITW:GSB@KOFF 71 A=535:GSB@KON:WAITW:GSB@KOFF 72 A=601:GSB@KON:WAITW:GSB@KOFF 73 A=401:GSB@KON:WAITW*2:GSB@KOFF 80 A=401:GSB@KON:WAITW:GSB@KOFF 81 A=601:GSB@KON:WAITW:GSB@KOFF 82 A=674:GSB@KON:WAITW:GSB@KOFF 83 A=535:GSB@KON:WAITW*2:GSB@KOFF

BASICによるソフトウェアSPIだと遅くてリアルタイムな演奏には向かないので、次は一部マシン語化した楽器プログラムに挑戦してみたいと思います。(参考、マシン語入門
→ マシン語編「YMF825で楽器づくり「FM音源キーボード」マシン語で高速SPI、IchigoJamでまなぶ Armマシン語入門その9

links
- YMF825Board紹介 - Yamaha (公式サイト、マニュアル、サンプルプログラムあり)
- YMF825 SD-1 universal Sound Designer 1 - YAMAHA
- YMF825Board Rev.A (YMF825Board 製造元のウダデンシさんサイト)
- YMF825 FM音源モジュールを使ってみた - きょうのかんぱぱ (Arduinoで音色変更例)
- YMF825(SD-1)ざっくりまとめ(スペック編) - Lost Technology
- アナログシンセとはまったく違う、“誰でもわかるFM音源”講座 : 藤本健の“DTMステーション” (かつて240万円したFM音源シンセサイザー)
- ボードで復活!! 生方剛考のFM音源講座
- 今夜わかるFM音源 - aikeの日記
- FM音源の音作りをアナログな感覚で覚えよう① : SynthSonic
- YAMAHAのFM音源チップ、YMF825がMAKE市場向けに登場。Maker Faireで先行発売が決定だ! : 藤本健の“DTMステーション”

Tweet
クリエイティブ・コモンズ・ライセンス
この作品は「Creative Commons — CC BY 4.0」の下に提供されています。
CC BY / @taisukef / アイコン画像 / プロフィール画像 / RSS