tag:blogger.com,1999:blog-7917490780950028760.post4889897496861119680..comments2024-01-20T16:49:49.541+09:00Comments on とよしま語録: WebMidiLinkで遊んでみたとよしまhttp://www.blogger.com/profile/10448579535122005471noreply@blogger.comBlogger17125tag:blogger.com,1999:blog-7917490780950028760.post-24200105318875619822015-09-24T23:47:06.310+09:002015-09-24T23:47:06.310+09:00あ、すみません。
いろいろと考えてくださったのに、愚痴っぽくなりましたことをお詫びいたします。
...あ、すみません。<br /><br />いろいろと考えてくださったのに、愚痴っぽくなりましたことをお詫びいたします。<br /><br />ありがとうございました。Anonymoushttps://www.blogger.com/profile/11175523443580459276noreply@blogger.comtag:blogger.com,1999:blog-7917490780950028760.post-35569699798081428852015-09-24T23:00:12.616+09:002015-09-24T23:00:12.616+09:00こんばんは。
MIDIとMP3での配布については、確かにおっしゃる通りです。
僕のサイトでしたらそ...こんばんは。<br /><br />MIDIとMP3での配布については、確かにおっしゃる通りです。<br />僕のサイトでしたらそうしているでしょう。<br /><br />が、当該サイトのオーナーはJAVAスクリプトの基本もわからない女性です。<br />なので分散してファイルを置くのは無理かと考えております。<br />MP3を置いているのは、Cubase+VSTiによる演奏のものもダウンロード/試聴できるようにしているためで、Windows 付属のソフトウェアMIDI音源によるものを置いているわけではありません。<br /><br />MIDIが必要な理由は書きたくなかったのですが、HTMLメールメッセージ(OutlookExpressやWindows メール/Windows Live メールで送受信可能)につけるBGMとしてファイル容量が小さくて利用できるからです。<br /><br />単にオリジナル曲を聴いてもらいたいだけのサイトではないのです。<br /><br />さて、DTMなどを行っている人でなければ、通常のユーザーは、外部MIDI音源を別途用意していないと思います。しかもWindows Vista以降(特に8以降)は、デフォルトMIDI OUTデバイスを簡単に設定できなくなっています(いわゆるMIDI MAPPERのデフォルト)。<br />なので内蔵音源(あるいはデフォルト設定されたMIDI音源)でのプラグイン再生があればということでした。<br />Anonymoushttps://www.blogger.com/profile/11175523443580459276noreply@blogger.comtag:blogger.com,1999:blog-7917490780950028760.post-82481375869594902272015-09-24T22:06:06.502+09:002015-09-24T22:06:06.502+09:00同じ内容を二度投稿してしまったため1つ前の投稿を削除。
PPAPIタイプのプラグインについても誤解...同じ内容を二度投稿してしまったため1つ前の投稿を削除。<br /><br />PPAPIタイプのプラグインについても誤解があるようなので軽く補足しておきます。結論を言えば内蔵MIDIを利用するプラグインは現状では作成不可能です。詳しく説明すると、PPAPIプラグインはSFIサンドボックスと呼ばれるある種の仮想マシン上で実行されます(ただし実機とほぼ同等に高速)。この仮想マシンの中からはOSが提供するAPIへのアクセスは一切許されていません。利用可能なAPIについては以下のリンクに詳しく書かれていますがMIDIは含まれません。<br />https://developer.chrome.com/native-client/pepper_stable<br /><br />視聴とMIDI配布については、既にmp3での視聴も併用しているのでしたら、mp3に一本化するだけですのでファイル容量の増加に繋がるような事はないかと思います。万が一増加して個人の手に負えないようでしたらSoundCloudやYouTubeなどを利用するのも手です。あるいはGoogle Driveなどの無料ストレージサービスを利用すれば1000曲くらいはどうにかなるんじゃないでしょうか。とよしまhttps://www.blogger.com/profile/10448579535122005471noreply@blogger.comtag:blogger.com,1999:blog-7917490780950028760.post-50752349070243510302015-09-24T21:35:18.475+09:002015-09-24T21:35:18.475+09:00このコメントは投稿者によって削除されました。とよしまhttps://www.blogger.com/profile/10448579535122005471noreply@blogger.comtag:blogger.com,1999:blog-7917490780950028760.post-50150018166365355332015-09-24T21:34:59.166+09:002015-09-24T21:34:59.166+09:00ありゃりゃ、うまく話が噛み合っていなかったみたいです。
Web MIDI APIを使えばJavaS...ありゃりゃ、うまく話が噛み合っていなかったみたいです。<br /><br />Web MIDI APIを使えばJavaScriptでSMFファイルをデコードしながらシステムに繋がっている任意のMIDIデバイスを使って演奏する事ができます。SMFをデコードするようなライブラリは既にいくつも存在していますし、自分でコードを書く場合でも(開発者であれば)比較的簡単に作成可能です。<br /><br />ただし、以下の制限があります。<br />・Windows規定の音源の自動選択はできません。デバイス一覧が取得できるので、プログラムで選ぶかユーザに選ばせるかする必要があります。<br />・Windows付属のソフトウェアMIDI音源の利用はできません(繰り返しになりますが、セキュリティ問題が存在するためブラックリストされています)<br /><br />ですので、これらの制限が問題であれば、諦めるしかないと思います。許容できるのであれば諦める必要はないと思います。とよしまhttps://www.blogger.com/profile/10448579535122005471noreply@blogger.comtag:blogger.com,1999:blog-7917490780950028760.post-82165264466139879312015-09-24T15:04:51.715+09:002015-09-24T15:04:51.715+09:00結局のところ・・・
スクリプトによるOSとブラウザバージョン判別し、Windowsである時、Chr...結局のところ・・・<br /><br />スクリプトによるOSとブラウザバージョン判別し、Windowsである時、Chrome ver.45以降の場合、Windows 付属のソフトウェアMIDI音源(あるいは外部MIDI音源でも構わないんですけど、Windows既定のMIDI音源になっているもの)でのMIDIファイル再生はできないということで良いのですよね。<br /><br />今後Chrome用のPPAPIタイプのMIDI再生プラグインでも出ない限り・・・。<br /><br />MIDIを内蔵音源で再生したものをMP3化して、試聴させるというのもありかと思いますが、レンタルサーバーですので、容量は有限です。<br />何故MIDIなのっていう部分は、ごく一部ではありますが、需要があるからです。<br /><br />今回はあきらめます。Anonymoushttps://www.blogger.com/profile/11175523443580459276noreply@blogger.comtag:blogger.com,1999:blog-7917490780950028760.post-56159286568803398112015-09-23T22:57:38.393+09:002015-09-23T22:57:38.393+09:00Flashのような十分にメンテされたNPAPIですら頻繁に致命的なセキュリティ問題が見つかっているの...Flashのような十分にメンテされたNPAPIですら頻繁に致命的なセキュリティ問題が見つかっているのはご存知の通りです。これだけ利用されているプラグインが存在していてもセキュリティ担保のコストにペイしなくなってきている、というのがChromeやFirefoxがNPAPI廃止を決断した背景ではないでしょうか(個人の意見です)。ウェブから流れてきたコンテンツをOSへ横流しするのはもはや現実的ではなくなっています。内臓MIDI音源に関して存在するセキュリティの問題も根は同じです。<br /><br />一方でSMF/GMの再生という目的に関しては既存APIの上で実現可能です。需要が大きければ、いずれ良いライブラリが出てくるでしょう。内臓音源のサポートはSMF/GM再生の手段の1つに過ぎませんし、セキュリティや互換性の問題を考えれば将来性のある方針ではないと思います。<br /><br />紹介して頂いたユースケースにおいても、配布ファイルがMIDIである事は理解しましたが、MIDI形式のままオンラインで視聴できるようにする必然性はないように思えました。<br /><br />さらに詳しい議論は以下のスレッドからたどる事ができますが、僕自身は内臓音源については否定的な立場を取っています。<br />https://github.com/WebAudio/web-midi-api/issues/151とよしまhttps://www.blogger.com/profile/10448579535122005471noreply@blogger.comtag:blogger.com,1999:blog-7917490780950028760.post-17665900180073765282015-09-23T10:27:17.431+09:002015-09-23T10:27:17.431+09:00あ、すみません。
現状は、ブラウザや試聴マシンに応じてMIDIは聴けませんとか、MP3のみ試聴できま...あ、すみません。<br />現状は、ブラウザや試聴マシンに応じてMIDIは聴けませんとか、MP3のみ試聴できますとかコメントを入れております。Anonymoushttps://www.blogger.com/profile/11175523443580459276noreply@blogger.comtag:blogger.com,1999:blog-7917490780950028760.post-36097316512207972842015-09-23T10:20:47.322+09:002015-09-23T10:20:47.322+09:00こんにちは。
> GM音源を想定したSMFファイルの再生は視野に入っていません。
確かにそ...こんにちは。<br /><br />> GM音源を想定したSMFファイルの再生は視野に入っていません。<br /><br />確かにそのように書いてありますね。<br /><br />> そのような機能は既存のAPIの上にライブラリ等として実装可能である<br /><br />この部分なんです。では具体的にWindows マシン上の内蔵MIDI音源による再生を実現する方法ってどうなの?ってことなんです。<br />プレーヤー表示やピアノロール表示などは必要ありません。MIDIファイルの配布をしていますから、切り替えて試聴できる環境を構築したいだけなんです。<br />元々がオリジナル曲のMIDIファイルを提供する目的のサイトなんです。ぼくのサイトではありませんが、知人のサイトでして、ピアノの先生でもあり、趣味でジャズセッションなんかもしている方のサイト。<br />MIDIファイルでなければならない理由もちゃんとあるんです。<br /><br />ChromeがMIDI機器をブラウザ上で接続制御できる機能を有することは、将来的にみて大きな財産なのかもしれません(僕はDAWソフトウェアに通信機能を設ければいいのではと思っており、ブラウザ上で実現する必要性に疑問も感じますが)。<br />でも、単純にMIDI再生できる機能を実装してもらいたかった。Chrome BookやAndroidマシンなど内蔵MIDI音源がないものについては承知しておりますが、そのような端末の場合は、MP3で聴いてもらうしかありません。これも承知の上です。<br /><br />ごめんなさい。ここで愚痴を言っても始まりませんね。<br />ただ、簡単にMIDIファイル再生ができる手法が知りたかった・・・ユーザーです。Anonymoushttps://www.blogger.com/profile/11175523443580459276noreply@blogger.comtag:blogger.com,1999:blog-7917490780950028760.post-81697661573819674332015-09-22T22:21:04.327+09:002015-09-22T22:21:04.327+09:00紹介したSMF再生に関してはWeb MIDI APIとは一切関係ない話になってきます。
ウェブ標準と...紹介したSMF再生に関してはWeb MIDI APIとは一切関係ない話になってきます。<br />ウェブ標準としてはWeb Audio API(http://webaudio.github.io/web-audio-api/)を提供しているので、その上に任意の音源を実装して再生に利用すれば良い事になります。サウンドフォント云々といった制約は一切ありません。音源の性能に関しては製作者の腕次第、といったところです。将来的にはVSTiのように多くのフリー音源が出回るようになると面白いのですが。既にWeb Audioをキーに検索すると色々なシンセサイザーが見つかると思いますが、ウェブに合わせた性能チューニングとかは考えていない実験的な物も多いです。<br /><br />ちなみにWeb MIDI APIに関しては下記のスペックにある通り、GM音源を想定したSMFファイルの再生は視野に入っていません。そのような機能は既存のAPIの上にライブラリ等として実装可能である、という立場をとっており、標準化メンバーが想定している主なユースケースはハードウェア(楽器)との通信です。<br />https://webaudio.github.io/web-midi-api/<br /><br />いずれにせよ、ウェブの世界では既にWindowsユーザ(デスクトップユーザ)は唯一の多数派ではなくなっていますので、Windowsの内臓音源に依存したサイトの構築は「より多くの方に」といった趣旨には合わないかもしれません。楽曲にリアルタイム性を持たせたり、音楽制作環境を構築するといった用途でなければ、事前にmp3等の波形データに落とした物を再生するのが妥当かと思います。とよしまhttps://www.blogger.com/profile/10448579535122005471noreply@blogger.comtag:blogger.com,1999:blog-7917490780950028760.post-81024919579333394962015-09-22T13:46:20.641+09:002015-09-22T13:46:20.641+09:00こんにちは。
サウンドフォントを使ったMIDI再生しかできないのであれば、あきらめるしかないかもし...こんにちは。<br /><br />サウンドフォントを使ったMIDI再生しかできないのであれば、あきらめるしかないかもしれません。<br />Core2Duo程度の低スペックでも再生できるものでないと、重すぎてきれいに再生できないようです。<br />ご紹介の参考サイトをChormeで閲覧してみましたが、音飛びや正確な時間で再生されない(音がずっと延びる)などが発生し、単純に複数のMIDIファイルを切り替えて再生するには無理そうです。<br />一応どのようなサイトかといいますと、MP3とMIDIを試聴/ダウンロードできるサイトで、オリジナルのものを含めて複数あります。<br />より多くの方に試聴してもらいたいという主旨のサイトです。<br /><br />MP3の方は、HTML5のaudioタグを使用して切り替え再生できるようにしております(<br />HTML5未対応の場合は、flash playerを使っています)。<br /><br />内蔵音源が使えないんですね・・。残念です。Anonymoushttps://www.blogger.com/profile/11175523443580459276noreply@blogger.comtag:blogger.com,1999:blog-7917490780950028760.post-18344642034840851332015-09-20T13:41:44.877+09:002015-09-20T13:41:44.877+09:00他にも誤字いっぱいでした。ごめんなさい。
・中間車→中間者
いわゆるMITM攻撃の事ですね
・使...他にも誤字いっぱいでした。ごめんなさい。<br /><br />・中間車→中間者<br />いわゆるMITM攻撃の事ですね<br /><br />・使要件→要件<br />せっかくなので参考URLを。<br />https://www.chromium.org/Home/chromium-security/prefer-secure-origins-for-powerful-new-features<br />https://w3c.github.io/webappsec/specs/powerfulfeatures/<br />とよしまhttps://www.blogger.com/profile/10448579535122005471noreply@blogger.comtag:blogger.com,1999:blog-7917490780950028760.post-58507727130646203082015-09-20T12:21:18.448+09:002015-09-20T12:21:18.448+09:00あぁ・・・地名的→致命的ですね。あぁ・・・地名的→致命的ですね。とよしまhttps://www.blogger.com/profile/10448579535122005471noreply@blogger.comtag:blogger.com,1999:blog-7917490780950028760.post-11684412824402825492015-09-20T12:20:35.110+09:002015-09-20T12:20:35.110+09:00Windowsの内臓音源は、特定のシーケンスを送る事でWindowsのドライバレベルでクラッシュする...Windowsの内臓音源は、特定のシーケンスを送る事でWindowsのドライバレベルでクラッシュする問題が見つかっています。このため、ウェブから自由に利用できるようにする事は地名的なセキュリティ問題になりかねない(サイバーテロの踏み台になるなど)との理由でブラックリストされています。<br /><br />また、System Exclusiveを利用する際にはデバイスのファームウェア書き換えなど致命的な操作が可能となっていますので、HTTPSなどで中間車による書き換え攻撃ができない事を確認した上でのユーザからのパーミッションが義務付けられています。HTTPSを必須とする使要件は近年導入された強力なAPIには共通の要請で、古いAPI(例えばgeolocation)などにも順次適用されていく事が合意されつつあります。<br /><br />例外にも記述できず、というのが何を意味するのかわからなかったのですが、MIDIの利用がJava Script実行中のサイトに対して許可されているかどうかは、Permissions APIを使って判別可能です。<br />http://qiita.com/yoichiro@github/items/5d699abd2e261107a7e5#permissions-api-for-the-web<br />この記事が参考になるかもしれません。また利用不可能の時にはrequestMIDIAccessのPromiseがrejectで返ってくるはずです。許可されていない場合にはSecurityErrorになります。<br /><br />また、ホームページ上に公開されているWeb MIDIのサンプルは、未だに(正式にWeb MIDIをリリースした)Chrome 43以前の実験的な仕様、あるいはセキュリティ的に厳格でない仕様を元に書かれている事があります。特に個人ページの過去のブログなどは修正される事は稀ですので、記事の公開された時期を確認したり、不明な点はコミュニティで質問したり、W3Cの仕様やMDNなど一次情報源として頂くのが良いかと思います。<br /><br />SMF再生については、Kawaiさんがさっそくサンプルを作って公開しています。<br />https://plus.google.com/+RyoyaKAWAI/posts/bQXvwYaSYL9とよしまhttps://www.blogger.com/profile/10448579535122005471noreply@blogger.comtag:blogger.com,1999:blog-7917490780950028760.post-56374005439454726932015-09-20T09:17:00.698+09:002015-09-20T09:17:00.698+09:00こんにちは。
返事が遅れてすみません。
Web MIDI APIのサンプルサイトなどで、Chrom...こんにちは。<br />返事が遅れてすみません。<br /><br />Web MIDI APIのサンプルサイトなどで、Chrome ver.45(Windows10です)ブラウザによる試聴をしてみましたが、内蔵(Microsoft Software Synth)MIDI音源による再生ができず。<br />Chromeでの「このサイトでのMIDIへのアクセスが許可されていない。」となり、例外にも記述できず、Chromeのバグなのかはわかりませんが、万人向けではないと判断しました。<br /><br />全然急いでおりませんので、お待ちしております。どうぞよろしくお願いします。Anonymoushttps://www.blogger.com/profile/11175523443580459276noreply@blogger.comtag:blogger.com,1999:blog-7917490780950028760.post-2998012387609487682015-09-16T22:16:02.885+09:002015-09-16T22:16:02.885+09:00SMFを再生するライブラリをJSで書いて、Web Midi Linkを音源として再生させればお望みの...SMFを再生するライブラリをJSで書いて、Web Midi Linkを音源として再生させればお望みの機能は実現できるかと思います。Polymerを使えば再利用も簡単にできるかと思います。<br />例えば、みたいなタグを定義して演奏させる事もできるはずです。<br /><br />既に存在しているライブラリですと、Web Midi LinkをPolymer化したものはこの辺<br />https://github.com/ryoyakawai/x-webmidi/tree/master/extras/wm-webmidilink<br />にあるのですが、SMF再生を含めてとなると、まだ誰も作っていないかもしれません。<br />SMF再生のライブラリ自体は既にいくつも出てきているかと思います。<br /><br />お急ぎでなければ、僕の方でそのうちPolymerコンポーネント化した物を作ってみます。とよしまhttps://www.blogger.com/profile/10448579535122005471noreply@blogger.comtag:blogger.com,1999:blog-7917490780950028760.post-23631147092839161272015-09-14T00:18:11.368+09:002015-09-14T00:18:11.368+09:00単純にChromeバージョン45以降のブラウザで、WEBサーバーに置いたMIDIファイルをWEBペー...単純にChromeバージョン45以降のブラウザで、WEBサーバーに置いたMIDIファイルをWEBページで再生したいのですが、簡単にできる方法をご存知でしたら、ご教授お願いします。<br />基本的には、FirefoxやIEやSafariなどですと、Windows Media Player プラグインで、再生可能なんですが、ChromeがNPAPIを非サポートしているのでこの方法が使えません。<br /><br />Chromeでは、唯一WEB MIDI API位しかないのではないかと思うのです。<br />MIDI.JSみたいなものもあるようですが・・・。<br /><br />ブラウザ判別も必要となると思われます。<br /><br />よろしくお願いいたします。Anonymoushttps://www.blogger.com/profile/11175523443580459276noreply@blogger.com