[DRUMSOFT 旧BBS][全部]

OS XでMIDIシーケンサ計画

というわけでTool de MusicをイデアとしてMIDIシーケンサを創ります。とりあえず今日、EDIROL(慣れないなこの表記…RolandのDTM部門な)の最安インターフェイスUM-1S( <a href="http://www.roland.co.jp/products/dtm/UM-1S.html" target="_top">http://www.roland.co.jp/products/dtm/UM-1S.html</a> )を購入しました。
65 Harao 2003-05-26 01:51 permalink
バーチャルMIDIの接続は見事解決しました。asCraft LightというSoft Synthe完成です(パチパチ)。下記URLに載せましたのでお試しを! BeatDeckDietでのコントロールも試してみます。
http://member.nifty.ne.jp/mukaihara/
63 hrk 2003-05-21 22:04 permalink
Haraoさん、どもです。
ソフトシンセできたら是非試させて下さい。「いろいろ載ってた」は
http://www.drumsoft.com/cgi-bin/t_bbs/t_bbs.cgi?1022
のスレッド辺りの話ですね。
ちなみに広告が放置されているのは削除スクリプトを作っていないからっす。従って61も当分残りますけどあしからず。。。
一方当方は全然コードかく時間が取れないす。
62 Harao 2003-05-20 01:08 permalink
Safariで書き込んだら文字化け。61削除お願いします。

AUDIO UNITで検索していたら、たどり着きました。Soft Syntheを作ってます。MIDI対応したのでシーケンサでテストしようと思いましたが、Vertualの繋ぎ方が分かりません。このページにいろいろ載ってたので参考にします。Soft Syntheは近々僕のWebに掲載予定。
60 hrk 2003-03-03 03:51 permalink
とりあえず、BeatDeckDiet014を出しました。
http://drumsoft.com/drum/beatdeck/
でもコードもっと直したいなー。何もわからず書いてた部分が多いから。

>Hiroakiさん
まさにそれっす。Virtual Source。でもPeteさんの作ってるMIDI Patchbayを使えば一応全部解決できるっぽいっすね。。。
59 Hiroaki 2003-03-02 02:06 permalink
MusicPlayer自体はそうですね。MusicSequenceをSMFから生成して、そいつをMusicPlayerに食わせて再生するってのが主目的かもしれません。
ただ、同じMusicPlayer.hの中のMusicSequenceは、一からnoteOnイベントなどを付加していけます。MusicSequenceはSMFに出力できるので、MusicPlayer.h全体を見ると一概に再生だけというわけでもないみたいですね。

演奏がもたついたりするパフォーマンスの悪さは、これはOS X本体のCPUリソースの配分の問題かもしれません。まぁ、MIDIの再生にCPUパワー10%行くのもどうかと思いますが…(PowerBook G4 550MHzで)。
58 Hiroaki 2003-03-02 01:58 permalink
ああ、virtual sourceってのはMIDISourceCreate()でやるやつですか、もしや。
SimpleSynthは、いわばデータの受け手であるSimpleSynth側が"SimpleSynth virtual input(MIDIDestination)"を作ってくれるので、BDDは今まではMIDIGetDestination(int num)とかで送り先を探していた。
しかし、Raxのほうは、自分へのデータの送り手をMIDIGetSource(int num)で探すからBDDのほうで送り先をVirtual Sourceにしなくちゃいけなくなった…。
って感じでしょうか。

うーむ…。
僕は前述のパッチベイを作った時は、MusicPlayerの送り先のMIDIDestinationを作って、そこで受け取ったMIDIPacketListをコールバック関数を使ってMIDISend(outPort, *destDevice, packetlist)しただけなので、だいぶ状況は違うかもしれませんね。
57 hrk 2003-03-02 00:34 permalink
この辺、文章で説明するとわけわかめっすね。
じきにちゃんと図で解説します…Appleのドキュメントも字ばっかりだし…
56 hrk 2003-03-02 00:33 permalink
ちなみにVirtual SourceとMIDIClientの違いも経験則で理解しててちゃんと言葉で説明できないのですが…
MIDIClientをアプリの中で作るとそれは外部MIDI機器(=USB-MIDIインタフェースとか)と同じ扱いになって、MIDIServiceのタイミング調整サービスを受けられる。一方Virtual Sourceはもっと低レベルな接続になってて、パソコンの内部アプリ同士を直接接続する方法で、発信側がイベントを送った瞬間に受け側に届いてしまうんですね。パフォーマンスが落ちるのでなく、速すぎるんです。遅延を減らす事を考えるとこの方が合理的なんですが、その分ソフトシンセ側でウェイトをかけてイベントを処理する必要があって、それをやってくれないソフトが多くて困ったなって話なんです。
MusicPlayerはアプリの中で簡単にSMFファイルを鳴らす環境を提供する目的なのかな?パフォーマンスがあまり良くないとの事ですが、QuickTimeの代替といった感じなんでしょうか。
55 hrk 2003-03-02 00:20 permalink
どうもHiroakiさんはじめまして。僕もCoreMIDI弄ってる日本語のサイトは見た記憶無かったです。日本語の情報無いですしね…この辺もOS X Audioサイトでカバーして行きたいです。
(http://drumsoft.com/coreaudio/)
AudioToolBox/MusicPlayerはMIDIServiceとかに比べてかなり高レベルなAPIですね。作ってるシーケンサはリアルタイムでデータを編集できて、SMFに載らないようなデータも扱いたいので、その辺は実は全然触っていないんです。
まあ、実は僕もよく分かってなくて勉強しながら作ってますので、AudioToolBox辺りも一通り調べたいと思います…
54 Hiroaki 2003-03-01 22:59 permalink
ごめんなさい、上の文章をSafariで書き込んだら文字化けしてしまいました。削除していただけると幸いです。

はじめまして、Hiroakiともうします。
今、CoreMIDIをいじってる方を見つけて嬉しい感じだったりします^^;
ほんとCoreMIDIなサイトって少ないもんで…。

ちょっと上の方でデータの出力の話題がありましたが、AudioToolBoxフレームワークのMusicSequenceをいじると簡単にSMFに出力できそうです。試してないのであまり大きなことはいえないのですが…。

Virtual Sourceのお話がありますが、これはMIDIClientとはまた別物ですか?
なんかCoreMIDIにはいろんな概念があって未だ頭の整理がついてないです^^;
僕は、MusicPlayerから出力されたデータを一旦MIDIClientを経由させて、コールバック関数を使ってパッチベイのように出力を変えるってなことをやったことがありますが、特別パフォーマンスが落ちた気配はありませんでした。
というか、MusicPlayer自身のパフォーマンスがあまり良くないです。バックグラウンドで動かしたりすると、WindowManagerにCPUリソースを奪われることが結構あります。


なんか、書きなぐったような感じになってしまってすみません。でもほんとCoreMIDIなサイトをみつけてうれしいです^^;
これからのBDDの発展に期待してます。


ここからは手前味噌の話でして…。
当方、Mac OS X 10.2になってAudioToolBoxフレームワークのMusicPlayer.hのMusicPlayerがMIDIEndpointRefの接続に対応したのに勢いづいて、単純なMIDIプレイバッカを作りました。
良かったらのぞいてみて下さい。
思うところあってオープンソースにしていないので申し訳ないのですが…。
http://hiroaki.rocket3.net/
52 hrk 2003-03-01 02:12 permalink
とりあえず、MidiPipeにイベントを通す事でこの現象は回避できる。
<a href="http://www.macupdate.com/info.php/id/10541" target="_top">http://www.macupdate.com/info.php/id/10541</a>
MidiPipeはMIDIイベントを受け取って中継するソフトで、左側のボックスのパレットからの機能を選んで右側のボックスにドラッグすると使える様になる。
Midi InとMidi Outを右側ボックスにドラッグして、それぞれMidiPipe InputとMidiPipe Outputを指定し、BeatDeck側の出力をMidiPipe Input、Rax側の入力をMidiPipe OutputにすればOKだ。

というわけで、週末にBeatDeckDietをアップデート。
51 hrk 2003-03-01 02:04 permalink
どうやら、Virtual SourceにMIDIを流すと流した瞬間にシンセ側にイベントが渡ってしまうみたいだ。なのでNoteoffできなかったり、イベントが来た瞬間Noteoffして音が出なかったりしていた。
CoreAudioのMIDIイベントはイベントと一緒に「そのイベントがいつ実行されるか」の情報が付随していて、シーケンサ側がいい加減な時間にイベントを出力してもちゃんと指定された時間にシンセにイベントが届く様になっている。これは時間情報を持たない外部MIDI機器にメッセージを届けるために必要な機能だ。
けれども、Virtual Source経由でイベントを流す時はこの機能が働かないので、シンセ側で指定された時間まで待ってからイベントを実行する要に処理する必要がある。SImpleSynthやRaxで不都合が起きたのはこれをやってなかったらだ。
シーケンサ側で正しい時間まで待ってから出力すればいいじゃないかと思うかもしれないが、それをやってしまうと微妙なプロセスの遅れが全部MIDIの遅延になってしまってかなり嬉しくない結果になるはずだ。だからBeatDeckは1/16小節毎に次の1/16小節に必要なMIDIイベントを全部まとめて送信している。タイミングの調整はシステムのMIDIサービスにやってもらう(=Virtual Sourceを使わない)か、ソフトシンセ自身が行う(Reasonはきちんとやっている事)必要がある。
50 hrk 2003-03-01 01:12 permalink
Virtual SourceにMIDIを出力しないとRaxやReasonで音が出ないのでVirtual Sourceへ出力する様に実装してみた結果。
・Reason: 普通に鳴らせる。ばっちり。
・SimpleSynth: 何故かNoteOffされてない(Virtual Source経由でなければNoteOffされるのに)
・Rax: 音が出ない
Raxを鳴らしたかったのになんでだろ〜
49 masa 2002-12-05 23:28 permalink
うっぴょ〜、お元気そうで何よりです。
キビシ〜卒論をこなしておりますなぁ。がんばってくださいね。
データーの保存!
非常にお待ちしておりま〜す。
でも、今の刹那的な使用感も非常にヨイデス。(笑)

48 hrk 2002-12-05 17:50 permalink
そうそう10.2だとMIDI Audioの管理ツールがあるらしく!
早く使ってみたい!
というか実は10.2買ったんですが、時間無いのとHDの空きが足りないために入れてません。
とりあえず父親がぱそこん新しく買うのでそれが来たらaiffとmp3(6ギガくらいある)まるごとそっちにコピーして空きを作って10.2を入れます。

なんかAppleのオーディオ関連の仕様書見てると将来的にはOSレベルでビジュアルなオーディオパッチツール(Maxみたいの)が用意されて、アプリは一個一個エフェクターとかシンセとかシーケンサーとかちっちゃいのをいっぱい立ち上げるようになるような気がする。というかそうなってくれると開発が楽です。

とゆうわけでGarowさん10.2での動作報告ありがとございます。
来年2月から開発再開します。よろしくです。
47 hrk 2002-12-05 17:41 permalink
どうも、かわいすぎてエロすぎて萌え萌えな片岡です。
ソフトの開発ともどもココも放置状態で申し訳ないっす。
結局卒論は音楽と何も関係の無い、「携帯とかネット家電みたいな環境でのマウス代わりのポインティング手法」みたいなコトをやっております。
一方週1でやってるラジオで(自分でも久々に)BDDiet使ってみたりしました。
卒論終わったらデータの保存とMIDI Sync辺りから手をつけたいです。
あと最近HALとかAudio Unitの資料とかも電車の中で読んでわくわくしてます。
なのでオーディオ関係のソフトも作りたい。
さっぱりわかってないんですが。

ところで
<a href="http://www1.odn.ne.jp/~aag37890/BeatBox/index.html" target="_top">http://www1.odn.ne.jp/~aag37890/BeatBox/index.html</a>
こんなのが!
なんかBDDietににてる!これがあればBDDiet開発しなくていいのかなぁ。
とりあえずソース見てみよかな…と思いきやシェアウェア2000円かよ…
(あとMIDIシーケンサーじゃなくて中に簡単な音源もってんのかな?)
こういうの見るとシェアウェアの値段を査定する団体、とかあればいいと思った。
Sound Studioの50$は高い。MacAmpの22$は安い。
似た機能のソフトがフリーで手に入るかでだいぶ価格評価が変わるよね。
46 masa 2002-12-04 19:34 permalink
ども!!

最近どをっすか?
私、遂にableton LIVEなwebを作ってしまいました。
<a href="http://www.linkclub.or.jp/~factory/" target="_top">http://www.linkclub.or.jp/~factory/</a>
でやんす。
そうそう、今日久しぶりにBDDを稼働!!(笑)
Vsampと合わせて、音ネタ作りをしてみました。
いやぁ、やっぱり一画面でマルチチャンネルで編集できるのって、イイッスわぁぁ。
Vsampで幾つものDrumSetとFXsetを多くのMIDI chにロードして、ドガグシャな事しても一画面で収められるので楽です。
45 Garow 2002-11-29 18:14 permalink
OS XでMIDIシーケンスを探していました!
OS X10.2ではOS標準でMIDIシーケンス機器を管理できるようで、
PC98以来、手軽にコンピュータでシーケンスさせることを断念していた僕にとってちょっとうれしいニュースでした。

でも、実際MIDIコントロールするソフトが無いので、なにもできませんでした。
BeatDeckDiet試してみました。ばっちりですよ。うれしいです。
動作環境は、
PowerBookG4/400 MacOSX 10.2
MIDI interface: FastLane-USB(ドライバーはベータです)
楽器: KORG N1R
です。今後の開発楽しみにしております。
43 masa 2002-10-14 10:19 permalink
なるほど。
私はもし外部のMIDI機器と同調させる等に発展したときに、同期だけのものが一つあると、それを経由してすべてのシーケンサーを操作できると、案外おもしろいかな〜って思った物でして。(笑)
#それってOMSみたいなものって事になっちゃったりして(爆笑)
それを発展させて、各シーケンサーからのデーターを元に加工したデーターを他のシーケンサーに流す。
もうグッチャグチャのインタラクティブな事をさせるなんて、無理すぎた事を考えてみたりして。
そうそう、家にもwikiで稼働させているサーバーがあるでゴンス。(Swikiですけど)
<a href="http://factory.tvnet.ne.jp/" target="_top">http://factory.tvnet.ne.jp/</a>
で、ほそぼそ稼働中!!(爆笑)
42 はるかおひさです 2002-10-10 01:25 permalink
今ライブの準備もアレですがそれ以上に卒論が大変かもしれない感じです。いろいろ論文調べてます。できれば作曲に関するインターフェイスをやりたいのですが。
<a href="http://drumsoft.com/hrk/study/" target="_top">http://drumsoft.com/hrk/study/</a>
にWikiを作ってメモしてます。こっちのプロジェクトと相互に応用できるといいなあ。

2コ上のアイデアはすげーいいんですがやっぱり初心者向けのをイッコつくらないとダメかなって思ってます。その後マニア向けに特化したインターフェイスを続々と。
ちなみにコンダクターはどのアプリでも最前面でユーザが操作してるアプリがマスターになって全体を統括できるようにする必要があると思います。いちいちコンダクターに切り替えとかめんどいので。
41 masa 2002-09-12 11:25 permalink
ををっ!! 神の啓示かぁ!!
それ良いっすね。
最終的に同期をさせる為だけのシーケンサーも欲しいっすね。
コンダクターの様にそれをイジルだけでテンポが変えられるみたいな。
#つまり昔のSYMPTE同期でしたっけ? それだけの機能!
40 hrk 2002-09-10 09:29 permalink
今降りて来たッ!
現在のインターフェイスはほぼそのままで、メロディ部分はそれ専用のシーケーンサーを別アプリで作ってMIDI同期させるッ!
(同期が遅かったらOSC経由で事前にタイミングとる様な合わせ方に変更)

例えば、TR-606とTB-303とMC-202はそれぞれ「音源とその音源向けのシーケンサー」を内蔵してて、同期だけとってアンサンブルできたのネ。
そういう感じで「いちパート==いちシーケンサー」みたいにしたらどうかなあと。今のBDDietはリズムとサンプラーのループ用に特化させて、別にメロディフレーズ用シーケンサーとか、コード用シーケンサーとか、ベース用シーケンサーとか作るのね。そんでそれぞれ別アプリで、同期していっぺんに動くと。

そうしたらアプリ一個のコードも小さくなるから、「そんじゃーTB-303のシーケンサー部分チックなルックアンドフィールのシーケンサー作るべ!」みたいな事もやりやすくなるし。
既にお気に入りのシーケンサーがあればそれと一緒に使える。
39 hrk 2002-09-09 00:31 permalink
特に、先述の a)の、今のインターフェイスにどうメロディのデータ(ノート情報を含んだイベントを)追加するか悩んでいます。
現在の四角が組合わさった発音シンボルを「パッド」、追加予定のノート情報を含んだ発音シンボルを「ノート」と呼んでいるんですが。
・トラックにパッドとノートを混在させる。この場合フォトショップのツールみたいにツールを切り替えて(ノートツールとパッドツールと選択ツールみたいな)ノートとパッドを入力、編集する。
・パッド専用トラックとノート専用トラックを使い分ける。この場合ツール切り替えは不要。トラックのパッドモードとノートモードを切り替えた場合、そこに既に乗っているイベントはどうするの??
38 hrk 2002-09-09 00:31 permalink
その路線で少しプロジェクト見直していたんですが、デモ制作に使える様にするためには
a) トラックにメロディを入力できるようにする
b) ファイルに保存できるようにする
c) MIDIキーボードの入力でデータを編集できるようにする
辺りが必須項目です。そんでちょっと諦めました。今週中ぐらいにデモを(アプリをじゃなくて)完成させないといけないので…
37 masa 2002-09-05 10:50 permalink
やほ〜!
お久しぶりです。
10/6にライブがあるんですね〜。ぜひBDDietの開発で押して欲しいですね。(笑)

Vsampってそこがツライところなんですね。
VSTiにも対応しているのですが、そこがキビシくてCubaseやLogicで使わなくなっていたんです。
替わりにFreeのLoopAZoidってのを使っていました。
確かVSampってSoundFontの形式が使えるんですが、今主流の圧縮形式には対応していないので、そこらへんに出回っているFreeのセットは読み込めないんですわ。(泣)
36 hrk 2002-08-27 00:27 permalink
わーいVSampでた〜!
でもVSampって結局笑っちゃう程使いづらくて・・・
この間白楽ローカルラジオで演奏に使ったんだけど、あんなにたくさんフォームならべるんならExcelみたいにカーソルキー辺りで移動させてくれないときついよね。ああ反面教師。

ちなみに最近は10/6のライブに向けて
・BDDietの開発を続けてデモ制作に使えるようにしてからデモ制作するか
・それでは間に合わないとあきらめて古い98NOTEでデモ制作するか
の瀬戸際ゲーム理論です。
35 nrd 2002-08-26 16:14 permalink
VSamp 3.2.7でた〜!
OSX <a href="http://www.vsamp.com/VSamp.sit" target="_top">http://www.vsamp.com/VSamp.sit</a>
OS7 8 <a href="http://www.vsamp.com/VSampClassic.sit" target="_top">http://www.vsamp.com/VSampClassic.sit</a>
日本語説明書? http://www.vsamp.com/VSampManualJ.pdf
34 masa 2002-08-17 10:33 permalink
ども、お久しぶりです。

そうなんですよ、LIVEってサンプルループシーケンサーなんでやんす。
昔のACIDみたいですね。
でもsyncで動いたり、動かせたりするのでBeatDietとの共存がおもろいかも?と思っていたのです。
LIVEもリアルタイムでシーケンスを変化させる事が出来る、"LIVE"でJamができるソフトっすから。
33 hrk 2002-08-15 01:47 permalink
ウヒェ、もう2週間こっちのプロジェクト放っといてますね私。
先週はなんかあちこち飛び回ってました。各種イベントから房総の南端まで。
今後のプロジェクトの予定としては、優先度で
学業のJAVA課題>>試験勉強=BeatDeliプロジェクト
って感じです。でも20日までにちょっと機能強化しないとなー。

> #ただ、発音は全て追い付いているのかな?(笑)
うーん追い付いていないでしょうね :)
追い付いてないというか、抜けるんだと思います。イベントが。

> しかし、私は今無職で休職中なので、仕事探しに夢中です。(笑)
あら、前のお仕事のスキルとか生かせる仕事とかあるといいですよね!

abletonLIVE、デモ版使ってみました。これってサンプルループを鳴らすソフトなんですね。僕MIDIシーケンサーだと思ってました。慣れると便利そうですね。とりあえずサンプラーでピッチを細かく合わせるのより。
32 masa 2002-08-04 22:29 permalink
どうも、おひさしぶりです。
0.13試しました。BPMがウケます。(笑)
すんごく早くなると、そのビート自体が音程を持ってくるのでいいですね。
#ただ、発音は全て追い付いているのかな?(笑)

しかし、私は今無職で休職中なので、仕事探しに夢中です。(笑)
31 hrk 2002-08-01 17:54 permalink
で、忙しくて全然コードいじれてなかったので、少しバグを直す程度の改変を加えました。BeatDeckDiet 0.13 alpha Now Available です。
ほんとにちょっとした更新なんですが。チャンネル0,1問題やBPMの可変範囲も直しましたよ。

BPMが2000まで設定できるのでガバのクリエイターは必見ですね。
30 hrk 2002-08-01 17:50 permalink
じつはVSTって何ができるのか全然知らないんですよ…
PC-98のTool de Music以降、DTMに全然興味示して来なかったと言うか、Tool de MusicとMU-5と4トラMTRと楽譜があれば全然バンドのデモ作りには困らなかったんで。
でもシーケンサーを自作したいって言うのは長年の夢だったんですけどね。

そんな時代錯誤野郎ゆえDTM関連の新しい仕組みとか全く分かってないのですが、OSC (Open Sound Control)には激しく注目してます。なんかこう枠だけあって中身はアプリで自由に決めていい規格なので、今後変なアプリが一杯出てくるんじゃ無いでしょうか。
Max/MSP関係ではもうOSC使っていろいろできるらしいっすね。SuperCollider ServerはOSC経由でしかアクセスできないみたいだし。
文字列ベースでメッセージをやり取りするリッチで自由度の高い仕様も今風です。
29 hrk 2002-08-01 17:43 permalink
Vsamp使えました。
あれーキーボードウィンドウからは音鳴らせるのにBDDietから鳴らせない…と思ってたらチャンネル-1問題に自分でハマってました。
チャンネル番号ゼロベースにするならデフォルトのチャンネルもゼロじゃなきゃ駄目じゃん>自分

ついでにオクターブの数字もVsampとは一つずれている。ノート番号0ってC-2だと思ってたんですが僕の思い違いなんでしょうか。
VSampはレゾナンスがきつくて面白い。ブレイクビーツを鳴らしてフィルターかけるとエイフェックスツインみたいな音が出る。でもLFOがリトリガーしないモードが欲しいな。あとこれって単チャンネルシンセにしかならないのでしょうか。演奏用みたいな。
28 masa 2002-07-30 11:58 permalink
そーなるとやっぱりVST関係の実装が必要になってくるかも?
VSTi系統だとAKAI等のパッチがそのまま使えるのもありますよ。
#う〜ん、壮大な事になっちゃいますかね。(笑)

なんにせよ、機能のチェックぐらいしか役に立ちませんが、テストはしますので頑張って下さい。
楽しみにしています。
27 hrk 2002-07-29 23:28 permalink
オッケーAIFFでいけるんですね。
SoundAppはOS X版出てないからずっと使ってなかったけど久々に使ってみます。
本当はサンプラーは外部サンプラーの方がライブにも使えていいんですが、パソコン1台で完結するのも楽でいいな。
音色をパッチの設定ごと丸ごと移せてソフトシンセとスタンドアローンの音源で同じ機能が使えるサンプラーがあればいいなあ。

Syncは実装します。ただいつになるかは…でも自分でも使うのでいずれ必ずやります。
今週アップデートしなかったですがそのかわしソフトのページをWikiにしようと準備中です。
26 masa 2002-07-29 10:57 permalink
Vsampはwavは読めないのでやんす。
読み込めるのはAIFFとSDIIとsys7(だっけ?)だけです。
#こうなったらSoundAppかなんかでバッチで変換しとくってのかどうでしょう?(笑)
確かに、Vsampは使い方がちと面倒なのは何ですな。
しかし、Jaguarは高い気がする.......
どう考えても、今までのマイナーアップと変わりがない様なきがするなぁ。

LIVEはやはり駄目でしたね。
ゼヒSyncの実装をネガウ!(他力本願モード)
25 hrk 2002-07-27 21:59 permalink
うお、Vsamp試したけど使い方が良く分かりませんでした。
これwavファイルは読み込めないんですか?
(utaに貰った大量のwav音ネタが…)
あとSimpleSynthでも挙動が怪しいと言うか、たまに音符が落ちているみたいですね。ただ外部MIDI音源鳴らしたときは音符落ちないで、もしかしたらMIDI Serverの不具合かな(根拠無しの推測ですが)。OS XのAudio関係はまだまだ未完成って話なんで、MIDI周りも同様なんじゃないかなー。
Jaguarにしたら治ってるかな。アレってアップグレード版とかタダでくれないのかなー?

LIVEはSimpleSynthの作者もススメてましたねー。
でもBeatDeckDietはまだSync実装してないので同期できないです。ちょっとまってね。
24 masa 2002-07-23 21:08 permalink
なるほど、そうですねぇ。
今の所、MIDIのチャンネルは僕が持っている物は1からスターとなんで、そう思っちゃいました。

んでもってOS XのMIDI Serverで動くもの、試してみました。
物はVsampってソフトサンプラーでやんす。
これはOS Xに対応している物が出ていて、シェアウェア登録してあったもんで試してみました。

動きましたよ。

ただ、珠に動作がアヤシイことがあるのですが、詳しく追い詰めてテストしてみてませんので、Vsampに問題があるのかどうかを試しきれていません。
今度、じっくり試してみます。

あ、そういえば僕お気に入りのabletonLIVEってACIDライクなソフトがあるのですが、これってOS X対応だった。
とりあえずLIVEにはMIDIの同期なんかの機能があったと思いますので、今度試してみておきます。
23 hrk 2002-07-23 19:23 permalink
あ、細かいアップデートまで追い掛けて頂いてすみません。
これからも週刊ペースで出します。

そうそうチャンネルの表記はM$のVB使ってる人(そんな子いるかな?)にはおなじみだけど、「数えはじめは0か1か」問題でズレてるんです。
MIDIの規格で流れてる信号は0から数えてて、そのまんま表示してるんですが、シンセ側では表示するときに+1して1から数えてる機材の方が一般的な感じですね。次から直しときます。

実際プログラムナンバーなんかそれが原因で頻繁に1個ずれてたりするよね。あと何故か8進数表記だったりわけわかんないよね。

SimpleSynthが動くと言う事は、他のソフトシンセもOS Xネイティブに動くもの(厳密には、OS XのMIDI Serverで動くもの)は全部動くんじゃ無いかと言う事です。
持ってる人に是非試して欲しい。でもOS XネイティブなMIDIソフトシンセって何があるんでしょ。Pete YandellさんオススメのReasonとか試してみようかな。
22 masa 2002-07-22 17:26 permalink
あ、ごめんなさい。+1ではなく-1です。
例えば10chに出力したいときには9chをアサインしないといけないって感じです。
とりあえず判っているんで、大丈夫なんですが。(笑)
21 masa 2002-07-22 16:24 permalink
0.12alpha使ってみましたよ。
更にSimpleSynthも使ってみました。

合わせて使うと、昔のRolandな感じがいいでやんす。(笑)

そして、ちょこっとだけ気になったのですがMIDI Channelが一個ずれていません?
MU5でやっても+1だし、SimpleSynthでも+1のようです。
20 hrk 2002-07-21 09:43 permalink
ごめん0.12 alphaの間違いだよ
19 hrk 2002-07-21 09:42 permalink
BeatDeckDiet 0.11 alpha Now Availableでござんす。
でもアイコンついたよって他は細かいフィックスだけでござんす。
18 hrk 2002-07-21 05:18 permalink
発見!!
Pete Yandell さんが SimpleSynth というアプリを作っておられます!
<blockquote>A simple soft synth for Mac OS X that takes input from a connected MIDI device and can play instruments from Soundfonts and DLS files including Apple's default General MIDI sound set. Small but poweful!</blockquote>
(訳)「Mac OS X用のシンプルなソフトシンセだよ。MIDIキーボードとか繋げばSoundfontsとかDLS filesとか鳴らせるよ。ちっちゃいけどパワフル!」
<a href="http://pete.yandell.com/software/" target="_top">http://pete.yandell.com/software/</a>

で、これ使うと外部MIDI機器無しでMac1台で音楽つくれる!!!!
(手順)
*SimpleSynthとBeatDeckDietを起動します(順番は問わない)
*SimpleSynthのウインドウで'MIDI Source' を 'SimpleSynth virtual input' にしておく
*BeatDeckDietのウインドウで'Connect'ボタンを'SimpleSynth'って横に表示されるまで押す
あとはBeatDeckDietでシーケンスしたりSimpleSynthで音色を選ぶだけ。
かんたんだ!!

SimpleSynthではデフォルトでAppleのGMセット(いわゆる'QuickTime音色')が選ばれてます。
ペシャペシャの音色でそれはそれで面白いのですが、誰かいい音色ファイルを見つけたら教えて下さい。そもそもSoundfontsとかDLS filesって何?
17 hrk 2002-07-21 05:17 permalink
masaさんどうもチェックして頂いてありがとうです。PBG4いいっすねー。
Roland以外のインターフェイスで動いたという事で、よかったです。
ところで音源は僕のテスト環境と一緒ですね…(机の上狭くなるからソフトの開発中はこれ1台)
#普段はごついサンプラーとか使ってます。

ところで「原人コッツ」!!あれ確かに玩具のふりしてシーケンサーですよね。後ろ側に細い線を引き回して、同期信号だけ流して、一体一体の内部で小さいシーケンサー(4クロックに一回叩く、とかそういう感じの)が動いてた様な気がします。違うかな。まだ手に入るんでしょうか。
あのスタイルでスタンドアローンのシーケンサー作ったら面白いかもしれません。ちっちゃいパーツを組み合わせてシーケンスを作る様な。
16 masa 2002-07-20 19:01 permalink
そうそう、私はPBG4/400で、TASCUM US-428をMIDIインターフェイスに、音源はYAMAHAのMU5を使ってみました。
#いや、いつもはVSTiのソフトシンセを使っちゃっているものでして。(笑)

問題なく動いていますよ。
15 masa 2002-07-19 10:45 permalink
これオモシロイです。
今、サンプルコラージュ的な作り方がお気に入りなんだけど、それのMIDI版って感じでハマります。

とりあえず、「原人コッツ」な感じはいいですわ。
14 hrk 2002-07-14 02:33 permalink
BeatDeckDiet 0.11 alpha Now Available
13 hrk 2002-07-10 08:56 permalink
<a href="http://www.m-audio.co.jp/products/bias/Deck3.5/Deck3.5.html" target="_top">http://www.m-audio.co.jp/products/bias/Deck3.5/Deck3.5.html</a>
「Deck」って名前のソフトがあるのかよ。そんなん知らんかった。
「テープデッキ」っていい方が大好きで付けた名前だったんだが。
Tool de musicのUIもオープンリールのメタファーだったし。
名前変えようかな。"Dezilla"とか。そもそも用途が違うんだが。
12 hrk 2002-07-09 02:11 permalink
現状考えてる事(開発作業以外のトコで)
・ドキュメントの英訳やってくれる人いっないっかな
・でもいなければ自分でやる、ソースのコメントも整備しないとな
・この先この冷房無い自室でハックはきついな
・目指せ毎週アップデート、でも学校の方がキツいかも
・バグ報告とオープンソース的コミュニケーション向けにMLとか設置した方がいいんかな
・それよりドキュメントをWiki使ってオンラインでまとめていこうかな
・もちろん両方まとめて設置してもいいけど参加者少なくて空転するのは寂しいな
・でもutaは励ましてくれてるし(Thanks!!!!)utaはML,Wikiについてはどう思います?
・某ソフトリンクページに「開発中だ」って説明抜きで紹介されてたよ
・がっかりした人も多いかもなあ「SMF読めんのか、それはいらん」とか
11 hrk 2002-07-08 23:38 permalink
> オープンソースの、皆の眼で、バグが解決できる+自分の好みに
> 改造できるっていうとこは良いと思われだけど、
> 問題はむしろ、皆が好き勝手いじっちゃって、結果なんか、
> 何がやりたいのか分けわかんないようになっちゃうのが怖いよね。
実は4つ上の僕の文章では「自分で」バグ解決できて「自分の」責任で全てが完結するからイイ。って事しか言ってないんですヨ。わざと :-P
(もちろんオープンソースのそういうメリットも利用できるだけ利用したいと思ってますが)

今の所BeatDeckは、自分と、若しくは自分以外のBeatDeckを使って何か楽しい事をやれる人にとって楽しいアプリになればよいと思ってます。
SourceForgeを通して開発&リリースすれば世界中から優秀なプログラマーさんが集まって、みんなが使いやすい汎用性が高くてフリーなシーケンサーができるかも知れない。でもそうすると自分だけが楽しい変な機能は入れにくくなるよね、って事で今の所そっちには行かないと思います。
その辺も含めて、BeatDeckDietの添付ドキュメントには長々とBeatDeckの未来像が書いてあるので、時間のある時に楽しんで読んでくれい。

ま、まだ先の話だとおもうけどね。(それはそうと郷愁おもちゃプログラムBubbleToyの方はどうでした?試してない?ソフトウェアページから"toys"ページに入って…)
10 hrk 2002-07-08 23:31 permalink
い、いえー。すげーのかな…
まだ殆ど何にもできないんだけどね。
プログラム書いてるときって各プロセスの段階的な動作しか見えないから、それが実際に連続して動いたときにきちんと「ズレずにリアルタイム」を実現して動作するっつーのは感動だよね。

ここまで「ズレずに」が重要なプログラムなんて書いた事無かったから、ズレずに動く様になった時は超々々々感動でした。でもズレないのは僕じゃ無くて本当はMIDIService.hのお陰ダヨ!
うん、すげーのは僕じゃなくてMIDIService.hとそんなブツ標準でOSに入れてるAppleかもヨ。
9 uta 2002-07-08 20:55 permalink
なんか見直してみるとあせって書いた+オープンソースなGEEK風英語直訳風でわけわかんないうえにえらそうね。



8 uta 2002-07-08 19:50 permalink
うひょー!
すげーZEハル君!

課題終わったら試すぜぃ+例の信施の仕様が見えてきたので、
それのコントロールに使いたいNE!

ソフト信施とか、rewireとか、MIDIいじりたい人は、思ったよりも多いので安心してもOK だとおもうZE!

オープンソースの、皆の眼で、バグが解決できる+自分の好みに改造できるっていうとこは良いと思われだけど、
問題はむしろ、皆が好き勝手いじっちゃって、結果なんか、何がやりたいのか分けわかんないようになっちゃうのが怖いよね。

だから、最初のツールどむじーくのイデアをきちんともたんと
いけないとおもうZE!

ま、まだ先の話だとおもうけどさ
7 hrk 2002-07-08 07:57 permalink
やっほーアルファー版公開!
<a href="http://drumsoft.com/drum/beatdeck/" target="_top">http://drumsoft.com/drum/beatdeck/</a>
でも残念ながらココ見てる人の中にも一人もこれ動かせる人いないのよね。
いやOS X入ってれば動かせはするんだろうけどMIDIインターフェイスとか、MIDIを扱う需要が無いと意味無いっつう意味でよ。
いろいろ考えるとESR(エリック・レイモンド)さんが言ってる様な「オープンソースにした方がいい条件」に悉く外れてそうな気もするな。

でも自分が人の作ったモノ使うときには、やっぱりバグを自分で解決できたり、自分のソフトに取り込んたり参考にしたりできた方が便利なわけで、そういう意味ではそういう他の誰かさんの為にソースを公開する意味はあるわけだ。

まあ「自分でバグを解決」できるかっつうと結構難しくてできない事のが多いかも知れないんだけど。
でも「上手く行かないのは作者のせいで、自分は解決してもらうのを待つしかできない」よりも「自分で解決できる可能性はあるし、それが上手く行かないのは自分のせい」の方が精神的に健康だと思うんですわ。
6 hrk 2002-07-06 04:03 permalink
「演奏オブジェクト」と「データ編集オブジェクト」を別のスレッドで走らせる。のだろうと思ってたんだけど、非同期にアクセスされる不都合を防ぐ為にデータにロックかけたりしなきゃいけなくて面倒くさいな。
と思ってNSTimerをつかってタイマーを使ってシングルスレッドで処理してみた。
しかしテキストフィールドやスクロールバーやリサイズボックスの上でマウスをドラッグするとタイマーが止まって音が途切れてしまう。
というわけでマルチスレッドで組み直しです。
データもロックがかかる様に書き直しです。
5 hrk 2002-07-05 01:54 permalink
今後の予定

MIDI送信
演奏パターンを自由に差し換えられるインターフェイス
MIDI受信によるパターンの編集と演奏パターンの切替(MIDIキーボードを押すと演奏パターンが切り替わるとか…)

SuperColliderのクライアント機能(SuperCollider内のシンセを発音させる)
MIDI->OSC(->SuperCollider)のリアルタイムデータ転送(SuperCollider内のシンセを繋いだMIDI機器で発音させる)

後半別のソフトになってるがな・・・
4 hrk 2002-07-05 01:47 permalink
当初はMIDIデータにフルアクセスできる内容を想定していましたが、そうするとデータエディタ部分だけで半年かかりそうな気がして来たんで、アプリ名をBeatDeckDietに変更して、PadイベントのみのDietバージョンを開発しています。(1トラックについて1種類の音符しか使えない、16beat刻みのみの発音)
ダンストラックには十分な機能だぜ!
んで、データエディタ部分がほぼ形になりました。荒いけど。
<a href="http://drumsoft.com/hrk/grp/20020705.jpg" target="_top">http://drumsoft.com/hrk/grp/20020705.jpg</a>

ようやくMIDI信号送受信のインプリメントができます。
バーチャルなMIDI機器を作って、それに入出力ポートを開けて、外部MIDI装置のポートを検索して接続したいポートとケーブルで繋いで・・・
という内容を数行で書けるっぽい。
すげえな。

MIDI機器発音させられたらソース+本体公開します
3 hrk 2002-06-15 03:39 permalink
ウヒェー知らないMIDIメッセージっていっぱいあるのネ・・・
アクティブセンシングなんて信号送りあってたなんて知らんかったです。
ネットワーク関係の規格のミニチュアを見てるみたいで楽しいわあ。
(あくまでミニチュアで手に負えちゃう所が楽でイイ)
2 hrk 2002-06-07 01:14 permalink
現状ッス。
<a href="http://drumsoft.com/hrk/grp/20020607.png" target="_top">http://drumsoft.com/hrk/grp/20020607.png</a>
デザインセンスねえな。
よくわかんないから見切り発車でいいかげんなデザイン(中身の話)でスタート。
まあまずは試作品。これはライブ向けのシーケンサの予定。
Tempoって書きかけて慌ててBPMって直したりしてます。
Nanoloop風4x4インターフェイスのシーケンサとかも作りたいかも。
1 ハリィ 2002-04-30 01:44 permalink
というわけでTool de MusicをイデアとしてMIDIシーケンサを創ります。
とりあえず今日、EDIROL(慣れないなこの表記…RolandのDTM部門な)の最安インターフェイスUM-1S( <a href="http://www.roland.co.jp/products/dtm/UM-1S.html" target="_top">http://www.roland.co.jp/products/dtm/UM-1S.html</a> )を購入しました。
最初は「マウスとかスマートメディアリーダみたくドライバ無しで動くだろ」ぐらいの感覚でいたのですがMIDIはそんなに甘くなかった。
でもWebページを見たらOS X対応ドライバのβ版が出ていました。
<a href="http://www.roland.co.jp/lib/download/UM1Drv_MacX.html" target="_top">http://www.roland.co.jp/lib/download/UM1Drv_MacX.html</a>
これをインストールして、Developer Toolsに同梱のサンプルmidiechoを実行
(インストール位置はデフォルトで.../Developer/Examples/CoreAudio/MIDI/SampleTools/SampleTools.pbproj)
を起動した所ちゃんと動きました。
-----
[localhost:MIDI/SampleTools/build] hrk% ./midiecho
name=UM-1, manuf=EDIROL, model=UM-1
1 sources
Echoing to channel 1 of UM-1
92 4F 58
92 4F 00
92 58 58
92 58 00
92 40 58
92 40 00
-----
このソースを見るにMIDI機器との通信はTCP/IPの通信よりも簡単そうです。
通信にはMIDIServices.hを使うのか。AppleはOS XからはOMSはいらないっつー感じにしたいように見える。僕もOMS嫌い。
[DRUMSOFT 旧BBS][全部]