カテゴリー「NSX-1/eVY1 SHIELD」の45件の記事

2016年11月 1日 (火曜日)

グランドループを解消するノイズフィルター作った

00

 USB接続の音源を、USBオーディオインターフェイスで録音する際にノイズに悩まされ、いまさらながらノイズフィルターを作ってみました。ポケット・ミクが出たころに話題になっていたあれです

 ポケミクで起きるグランドループ問題を解決するPocket DI : 藤本健の“DTMステーション”

 これで紹介されているPocket DI的なものを作わけです。おもな材料はトランスという部品です。

 これを左右で2つ使えばOK。好きなコネクタつければ完成です。

 Pocket DIはステレオミニプラグ-標準フォーン×2ですが、今回は両端RCAピンにしました。この方が使いやすそうだったので。このへんは好みとか環境とかで好きなものを選べばよいかと。

 こんな感じで、効果は抜群です。

 そういえば、このブログでも過去にこんなのを書いていました。

 ポケミクのグランドループ問題を改めてチェックしてみた

 2年越しで続きを書いている次第です。Arduinoシンセを試してるタイミングというのもあったので。

続きを読む "グランドループを解消するノイズフィルター作った"

| | コメント (0) | トラックバック (0)

2016年6月15日 (水曜日)

ポケット・ミクのアウトレット なんと999円

 初音ミクの声でリアルタイムに歌わせられるハードウェアシンセ、「ポケット・ミク」のアウトレットが一部の書店で出回っている模様。っていうか、買った。

Pokemikuoutlets

 税別999円。書店で見つけた時はかなりびっくり。ほかに、スチールドラムとか、テルミン+もアウトレットで売っていた。価格はそれぞれ違う。スチールドラムは2000円くらい、テルミン+は1200円くらいだった気がする(記憶あいまい)。

 家に帰ってツイッターをチェックすると3日前くらいから、一部の書店に並んでるっぽい。

 ポケット・ミクもスチールドラムも定価で買ったんだけどなあ、とか思いつつ。在庫がだぶついて困ってるのかなあ。どっちもオススメなんだけどなあ。

続きを読む "ポケット・ミクのアウトレット なんと999円"

| | コメント (3) | トラックバック (0)

2015年10月16日 (金曜日)

初音ミクとブラウザで会話できるやつ作った。しゃべるよ(ただし、要ポケット・ミク)

Chatscreenshot

 初音ミクと会話できるウェブサービスというかウェブアプリを作りました。ちゃんと初音ミクの声でしゃべるのがポイント。ただし、声を聞くにはポケット・ミクが必要だ(なくても会話は楽しめます)。こんな感じ↓で遊びます(動画は現在のバージョンとはちょっと違ってますが)。

(追記:2015/10/20)ポケミクなしでも音声で返答できるようにしました。詳しくは最後(追記終わり)

 パソコンだけでも楽しめますが、ポケット・ミクがあれば、より楽しめます。

 文字入力はキーボードのほか、Chromeの音声認識も利用可能(iOSを除く)。

 自分のアイコンは変更可能(会話設定)。URL指定のほか、ツイッターのIDでも指定OK。

 ポケット・ミクは設定不要で自動認識されます。

 ミクはなぜか関西弁です(NTT雑談対話API使用のため)。

 ポケット・ミクによる発声にはWeb MIDI APIというのを使用。そんなわけでブラウザはChromeを使います。iOSのChromeはWeb MIDI API未対応なので、無料で使用できるWeb MIDI Browserを使ってください。

 というわけで、以下のリンクから。


 39 Chat (仮)

 
 とりあえず、まずはブラウザだけで遊んでみてください。

 あと、APIなどの使用制限でサービスが停止する場合があります(そこまで人気が出るとは思いませんが)。その場合は翌日まで待つとかしてください。

 それと、おもしろい会話の履歴があったら教えて下さい。ニコニコ動画にアップしてもらってもいいですよ(たぶん)。ニコニコ生放送で使ってもらってもうれしいです(見に行きます&コンテンツツリー登録お願いします)。

続きを読む "初音ミクとブラウザで会話できるやつ作った。しゃべるよ(ただし、要ポケット・ミク)"

| | コメント (0) | トラックバック (0)

2015年7月24日 (金曜日)

OMGって何? Web Audio APIなWebアプリがFluity Loops V1みたいだと言われ

 Web MIDI APIを使ってポケット・ミクを鳴らすWebアプリ「VOCACID」。公開したのは5月であった。

 MIDI音源がない状態でも遊べるようにWeb Audio APIを使って鳴るバージョンを作ったのも同じ5月のこと。


VOCACID Web Audio API ver. - Browser based rhytm machine & sequencer

 そのWebアプリが動作している状態の動画をYouTubeにアップしてたのだけど、ちょっと前にコメントがついてた。いわく。

 「OMG! Fruity Loops v1! =)」

 OMGって何?

 調べてみると、「Oh My God」の略のようだ。

 で、Fruity Loopsというのは言わずと知れたImage Line社のリズムマシン的なソフトウェアであり、現在はFL STUDIOという名称で知られるDAWソフトウェアだ。

 v1ってことは最初のバージョンのことであろう。

続きを読む "OMGって何? Web Audio APIなWebアプリがFluity Loops V1みたいだと言われ"

| | コメント (0) | トラックバック (0)

2015年5月 8日 (金曜日)

ブラウザで楽しめるドラム&ベース&ポケット・ミクのシーケンサー作った JavaScript/Web MIDI API

Vocacid

 JavaScript、Web MIDI API、Web Components/Polymerなどを使ってウェブブラウザで動くシーケンサーを作成、公開しました。

 ドラムとベースに合わせて、eVocaloid初音ミク(ポケット・ミク)が歌います。ベースの音色変化にも対応しているので、アシッドっぽいこともできたりします。


Web MIDI API Rhythm & Bass Machine / ブラウザで動くリズムマシン&ベースマシン+ポケミク用シーケンサーその1

 アクセスはここから。

 VOCACID

続きを読む "ブラウザで楽しめるドラム&ベース&ポケット・ミクのシーケンサー作った JavaScript/Web MIDI API"

| | コメント (0) | トラックバック (0)

2015年3月19日 (木曜日)

Web MIDI API、Androidでsendのtimestampが無視されるので無理やり対処

 「AndroidのChromeのWeb MIDI APIでsendのtimestampが無視されているっぽい」の続き。Web MIDI APIが持っている時間制御がうまくいかないなら時前でやるしかないんだなあ、という結論に。

 ということで、いろいろやったこと、調べたことをメモ。

 まずは、棒読みシーケンサーで作ったやつを利用しようと思ったのだけど、もっと汎用性があるものにしようと判断。オリジナルのsendメソッドに代わるものを作って追加しようと思った。  調べてみると、メソッドの上書きができる模様。新しいメソッド内にオリジナルのメソッドを入れると無限ループみたいになってしまったので、オリジナルはコピーしておいて、それを新しいメソッド内で使うことで対処。無理やり。JavaScriptの、というかプログラミングの作法がまだわかってないけど、それなりに動くようになった。

 sendメソッドのtimestampは、時間を指定する。window.performance.now()で現在の時刻(ブラウザを開いた時点からカウントアップされている)を取得し、xxミリ秒後に発音するなら、「window.performance.now() + xx」みたいな感じで指定する。以下に例を挙げる。

続きを読む "Web MIDI API、Androidでsendのtimestampが無視されるので無理やり対処"

| | コメント (0) | トラックバック (0)

2015年3月17日 (火曜日)

ポケミクに棒読みさせる - ブラウザで動くシーケンサー作った Web MIDI API

 ポケット・ミクに棒読みさせるシーケンサーをWeb MIDI APIで作りました。音楽の演奏よりしゃべらせるほうがおもしろいんじゃないかと思ったり。

 シーケンサーというのは、機械とかで自動演奏させるやつ(雑な説明)。Web MIDI APIのおかげで、JavaScriptで1つプログラムを作れば、Windows/Macはもちろん、iPadとかAndroidのブラウザで電子楽器を制御できます。こんな感じ。


ポケミク 棒読みシーケンサー / POCKET MIKU speaks in a monotone by Web MIDI API Sequencer

 ということで、試せるページはこれ。

 棒読み+ シーケンサー for ポケット・ミク(仮)

使い方

 自動演奏用のデータ、というかシーケンスは16個のスイッチのON/OFFで発音タイミングを。棒読み用なので、音程は考えない方向で。

 とはいえ、それだけだとつまらないので、音程を上下させるツマミ(ノブ)も配置。MIDI信号のピッチベンドを使用しています。一応、画像も。

Pokemikubo

 ページを開いた際にはMIDIデバイスを指定する必要あり。シーケンサーの再生ボタンを押した時にMIDIデバイスが設定されていなければ、設定用ダイアログが出ます。

 SENDと書かれたボタンが右にある入力欄は、歌詞入力用。棒読み用だから、歌詞じゃないか。

 シーケンスには2種のプリセットの読み込みと、全部消すボタンも。手抜きなので、iOSやAndroidだと反応がにぶい(タッチ対応してない)。

デバイスなどの準備

 ポケミクをブラウザで動かすには、Windows、Mac、AndroidではChromeを使用。iOSデバイスではWeb MIDI Browserを使用します(App Storeのリンクは最後)。いずれも無料です。すばらしい。

 Chromeでは最初に以下のURLをブラウザで開いて設定が必要。

 chrome://flags/#enable-web-midi

 「Web MIDI APIを有効にする」の欄にある「有効にする」 をクリックして、Chromeを再起動します。

 (追記:上記操作は現在は不要になりました)

 とか、そのへんはこのプログラムの元になったヤマハのGitHubのページ「Yamaha-WebMusic GitHubPage」に詳しい。

 Web MIDI Browserは面倒な設定は不要。すばらしい。ただ、CHromeももうすぐ上記設定が不要になる模様。

続きを読む "ポケミクに棒読みさせる - ブラウザで動くシーケンサー作った Web MIDI API"

| | コメント (0) | トラックバック (0)

2015年3月 9日 (月曜日)

音声認識とひらがな変換むずかしい - ポケミク Webアプリ制作

1_20150309_225439

 「ポケミクに音声認識でしゃべらせる」の続き。ポケット・ミクとWeb Speech APIによる音声認識とひらがな変換の話。

 Webアプリはここです。

 ポケット・ミク 音声認識・発音 Kodama 39

 Web Speech APIの音声認識のロジックは元のプラグラムKodamaそのまま。何も考える必要はありませんでした。すばらしい。で、ソースにはルビ変換を入れるならここ、みたいなコメントがあったのでそれに従います。

 オリジナルのKodamaは日本語しか読みません。ヤマハの開発者の方がひらがなへの変換を入れるのはカンタンなはずなのですが、あえてやっていないのでしょう(ユーザーの活動を促す的な意味?)。

 で、漢字-ひらがな変換をなんとかすることにします。やったことのない類の処理なので不安に思いつつもなんとかなるだろうとスタート。

 最初、変換にYahoo!のルビ振りを使ってみました。

 しかし、これが数字を無視する。数字の認識結果は1245といったアラビア数字になるのですが、これをまったく読まない。ということで、ここからが試行錯誤。

 漢数字にすればいいのでは? ということで、これを試します。
 アラビア数字→漢数字変換(桁付き)する JavaScript - drk7jp

 とってもナイス! ばっちり変換できます。しかし。Yahoo!のルビ振りは数字を漢字に変換しても読んでくれない。これはひどい。一とか四とかは読む。というわけで、「十、百、千、万」を「じゅう、ひゃく、せん、まん」に変換。こうすると、「1254」が「一せん二ひゃく五じゅう四」みたいになるので確実に読んでくれます。しかし、千葉県が「せんばけん」になってしまった。これは完全にこちらのミス。どうしましょう。

 さらに「ミュージシャン」を読まない。ひらがなへの変換で「みゅーじしゃん」になるのですが、今度はNSX-1が音引きの「ー」を読まない。そりゃそうか。音を伸ばせばいいだけだから。最初は音引きを削除してしまえばいいかと思ったのですが、自分で操作して演奏するならまだしも、しゃべらせるときはそうもいかず。「みゅうじしゃん」みたいに変換すればいいのだろうなあ、と気づいた時に思い出しました。そういうのを変換するやつがあったなあ。

 で、結局ミク語変換APIを使うことに。

 音引きを解決してくれるのはもちろん、漢数字変換とあわせて、数字も読みます(「478」は「よんななはち」になるので、変換を挟む)。すばらしい!

続きを読む "音声認識とひらがな変換むずかしい - ポケミク Webアプリ制作"

| | コメント (0) | トラックバック (0)

2015年3月 7日 (土曜日)

ポケミクに音声認識でしゃべらせる

 ポケット・ミクを音声認識でしゃべらせます。

 Webアプリはここ→ ポケット・ミク 音声認識・発音 Kodama 39
 (2016年3月 URL移動しました)


ポケット・ミクに音声認識でしゃべらせる / POCKET MIKU & Speech Recognition

 ヤマハがNSX-1用サンプルとしてMITライセンスで公開しているWebアプリ「音声認識・発音 kodama」を改造。

 パソコンのマイクでしゃべった声を認識し、ポケット・ミク(ポケミク)が日本語で発音します。音声認識はパソコンがやります。

  • ポケット・ミクにも対応(NSX-1モードへの変更は不要)
  • 漢字をひらがなに変換して発音(オリジナルはひらがなのみ)

 このへんがオリジナルとの主な違い。Chromeブラウザで動作。パソコンにポケット・ミクを接続、画面上のマイクボタンをクリックしてデバイスを選択(正常に認識されていれば、NSX-39が選択されているはず)したあと、マイクに向かってしゃべってください(ノートPCなら内蔵マイクがあるはず。デスクトップなら外部マイクを接続してください)。

 初回利用時はChromeの設定が必要。 chrome://flags/#enable-web-midi をアドレスバーに入力後、「Web MIDI APIを有効にする」の欄にある 有効にする をクリックし、Chromeを再起動。

 セットアップ方法やオリジナル版のライセンスは以下のリンクからどうぞ。
 Yamaha-WebMusic GitHubPage へようこそ!

 ポケット・ミクのWebアプリは以下から。こちらも参考にしています。
 ポケミクアプリ | 歌うキーボード ポケット・ミク | 大人の科学.net

 漢字からひらがなへの変換はミク語変換APIを使わせていただきました。
 ミク語変換API

(追記 2015/03/09)

 棒読みがつまらないので、ノブで抑揚をつけられるようにしてみました。

 Web Componentsによるノブはwebaudio-knobを使わせていただきました。
 webaudio-knob
 webaudio-controls

 ノブはKnob Galleryから以下を改変したうえで使用させていただきました。
 kjLEDknob.knob by Keith Johnson © 2015

 このへん、はじめて使いましたが、すごいですね。

(追記終わり)

続きを読む "ポケミクに音声認識でしゃべらせる"

| | コメント (0) | トラックバック (0)

2015年2月27日 (金曜日)

JavaScriptのタッチ操作ではまる。マウスイベントとタッチイベント、Bootstrapのhoverとか。

Flatkeyboardwebmidibrowser

 iOSでWeb MIDI APIが使えるようになった。Web MIDI Browserによって。ということで、プログラミングを久々に再開。PC上では動くようになったので、iOSで試してみる。反応が遅い。jQueryのせいかと思ったのだけど、そうではなく、.clickで発火させていたからだった。プログラムのタッチ対応が必要。そこでいろいろ試行錯誤。

 参考にしようとしたのは、Ryoya KAWAIさんが公開しているflatkeyboard.js」。以前試した際には、タッチイベントとマウスイベントの両方が発生するWindows 8のChromeでうまくいかず、無理やりな対処をしたのだったけど、今回、改めてチェックすると、それへの対処がすでになされていた。ラッキー。ありがとうございます。しかし、コードを読んでもいまいち理解できず。圧倒的な自分のスキルのなさを再確認。

 自分で作ったコードにあまり手を入れずになんとかできるものがないかと探したら、これを発見。

 【jQuery】コピペOK!タッチ操作とマウス操作の動作定義をまとめる | ユガラボ はてなブックマーク - 【jQuery】コピペOK!タッチ操作とマウス操作の動作定義をまとめる | ユガラボ

 最小限の修正でうまく動いた。すばらしい! ありがとうございます。

 で、動作はするようになったのだけど、表示周りで別の問題が発生。Bootstrapを使ったのだけど、PCとスマホで表示が違う。というか、マウス操作とタッチ操作で挙動が異なる。問題はhover。PCではhoverで色が変わる。マウスカーソルを外すと色が戻る。タッチだと、hoverないのだけど、タッチした時に色が変わる。離しても変わったまんま。別のボタンを押すとそちらが色が変わり、さっきタッチしていたボタンの色が戻る。そんな感じ。むむう。

 ということで、別途classを指定してそれで制御する方向に。しかし、元の擬似クラスhoverが存在するので、うまいこといかない。jQueryではhoverなどの擬似クラスは制御できないということを知る。

 CSSの疑似クラスは非DOM。JavaScript/jQueryで直接操作は不可能。style要素の動的変更で対処せよ - プログラミングとIT技術をコツコツ勉強するブログ はてなブックマーク - CSSの疑似クラスは非DOM。JavaScript/jQueryで直接操作は不可能。style要素の動的変更で対処せよ - プログラミングとIT技術をコツコツ勉強するブログ

 ということで、cssにて:hoverを上書き。hoverで色が変わるのをやめる。というか、hoverした際に、元の色になるように。オリジナルのbootstrapのcssファイルにてを付けずに、別のcssファイルを作成してそれで。今後、なんらかの差し替えがあったときに最小限の修正で済ませられるようにとの目論見。もっとスマートな方法があるんだろうけど、今の自分ではここまでしかできない。

 このほか、ボタンまわりを操作している際にスクロールしない技などもいろいろ調べる。IEのみのやつだとcssで-ms-touch-actionとかtouch-actionで、指定できたりするのだけど、そうでない場合はやっぱりイベントを見てpreventDefaultとかする必要があったりとか。そのへんも今回初めて知った。

 で、これで思った通りの動きになった。イベントリスナー的なものがいっぱいになったので、動作が遅くなってるのかもしれない(あまりわかってない)。コードもだいぶ長くなってしまった。もう少し何とかならないかと、再度、flatKeyboard.jsのコードを眺める。わからない部分をいろいろ検索しながら調べていくと、たまたまこんなのを発見。

 jquery - Javascript click and mousedown conflicting - Stack Overflow

 フラグを用意して、それで判断するという方法。短いコードでサンプルが出ているので、わかりやすかった。あらためて、flatKeyboard.jsを見たら、何をしようとしているかがわかってきた。

 こらからこれでもう一度やってみようと思う。メモ。

続きを読む "JavaScriptのタッチ操作ではまる。マウスイベントとタッチイベント、Bootstrapのhoverとか。"

| | コメント (0) | トラックバック (0)

より以前の記事一覧