osd1
差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
| osd1 [2022/04/25 20:46] – [アーキテクチャ] yaasan | osd1 [2022/07/12 08:33] (現在) – yaasan | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| ====== SmileSoundDecoder rev.0 ====== | ====== SmileSoundDecoder rev.0 ====== | ||
| - | スマイルサウンドデコーダは、オープンサウンドデータをより活用するために開発を進めている、日本製・国産のサウンドデコーダです。欧州のトップメーカーであるZ社、E社のサウンドデコーダのクラスを目指して開発を進めています。 | + | ページを移動しました。[[https:// |
| - | + | ||
| - | [[https:// | + | |
| - | + | ||
| - | + | ||
| - | サウンドデコーダの根幹であるサウンドの動きは、オリジナルのCSVスクリプトエンジンを用いることにより、自由にサウンドプログラミングが実現可能です。 | + | |
| - | + | ||
| - | 開発ステップ(案): | + | |
| - | Step1(2022年): | + | |
| - | Step2(2023年): | + | |
| - | + | ||
| - | + | ||
| - | {{:: | + | |
| - | ===== コンセプト ===== | + | |
| - | + | ||
| - | * DCCをより楽しく | + | |
| - | * ソフトウェア・ハードウェアデザインの国産化 | + | |
| - | * 入手性、カスタマイズ性を重視 | + | |
| - | * **リーズナブル**なサウンドデコーダ(安さを追及するものではない) | + | |
| - | + | ||
| - | ===== アーキテクチャ ===== | + | |
| - | + | ||
| - | * RP2040を軸にした、一般的なサウンドデコーダに相当するアーキテクチャを採用 | + | |
| - | * Arduino IDEで開発可能な[[https:// | + | |
| - | * 16MB弱をサウンドに利用可能(0.5MB程度はファームウェアに使用) | + | |
| - | * サウンドは、ユーザーがカスタマイズ可能なCSV形式のスクリプトプログラムで実行可能。将来的にはGUIツールによるブロック線図プログラミングも視野に入れている。 | + | |
| - | * サウンドデータは、LittleFSを使用し、USBでダウンロード可能。将来的には線路経由(UART over DCCとRailComによる通信)での書き込みが可能なシステムを開発予定。 | + | |
| - | * 当面は独自のUSB型書き込みアダプタを用いて書き込む方式となります。 | + | |
| - | + | ||
| - | + | ||
| - | ===== 製品 ===== | + | |
| - | + | ||
| - | 以下は構想段階であり、仮です。まだ具体的な製品予定ではありません。 | + | |
| - | + | ||
| - | * MTC21対応デコーダ OpenSoundDecoder MTC21, | + | |
| - | * Next18対応デコーダ OpenSoundDecoder Next18 (仮, | + | |
| - | + | ||
| - | + | ||
| - | ===== 構成要素 ===== | + | |
| - | + | ||
| - | + | ||
| - | |サウンドエンジン| WAVファイル管理、再生を行う部分 | | + | |
| - | |サウンドフロー| CSVスクリプトを実行する部分。設定機能も一部含まれる | | + | |
| - | |モータ制御 |ブラシ付DCモータ用のモータ制御エンジン | + | |
| - | |NMRA DCC Library | NMRA製オープンソースDCCエンジン | | + | |
| - | ===== サウンドフロー ===== | + | |
| - | + | ||
| - | CSV形式のプログラムを採用。 | + | |
| - | + | ||
| - | + | ||
| - | * スクリプトはロードされた後、常時実行されます。 | + | |
| - | * 最大、同時に12個のサウンドを再生可能です。E社の最新デコーダと同等を実現しています。 | + | |
| - | * サウンドプログラム(サウンドフロー)は同時に16点を実行可能です。使っていないフローは自動的に終了する機能を有しており、意識せずにサウンドプログラミングできます。 | + | |
| - | * サウンドファイルは、8bitならびに16bitのモノラルの44.1kHz, | + | |
| - | * 状態遷移はスクリプト上に記述します。ifとgotoで状態遷移の待つ条件を作ります。ifの条件式が成立したら、遷移させる形です。 | + | |
| - | * CSVスクリプトは128行まで。 | + | |
| - | * E社のLS5デコーダ相当の処理を実装可能な仕様を予定しています。 | + | |
| - | + | ||
| - | + | ||
| - | < | + | |
| - | echo, | + | |
| - | label, | + | |
| - | if, | + | |
| - | goto, | + | |
| - | label, | + | |
| - | play, | + | |
| - | echo, | + | |
| - | play, | + | |
| - | label, | + | |
| - | if, | + | |
| - | label,END | + | |
| - | play, | + | |
| - | echo, | + | |
| - | goto, | + | |
| - | </ | + | |
| - | + | ||
| - | CSVスクリプトで使用可能な関数は以下の通り。 | + | |
| - | + | ||
| - | ^Command name|Description | Examples| | + | |
| - | ^if |条件分岐 |if, | + | |
| - | ^goto |ラベルへジャンプ |goto, | + | |
| - | ^play |サウンド再生 |play, | + | |
| - | ^wait |ウェイト | ms秒単位で待つ | | + | |
| - | ^label |ジャンプ用ラベル | ifやgotoの飛び先。大文字英数字で記載すること。 | | + | |
| - | ^echo |コメント | 無視されるコメント文。備忘録用 | | + | |
| - | ^set |変数の設定 | shareやlocalに設定する。 | | + | |
| - | ^aux |AUX出力の指定 |aux,1,1 | | + | |
| - | ^call |他のサウンドフローの呼び出し・実行 |call, | + | |
| - | ^monf |監視するファンクション番号の設定 |monf,8 | | + | |
| - | ^exit |実行しているサウンドフローの終了 | | | + | |
| - | + | ||
| - | + | ||
| - | 追加を検討しているコマンド。 | + | |
| - | + | ||
| - | * vol ボリューム | + | |
| - | * stop サウンド停止 | + | |
| - | * slim 速度制限 | + | |
| - | * let 算術評価(計算処理) | + | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | ==== if 条件分岐の引数 ==== | + | |
| - | + | ||
| - | ^定義済変数 ^ ^ | + | |
| - | |spd | 現在速度。 | | + | |
| - | |ref | 指令速度。加減速中では、現在速度とズレが生じます | | + | |
| - | |acc | 加減速度 | | + | |
| - | |local1, | + | |
| - | |share1, | + | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | ===== 対応ハードウェア ===== | + | |
| - | + | ||
| - | 準備中 | + | |
| - | + | ||
| - | ===== ファームウェア ===== | + | |
| - | + | ||
| - | 準備中 | + | |
| - | + | ||
| - | ===== License ===== | + | |
| - | + | ||
| - | 検討中 | + | |
| - | + | ||
| - | ===== 利用OSS ===== | + | |
| - | + | ||
| - | オープンサウンドデコーダは、以下のオープンソースソフトウェアを使用しています。 | + | |
| - | + | ||
| - | * [[https:// | + | |
| - | * [[https:// | + | |
| - | * Pico SDK (BSD 3-Clause license) | + | |
| - | * LittleFS | + | |
| - | * uf2 | + | |
| - | * mklittlefs (MIT License) | + | |
| - | * FFMPEG | + | |
| - | * | + | |
| - | + | ||
| - | SoundFlowライブラリ、ManageWaveライブラリは、DesktopStation・フジガヤ2・Nagodenの開発物です。 | + | |
| - | + | ||
| - | + | ||
| - | ===== 関連資料・記事 ===== | + | |
| - | + | ||
| - | * [[https:// | + | |
| - | * [[https:// | + | |
| - | * [[https:// | + | |
| - | * [[https:// | + | |
| - | * [[https:// | + | |
| - | + | ||
osd1.1650887216.txt.gz · 最終更新: 2022/04/25 20:46 by yaasan