Javascriptでなんか音鳴らすプログラム書けないかなぁと思って、「javasccript オシレータ」で検索。
んで辿り着いたのがこの方のページ。
オシレータ(音の生成)とゲイン(音量) の設定 [Web Audio API]
AudioContextなるものをものを使ってあげれば、三角、ノコギリ、矩形、サインの波形のオシレータが使えるのですね。
という事で、まずはランダム(0 ~ 750ミリ秒)のタイミングで画面の色も同期しながらCメジャーのスケールをただただ続けると言うプログラムを作ってみました。
フィルタとかモジュレーションも掛けられるのでもっと面白くなりそうですが、まずはできる事をやると言う事で。画面の動きも含めてまた色々試していこうかと思います。
プログラムはこちら。
AudioContextが使えないブラウザでは音が出ませんので悪しからず。
もしかしたら爆音が出るかもしれないので、会社のパソコンとかで試すのは厳禁です。
次回はソースの説明も描いてみます。はい。
「programming」タグアーカイブ
RDSync その3(最終回) -Windows Form-
コンソールアプリの検証でほぼほぼどんな感じになるかつかめたので、WindowsFormにいざ取り掛かる。しかしながら、UIはやっぱりワナが多い。まず単純にコピーすればいいなぁと思っていたんですが、やっぱり進捗率とかあった方がいいなぁとか、設定画面があった方がいいとか。設定されていないときは処理させないとか、キリないです。と言うことで設定が完了していない場合は処理しない、コピー処理する前に対象となるファイルを全部取得して画面上に進捗状況を表示するようにしました。あとは簡易的ですがインストーラも作ってそれなりアプリっぽくしてましたよ。
-
インストール
インストーラを実行してください。ここからダウンロードできますよ。
インストーラは特に選択肢もないのでツラツラ進んで完了してください。 -
設定
初回起動時にはまず初めに設定画面が表示されます。
一旦設定が完了したらファイルメニューから起動できます。
各メディアファイルフォルダ設定用参照ボタンをクリックして対象となるフォルダを選択してください。(直接入力でもOK。存在しないフォルダを選択するとエラーなります。悪しからず)
こんな感じでフォルダパスを設定してください。
保存ボタンをクリックして設定内容を保存してください。
RDSync その2 – まずはコンソールアプリで
最終的に画面があるアプリにするつもりですが、手始めにコンソールアプリでコアとなる機能の検証をしつつ作り始めていくことにしました。
メディアファイル
そもそもどんなフォーマットのファイルがあるのかその拡張子は何なのか、普段使っているもの以外でもあるのかなぁと思いつつ必要と思われるもの(一般的なもの?)をリストして、写真ファイルなのか、映像ファイルなのか、音声ファイルなのか判断できるようにします。(拡張子とフォーマットが違ったらアウトですが、それはしょうがないので無視)
写真ファイルは以下の拡張子を定義
.jpg / .png / .gif / .raw
映像ファイルは以下の拡張子を定義
.mov / .mp4 / .avi / .mpg / .wmv / .flv / .mts / .m2ts
音声ファイルは以下の拡張子を定義
.mp3 / .wav / .aiff / .aac / aif / .m4a
メディアファイルの取得
SDカード、USBメモリは.NETのDriveInfoクラスでDriveTypeがRemovableで判断してそのドライブ配下のすべてのメディアファイルを取得ます。
指定されたフォルダと作成日からコンピュータの保存先を決定。
重複ファイルのスキップ
作成日が同じ名前が同じファイルがあったらスキップさせます。
コピー
同じファイルがなければコンピュータにコピーしていきます。
と言うのが基本的な流れ。画面があっても処理は大きな差はないですね。
こんな感じでコピーの状況を出力しながら動きます。(音はおまけ)