osd1
差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
| osd1 [2022/01/29 19:59] – [サウンドフロー] yaasan | osd1 [2022/07/12 08:33] (現在) – yaasan | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| - | ====== | + | ====== |
| - | + | ||
| - | オープンサウンドデコーダは、RP2040 MCUをベースに、オープンサウンドデータをより活用するために開発を進めている、日本製・国産のサウンドデコーダです。欧州のトップメーカーであるZ社、E社のサウンドデコーダのクラスを目指して開発を進めています。 | + | |
| - | + | ||
| - | [[https:// | + | |
| - | + | ||
| - | + | ||
| - | サウンドデコーダの根幹であるサウンドの動きは、オリジナルのCSVスクリプトエンジンを用いることにより、自由にサウンドプログラミングが実現可能です。 | + | |
| - | + | ||
| - | 開発ステップ(案): | + | |
| - | Step1(2022年): | + | |
| - | Step2(2023年): | + | |
| - | Step3(2024年): | + | |
| - | Step4(2025年): | + | |
| - | ===== コンセプト ===== | + | |
| - | + | ||
| - | * DCCをより楽しく | + | |
| - | * 入手性、カスタマイズ性を重視 | + | |
| - | * **リーズナブル**なサウンドデコーダ(ただし安さは追及しない) | + | |
| - | + | ||
| - | ===== アーキテクチャ ===== | + | |
| - | + | ||
| - | * RP2040を軸にした、一般的なサウンドデコーダに相当するアーキテクチャを採用 | + | |
| - | * Arduino IDEで開発可能な[[https:// | + | |
| - | * 16MB弱をサウンドに利用可能(0.5MB程度はファームウェアに使用) | + | |
| - | * サウンドは、ユーザーがカスタマイズ可能なCSV形式のスクリプトプログラムで実行可能。将来的にはGUIツールによるブロック線図プログラミングも視野に入れている。 | + | |
| - | * サウンドデータは、LittleFSを使用し、USBでダウンロード可能。将来的には線路経由(UART over DCCとRailComによる通信)での書き込みが可能なシステムを開発予定。 | + | |
| - | + | ||
| - | + | ||
| - | ===== 製品 ===== | + | |
| - | + | ||
| - | 以下は構想段階であり、仮です。まだ具体的な製品予定ではありません。 | + | |
| - | + | ||
| - | * MTC21対応デコーダ OpenSoundDecoder MTC21, | + | |
| - | * Next18対応デコーダ OpenSoundDecoder Next18 (仮, | + | |
| - | + | ||
| - | + | ||
| - | ===== 構成要素 ===== | + | |
| - | + | ||
| - | + | ||
| - | |サウンドエンジン| WAVファイル管理、再生を行う部分 | | + | |
| - | |サウンドフロー| CSVスクリプトを実行する部分。設定機能も一部含まれる | | + | |
| - | |モータ制御 |ブラシ付DCモータ用のモータ制御エンジン | + | |
| - | |NMRA DCC Library | NMRA製オープンソースDCCエンジン | | + | |
| - | ===== サウンドフロー ===== | + | |
| - | + | ||
| - | CSV形式のプログラムを採用。 | + | |
| - | + | ||
| - | + | ||
| - | * スクリプトはロードされた後、常時実行されます。 | + | |
| - | * 最大、同時に12個のサウンドフローが動作します。つまり、最大12音の再生が可能です。 | + | |
| - | * サウンドファイルは、8bit モノラルの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 サウンド停止 | + | |
| - | * setコマンドで四則演算 | + | |
| - | * ifコマンドで四則演算 | + | |
| - | * slim 速度制限 | + | |
| - | * サウンド連動wait | + | |
| - | * fmap ファンクションマッピング設定用 | + | |
| - | * scrv スピードカーブ設定 | + | |
| - | * let 算術評価(計算処理) | + | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | ==== if 条件分岐の引数 ==== | + | |
| - | + | ||
| - | ^定義済変数 ^ ^ | + | |
| - | |spd | 現在速度。 | | + | |
| - | |ref | 指令速度。加減速中では、現在速度とズレが生じます | | + | |
| - | |acc | 加減速度 | | + | |
| - | |local1, | + | |
| - | |share1, | + | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | ===== 対応ハードウェア ===== | + | |
| - | + | ||
| - | 準備中 | + | |
| - | + | ||
| - | ===== ファームウェア ===== | + | |
| - | + | ||
| - | 準備中 | + | |
| - | + | ||
| - | ===== License ===== | + | |
| - | + | ||
| - | オープンサウンドデコーダのファームウェア、回路図、開発ツール、付属物(音データならびにドキュメント、サンプル)を利用するには、利用用途ごとに規定があります。 | + | |
| - | + | ||
| - | + | ||
| - | |非商用利用|収益を得ない活動に利用。\\ 例: | + | |
| - | |商用利用A|模型店等が書込サービス提供のために利用| オープンサウンドデータの利用許諾後、ご利用いただけます。| | + | |
| - | |商用利用B| 収益を得るためにデコーダやコマンドステーション開発に利用| 商用ライセンス契約が必要です。契約が無い場合には、評価用途も含め、ご利用いただけません。| | + | |
| - | + | ||
| - | + | ||
| - | ===== 利用OSS ===== | + | |
| - | + | ||
| - | オープンサウンドデコーダは、以下のオープンソースソフトウェアを使用しています。 | + | |
| - | + | ||
| - | * [[https:// | + | |
| - | * [[https:// | + | |
| - | * Pico SDK (BSD 3-Clause license) | + | |
| - | * LittleFS | + | |
| - | + | ||
| - | SoundFlowライブラリ、ManageWaveライブラリは、DesktopStation・フジガヤ2・Nagodenの開発物です。 | + | |
| - | + | ||
| - | オープンサウンドデコーダは、以下のオープンハードウェアプラットフォームを使用しています。 | + | |
| - | + | ||
| - | * Raspberry pi Pico RP2040 | + | |
| - | ===== 関連資料・記事 ===== | + | |
| - | + | ||
| - | * [[https:// | + | |
| - | * [[https:// | + | |
| - | * [[https:// | + | |
| - | * [[https:// | + | |
| - | * [[https:// | + | |
| + | ページを移動しました。[[https:// | ||
osd1.1643453942.txt.gz · 最終更新: 2022/01/29 19:59 by yaasan