EMC_Pon
簡易でいい加減な効果音ポン出しTcl/Tkスクリプトのご紹介です。
能書き(経緯)
早押し判定クイズなどの余興で使うことを想定して作り始めた簡易ポン出しソフトです。
効果音ソフトなんて巷にいくらでもあってわざわざ自作する必要はないのですが、いざそういうのを使おうとすると、インストールが必要だったり、高機能過ぎたり、音源登録がGUIだったり…ちょっとお遊びで使うには意外と面倒くさくて(と、いくらか試してみて自分はそう感じた 爆)。自分の用途に合った使いやすいものを探すだけで結構手間なんですよね…。嫌になってきたところでふとSnackパッケージ(音声データを扱うTcl/TkとPython用ライブラリ)のことを思い出して、ちょっとテストスクリプト書いてみたらそこそこ使えそうで…。ぇえいこの勢いで形にしちゃえ、と。
別に簡易早押し判定機システム「EMC_Fastest」を開発していてそちらにも効果音機能を搭載していますが、本ソフトはその要素開発的な位置づけにもなっています。
概要
機能
- 簡易効果音ポン出し機能
- WAVファイル再生による。
- GUIとキーボードバインドからの再生操作が可能。
- 音源毎の音量設定が可能。
- それ以上のことは出来ません(笑)。
- EMC_Pon 配布アーカイブ 20200327版 [ZIP 10718.1kB]
- 一式の配布アーカイブです。ダウンロードし、適当な場所で解凍して下さい。
- ライセンスについては勉強不足でまだよく理解できてないのですが、差し当たって…
- Tcl/Tkスクリプト
- 「クリエイティブ・コモンズ・ライセンス」の「CC BY-NC-SA(表示-非営利-継承)」相当くらい?でお願いします。(追ってちゃんと考えられるといいなぁ…。)
- ドキュメント類
- 「クリエイティブ・コモンズ・ライセンス」の「CC BY-NC-ND(表示-非営利-改変禁止)」で。
- 配布アーカイブには効果音のデモ用サンプルとしてフリー音源をバンドルしています(OtoLogic (CC BY 4.0) https://otologic.jp)。
すぐに機能を試していただけますが、ライセンス管理上、実用の際には各々お持ちの音源に挿し替えていただくことをお勧めします。ただし各音源のライセンスの範囲内においてはそのままご利用いただけると思います。
詳しくはアーカイブ同梱の「License Information - Bundled SE.txt」(UTF-8)を御覧ください。
スクリプト自体は特別のインストール操作は不要ですが、Tcl/Tkインタープリタが未導入の場合はそのインストールが必要です。詳細はここでは割愛しますが、WindowsとAndroidの場合についてだけ、簡易にご紹介しておきます。なおここで紹介するインタープリタには本スクリプトで使用している拡張パッケージが同梱されていますので別途の導入は不要です。
- Windows OSの場合
- AndroWishのDownloadsページから、「vanillawish」をダウンロードします。
- ファイルサイズは27MBほどです。
- バージョンはどれでも大丈夫と思いますが、まぁ新しいものが良いでしょう。
- ダウンロードリンクの場所がちょっと分かりにくいのですが、各リリース節の一番下に「Vanilla」で始まる段落があります。その中に並ぶリンクの中から、ご自身の環境に合ったものを選んでください。
- 「Windows (32bit)」なら32bit/64bitどちらの環境でも動くので差し当たって融通が利きます。
- ダウンロードしたインタープリタファイルを、先程解凍したフォルダー(バッチファイルのあるフォルダー)にコピーし、ファイル名を「wish.exe」に書き換えます。
(やりようはいろいろありますが、ここでは簡便のためこの方法で紹介しておきます。慣れた方はご自由にどうぞ。)
- Android OSの場合
- Playストアとかを通していない野良アプリなので自己責任でひとつ。気が進まなければやめておきましょう。まぁ…大丈夫と思いますが。
- AndroWishのDownloadsページから、「AndroWish」をダウンロードします。
- ファイルサイズは35MBほどです。
- バージョンはどれでも大丈夫と思いますが、まぁ新しいものが良いでしょう。
- ダウンロードリンクがいっぱいあって分かりにくいのですが、「Android package, signed with a debug key」("Eppur si muove"なら「AndroWish-6e2085e6e4-debug.apk」)が目的のインストールファイルです。
- PCでダウンロードした場合は、ダウンロードしたインストールファイルをAndroid端末にコピーします。ダウンロードフォルダへ置くのがいいでしょう。コピーの方法はここでは割愛します。
- ダウンロードしたインストールファイルをAndroid上で実行します。実行方法はここでは割愛します。筆者はファイラーから行いました。「Tetra Free」というファイラーを使っています。
- 画面の表示に従って進めればさっくり入ります。
使い方
- 設定ファイル書き換え
- 諸々の設定はファイル記述で指定する仕様となっています。ファイル形式は全てTSV(タブ区切りのテキストデータ)です。専用の編集機能などは用意していません。適宜テキストエディターやTSVエディターをご利用下さい。
- テキストによる表データとしてはCSVがより一般的で、当初はそちらを採用していたのですが、取り扱いやすさを優先してTSVに変更しました。
- CSVでは「,(カンマ)」や「"(ダブルクォーテーション)」といった文字が特別な意味を持つため、格納値の中にこれらが含まれているとかなり面倒な処理が必要となり、その処理を自分で実装するのは大変なのでライブラリ(拡張パッケージ)を使う必要が出てきます。本システムはなるべくシンプルな作りにしたくて、拡張パッケージの使用数を減らしたい考えがあったため、取り扱いがグッと楽なTSVを採用することとしました。タブ文字を格納値に含めないといけないケースは稀で、少なくとも本システムで必要になるとは思われません。
- 取扱アプリケーションも、CSVを扱えるものの多くで、TSVもサポートされているのではないかと思います。
- 恐縮ながら作者の利用ツールの利便上、設定ファイルの文字コードはCP932(Shift-JIS系)指定としています。ご容赦下さい。記載内容に多バイト文字が含まれていなければ問題ありません。またTcl/Tkスクリプト(こちらはAndrowish対応のためUTF-8です 爆)の書き換えにより他のコードに変更することは可能です(「setVN encoding.setting.tsv {cp932}」の箇所。UTF-8なら{utf-8}に)。
- 各設定ファイルは次のとおりです。
- setting.tsv
-
- 最初に読み込まれる基本事項の設定ファイルです。
- 乱暴なくらいかなりいろんなことが出来る危ない設計になっていますが、使いこなしには本体スクリプトとTcl/Tkの理解が必要になり、書ききれないので詳細説明は割愛します(爆)。
- 利用価値高いのは、他の設定ファイルのファイル名の変更や(使い分けに便利です)、フォントの変更ですかね…。
- sound.tsv(setting.tsvで別ファイル名の指定可)
-
- 効果音の音源定義です。
- ポン出しボタンへの表示名、音源ファイル名、音量、を指定します。
- 音源ファイルのデータ形式はWAV限定です(Androwish同梱のSnackパッケージの制約による)。
- 音量は0-100で設定します。音量調整と言うよりは音源間のバランス調整用と理解下さい。
- 起動
- Windows OSの場合
- 「EMC FastestX.bat」を実行します。
- Android OSの場合
- 「EMC FastestX.tcl」を実行します。
実のところ筆者不慣れでよく分かってないのですが…(苦笑)。筆者はファイラー(前述の「Tetra Free」)から実行しています。
- 実行すると送り先のアプリケーションをどれにするか問われます。どうやらAndroWishのインストールで関連付けが行われているようで、その選択肢の中にAndroWishが含まれていると思いますので、それを選択すると起動します。
- 運用操作
- 効果音ポン出し
-
- 操作方法は2つあります。操作ウインドウに表示されている該当ボタンの押下、そのボタンの左端に表示されている文字(数字かアルファベット)のキーボードの押下、です。
- 再始動
-
- 設定ファイルsound.tsvで定義した効果音の簡易ポン出しが可能です。
- 効果音の音源定義ファイルsound.tsvを変更して再読み込みしたい時などに、もちろん再起動するのが最善なのですが、面倒くさい時には一挙動で簡易に再起動相当の動作をさせることが出来ます。
- 操作方法は3つあります。メニューの「再始動」の押下、キーボードの「F5」または「Ctrl+r」の押下、です。
- 実際に再起動しているわけではなく、バグの残っている可能性もあること、ご容赦下さい。
- 画面表示
-
- 全画面表示をトグル切り替え出来ます(意味があるかどうか分かりませんが…)。
- 操作方法は2つあります。メニューの「画面表示」の押下、キーボードの「F11」の押下、です。
- 終了
-
- 終了方法は3つあります。メニューの「終了」の押下、キーボードの「Esc」または「Alt+F4」の押下、です。
- OS機能からの終了(ウインドウクローズなど)も利用できるでしょう。
- コンソール表示
-
- Tcl/Tkインタープリタのコマンドコンソールを表示することが出来ます。バグ取りなどの開発用です。が、計算もできたりしてちょっと便利です。
- 操作方法は2つあります。メニューの「コンソール表示」の押下、キーボードの「F1」の押下、です。
- コンソール表示の消去方法は2つあります。コンソールのコマンドプロンプトで「console hide」と入力、操作ウインドウか表示ウインドウがフォーカスされている状態でキーボードの「F2」の押下、です。
- OS機能からの終了(ウインドウクローズなど)も利用できるでしょう。
開発履歴(だいたい)
- 2020-03-27 EMC_Pon_20200327
- 配布アーカイブ化整理。
- フリー音源バンドル化(OtoLogic)。
- アーカイブ内音源読込対応化(vfsパッケージ使用)。
- snackパッケージの呼び出しをsnack化(soundではAndrowishでエラーを生じる現象が確認されたため切り戻し:旧版での動作状況謎)。
- 2020-03-07 EMC_Pon_20200307
- 大規模リファクタリング。
- EMC_Fastestとの構造およびUIの整合化。
- Tcl/Tkスクリプトソースコード UTF-8化(Androwish対応)。
- アーカイブ内パッケージ読込対応化(vfsパッケージ使用)。
- 定義ファイルのTSV化(csv,struct::matrixパッケージ廃止)。
- snackパッケージの呼び出しをsound化(Androwishでの動作確認不良?)。
- 2019-06-05 EMC_Pon_20190605
- 2019-06-03 EMC_Pon_20190603
- 2019-05-09 EMC_Pon_20190509
- バッチファイル起動化。
- 各種設定定義の外部ファイル化(csv,struct::matrixパッケージ使用)。
- 2018-08-22 EMC_Pon_20180822
- 初版(音源定義もスクリプト内記述の簡易実装)。
- snackパッケージ使用。
更新履歴(だいたい)
このページから抜ける→
いさな工房HP トップ
/
@nifty
サイト管理者:岩橋伴典 as いさな
(E-mail:jo3emc@jarl.com / Twitter:@jo3emc)