wavファイルを保存する方法

タグの編集
投稿者 aign  (中学生) 投稿日時 2010/2/10 02:40:11
こんにちは

wavファイルを保存する方法を探しているのですが、なかなか見つかりません(泣)

できれば、音楽ファイルの詳細を変更して保存するプログラムを教えていただきたいです。

よろしくお願いします。
投稿者 馬シカ  (小学生) 投稿日時 2010/2/10 03:32:30
本を買えば?
投稿者 aign  (中学生) 投稿日時 2010/2/10 03:34:40
お金がないです・・・(泣)
投稿者 (削除されました)  () 投稿日時 2010/2/10 07:43:36
(削除されました)
投稿者 るきお  (社会人) 投稿日時 2010/2/10 22:10:11
こんにちは。

VBをはじめいっぱんのプログラム言語の標準の機能では、
サウンド関連はあまりいじれないです。

>できれば、音楽ファイルの詳細を変更して保存するプログラムを教えていただきたいです。
具体的にはなにがしたいのでしょうか?
この分野は目的によって、回答が大きく変わってくるので、
先にやりたいことを具体的に書いたほうが回答がつきやすいです。
投稿者 aign  (中学生) 投稿日時 2010/2/13 21:09:58
やりたいことは、音楽編集ソフトを作って
音楽の詳細とか音声を調節したりするソフトを作りたいです。

そこでwabファイルを保存する方法と検索しても
なかなか出てきませんでした(泣)
そこでみなさんに聞いてみることにしました

どうかよろしくお願いします
投稿者 るきお  (社会人) 投稿日時 2010/2/14 21:27:42
こんにちは。

前にも書いたようにあまり欲張ったことは標準の機能では出来ないので、
(というより、できることが非常に少ないので、)
多くの機能はあきらめるか、標準でない方法を模索することになります。
標準でない方法とは、
①そのような機能をもっていてVBから呼び出せるライブラリが公開されていないかさがしたり、
②自分でwavファイルのフォーマットを解析してすべての処理を書いたり
することです。
①はそういった使いやすいライブラリがあれば高機能なプログラムが比較的簡単にできるようになる可能性があります。…が私はそういうものが存在するかわかりません。
②は非常に高難易度で事実上無理です。wavファイルの仕組みだけでなく、音声や数学についての知識が必要になると思います。

それで、今回の件ですが、
>音楽の詳細とか音声を調節したりするソフトを作りたいです。
これだと最初の投稿と同様で具体的ではなく、情報を持っている人がいても回答しにくいです。

具体的というのはたとえば、
A.wavファイルの名前を変更したい。
B.wavファイルをmp3にしたい。
C.wavファイルのビット数を変更したい。
D.2つのwavファイルをつなげたい。
E.wavファイルに反響効果(Reverb)をつけたい。
F.wavファイルにchorus効果をつけたい。
G.wavファイルでドレミファソと演奏するところをレミファ#ソラにしたい。
H.マイクで録音したものをwavファイルをして保存したい。
などです。
そして、A~Hはまるで方法や難易度が変わります。

だからaignさんがやりたいことを具体的に書いていただければ、
それは超高難易度なので事実上できません。とか、
それなら○○クラスの○○メソッドで云々。とか、
DirectXを使えばできると思いますが具体的な方法まではわかりません。とか、
回答がつくようになります。
(つかないかもしれませんが)

そうでないと、この返信の冒頭にかいたような漠然とした回答が精一杯です。

A~Hのような具体的にやりたいことを書くことはできますか?
投稿者 Totti  (その他) 投稿日時 2013/1/30 12:24:20
はじめて投稿します。
当方リタイアした人間なので社会人とは言い難いので「その他」にしました。VBは初級者で市販の本とネットを参考にしています。 いまVB2010を使っていくつかプログラムを作っています。

このログに投稿した理由はこのログの最後に「D.2つのwavファイルをつなげたい」という記事を見つけたからです。

現在小生がやりたくて方法が分からないのはwavファイルをプログラムの中で自由につないで再生したいことにあります。フリーソフトなどでは簡単にできますがプログラムの中でやりたいのです。

これまでこの掲示板の中の「wavファイルの読み込み」”http://rucio.cloudapp.net/ThreadDetail.aspx?ThreadId=10223”を参考にしてwavファイルをByte配列にして、Array.copyを使ってそれを結合しようとしましたがうまく行きません。

簡単にできる方法が有りましたらご教示下さい。
投稿者 YuO  (社会人) 投稿日時 2013/1/31 11:59:36
新しい質問は,たとえ類似していたりしていても,新しいスレッドに書いた方が良いです。
# 検索を用意にし,内容の発散を防ぐため

とりあえず,.wavファイルというのはコンテナなので,RIFFのfmt チャンクに含まれる,
WAVEFORMAT(EX)構造体のwFormatTagの値によって,dataチャンクをどう繋げるかが変わります。

.wavファイルは単純にリニアCPMデータがそのまま入っているわけでも,
そもそもリニアPCMデータ以外のデータも入れられることに注意して下さい。
投稿者 YuO  (社会人) 投稿日時 2013/1/31 12:00:02
Eratta: 用意→容易
投稿者 Totti  (その他) 投稿日時 2013/1/31 20:44:50
おっしゃる通りですね。 内容が拡散するのはあまり良くないですね。
新しい質問として書き直します。

ただ、頂いた回答は初級者には少々難しすぎます。新しい質問にもう少し初級者に分かるように詳しく書いて頂けませんか? 宜しくお願いします。
投稿者 ウンス  (社会人) 投稿日時 2013/2/1 07:16:12
> ただ、頂いた回答は初級者には少々難しすぎます。新しい質問にもう少し初級者に分かるように詳しく書いて頂けませんか? 宜しくお願いします。 

逆にいえば、貴方のやりたいことは初級者ではハードルが高いということです。
足し算を理解できていない人に、いくら丁寧に掛け算を教えようとしてもそれは無理があるというものです。

ただ、少なくとも、出てきたキーワードに対してGoogle等で検索を行うことはできますよね?
せっかく回答がついたのですから、その内容について自分で調べるなどの努力はすべきではないですか?
初級者だからという甘えは厳に慎むべきです。
若輩者の私が申し上げるのも大変僭越なのですが、人間いつまでも勉強が必要です。
そうやって苦心してようやく求めるものが完成したときの喜びはまたひとしおです。