osd1
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
osd1 [2022/01/29 09:31] – [License] 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をより楽しく | + | |
- | * 入手性、カスタマイズ性を重視 | + | |
- | * 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 スピードカーブ設定 | + | |
- | + | ||
- | + | ||
- | ==== 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.1643416267.txt.gz · 最終更新: 2022/01/29 09:31 by yaasan