waveの音程を変えて再生するには?(できるだけ早く)


たかみちえ  URL  2001-06-06 08:55:17  No: 74459  IP: [192.*.*.*]

えっと、MIDIのキーボードを作成するにあたって、
MIDIデバイスが開かれているときにも使えたらいいと思うので、
デバイスが使えなければ、waveで代用しようと思うんですけど…。

  そのときの再生時の音階を変えたりしてできませんか?
キーボードなので、なるべく早くできることで済ませたいです。

編集    削除
たかみちえ  2001-06-06 09:00:07  No: 74460  IP: [192.*.*.*]

ぁ、ログのなかに、こんなAPIを見つけました^^;
waveOutGetPitch 
これで解決したら、するかもしれません。
8オクターブ12音すべての音をとってwaveデータにして詰めて…。
と言う強引なマネだけはしたくないものです^^;

編集    削除
こころ  URL  2001-06-06 10:37:07  No: 74461  IP: [192.*.*.*]

何だか、すごいことになってますね。
要はMidi音源を自分でつくりたい、ってことでしょうか。
その場合、当然waveOut系のAPIで再生すれば
waveOutSetPitchでピッチの変更もできますが
MSDNには以下のような記述もあります。
> すべてのデバイスがピッチ変更機能をサポートしているわけではありません。
なので、ピッチ変更機能をサポートしてない場合、
どうするのかっていう話しもあります。

後、Midiで言うなら、複数の鍵盤が押された状態をサポートするのに
Wave音声を合成する必要もでてくると思いますが・・・。
う〜ん、大変そう。

編集    削除
たかみちえ  2001-06-07 08:58:56  No: 74462  IP: [192.*.*.*]

>  後、Midiで言うなら、複数の鍵盤が押された状態をサポートするのに
>  Wave音声を合成する必要もでてくると思いますが・・・。
  あうう…。そっか…。
  そんなのもありましたねぇ…。

  MIDI音源を作るようなほどのことは、しなくてもいいかなとは思うんですけど…。
あくまで、シーケンサを使うその横で使う道具なので、
MIDIデバイスが使えなくても動きはするくらいのものはほしいし…。
それだけのためぐらいでいいし…。

  やっぱりすべての音階のWAVEファイルをとって、
再生するのがいちばん簡単なのでしょうかねぇ…?
波形加工とか、いろいろな加工をすれば、全部の音で2,30キロほどには押さえられるだろうし…。

  でも、その音はいったいどこから?
マイクはなぜか、キーボードの音だけ受け付けないし、
MIDI音源から取ってもなんだかいやだし、
一定の音を合成すれば可能だって、誰かが言っていたというウワサはありますけど…。

編集    削除
こころ  URL  2001-06-07 11:38:38  No: 74463  IP: [192.*.*.*]

まぁ、用途によりけりなんでしょうが、
トラック毎に楽器が異なる場合等、
どのトラックをどういう風に
演奏していくかもポイントになるでしょうね。

Waveファイルがデータである以上、
そのデータ構造を知れば、書き換えは可能でしょうが・・・。
サンプルで、テンポ値を無理矢理書き換えて変更する、
ってのを見たことがありますし、それと似たようなものでしょう。

高さを用意するより、音の種類を用意して
様々な楽器を使用されてもそれなりに聞こえるぐらいの
数は用意しておく必要があるかと。

編集    削除
たかみちえ  2001-06-08 04:14:11  No: 74464  IP: [192.*.*.*]

えっと、まあ、結局自分のいやがってたことをしているわけですけど…。

>  Waveファイルがデータである以上、
>  そのデータ構造を知れば、書き換えは可能でしょうが・・・。
>  サンプルで、テンポ値を無理矢理書き換えて変更する、
>  ってのを見たことがありますし、それと似たようなものでしょう。
  それは難しいでしょうねぇ^^;
ふつうに波形加工のソフトで、少しずつやっていきます。
小さいWAVEデータなら、修正もラクだと思うし。

  MIDIデバイスを使った演奏を主体にするつもりなので、
とりあえず、グランドピアノほか、ストリングとか、それくらい、
よく使うであろう楽器の音だけでいいと思うので^^;
後は、リソースには入れず、ユーザーがいれかえられるようにするとか。

  ただ、そのWAVEデータをどこからとってくるかは問題ですねぇ…。
ここのWAVE作成のも使ってみますけど…。

編集    削除
たかみちえ  2001-08-21 08:15:49  No: 74465  IP: [192.*.*.*]

よくわからないけど、"出来るかも"と言うことが分かりました。
"テンポを変えて再生"と言うサンプルを見たんですけど、
同じ要領でWAVEバイナリファイルを書き換えれば可能かもしれません。

  さぁ〜て、どこを変えましょう^^;

編集    削除
たかみちえ  2001-08-23 19:34:04  No: 74466  IP: [192.*.*.*]

仕様が分からなければ、どこを変えればいいかも分かりません^^;
どこを変えればいいんでしょうか?
"日本語の"仕様書ってありませんか?
(やっぱり英語だと、序文を翻訳するだけでも一苦労…)

編集    削除