検索結果 13 件

by yuu
13年前
フォーラム: C言語何でも質問掲示板
トピック: 白色雑音の作り方
返信数: 56
閲覧数: 21456

Re: 白色雑音の作り方

どのように直せばいいのでしょうか?
file_sizeの2倍にすればいいですか?
by yuu
13年前
フォーラム: C言語何でも質問掲示板
トピック: 白色雑音の作り方
返信数: 56
閲覧数: 21456

Re: 白色雑音の作り方

fwrite(data,sizeof(short),1,fp)のように変えればいいですか?
by yuu
13年前
フォーラム: C言語何でも質問掲示板
トピック: 白色雑音の作り方
返信数: 56
閲覧数: 21456

Re: 白色雑音の作り方

#include<stdio.h> #include<stdlib.h> int main(void){ FILE *fp; unsigned char s[4]; short head[]={0}; unsigned long var_long,file_size; unsigned short var_short; unsigned long i; file_size=44100*2*2*10; fp=fopen("a.wav","wb"); s[0] = 'R'; s[1] = 'I'; s[2] = 'F'; s[3] = 'F'; fwrite(s, sizeof(char), 4...
by yuu
13年前
フォーラム: C言語何でも質問掲示板
トピック: 白色雑音の作り方
返信数: 56
閲覧数: 21456

Re: 白色雑音の作り方

すいませんでした。
バイナリエディタの件については一応エディタを見ながらやっていますが、一応数値はちゃんと書きだされているのですが・・・
音は全くでないです。
by yuu
13年前
フォーラム: C言語何でも質問掲示板
トピック: 白色雑音の作り方
返信数: 56
閲覧数: 21456

Re: 白色雑音の作り方

#include<stdio.h> #include<stdlib.h> #include<math.h> int main(void){ FILE *fp; unsigned char s[4]; char head[]={0}; unsigned long var_long,file_size; unsigned short var_short; unsigned long i; file_size=44100*2*2*10; fp=fopen("a.wav","wb"); s[0] = 'R'; s[1] = 'I'; s[2] = 'F'; s[3] = 'F'; fwrite(s,...
by yuu
13年前
フォーラム: C言語何でも質問掲示板
トピック: 白色雑音の作り方
返信数: 56
閲覧数: 21456

Re: 白色雑音の作り方

データの部分を下のようにしてみたのですがこれでは音が出ませんでした。

コード:



	 for (int b=0;b<=44100*10*4;b++){
              short c;

		b=b++;
		c = rand () %65534-32767;

    fwrite(&c,sizeof(short),1,fp);
    
    }



 
by yuu
13年前
フォーラム: C言語何でも質問掲示板
トピック: 白色雑音の作り方
返信数: 56
閲覧数: 21456

Re: 白色雑音の作り方

いろんなサイトで調べてみるとshortとかlongとか書いてあったので
プログラムを作っていくうちにごちゃごちゃしてよくわからなくなっていました。
今回はlong型で大丈夫そうですので、long型で書いていきたいです。

実際にファイルに書き込む場合はその白色雑音自体は乱数を使って書きたいのですが、
その部分が一番わかりませんでした。

まず、適当な音を出せるようにまでなりたいのですが、データの書き方はどんな感じになるのでしょうか?
by yuu
13年前
フォーラム: C言語何でも質問掲示板
トピック: 白色雑音の作り方
返信数: 56
閲覧数: 21456

Re: 白色雑音の作り方

sofyaさんありがとうございます。
あとはデータのところなんですが、これはint型で大丈夫でしょうか?
データの部分は調べたのですが、書き方とか数値の入れ方とかいろいろと詳しく載っているところがなくて困っているんですが
データの部分はどのような感じで書けばよろしいでしょうか??
by yuu
13年前
フォーラム: C言語何でも質問掲示板
トピック: 白色雑音の作り方
返信数: 56
閲覧数: 21456

Re: 白色雑音の作り方

RiffTagにはRIFFという文字列が入る SizeofFileにはwavetag以降のデータのサイズが入るので、10秒のwavファイルを作りたいので44100*2*2*10+36 WaveTagはRIFFの種類がWAVEであることを表すのでWAVEという文字列が入る FmtTag fmtが入る(スペースも含む) SizeOfFmt fmtチャンクのバイト数でリニアPCMなので16 FormatID フォーマットID リニアPCMなので1 channels チャンネル数 ステレオを作りたいので2 SamplingRate サンプリングレート これは44100Hzのを作りたいので44100 B...
by yuu
13年前
フォーラム: C言語何でも質問掲示板
トピック: 白色雑音の作り方
返信数: 56
閲覧数: 21456

Re: 白色雑音の作り方

SizeofFileの部分は10秒のファイルを作るということでサンプリングレート44100*10+36に変えてみたのですがこれで大丈夫でしょうか?

BytesPerSecのところはステレオなので44100*2*2に変えてみましたがこれでよろしいでしょうか?
by yuu
13年前
フォーラム: C言語何でも質問掲示板
トピック: 白色雑音の作り方
返信数: 56
閲覧数: 21456

Re: 白色雑音の作り方

あとは
SizeOfFile = 44100 * 2 * 2 * 10 + 556;
BytesPerSec = SamplingRate * 10;

の部分が怪しいということで、これは何が間違っているのでしょうか?
by yuu
13年前
フォーラム: C言語何でも質問掲示板
トピック: 白色雑音の作り方
返信数: 56
閲覧数: 21456

Re: 白色雑音の作り方

たいちうさん気づかなかったです!!
ありがとうございます。
by yuu
13年前
フォーラム: C言語何でも質問掲示板
トピック: 白色雑音の作り方
返信数: 56
閲覧数: 21456

Re: 白色雑音の作り方

大変失礼なことをしてしまってすいませんでした。

自分なりに考えてみたのですがわからないところが多々あります。
まずデータの部分は16ビットの場合は符号付き整数(-32768 - 32767) で表わす、と調べたのですが間違っているのでしょうか?

詳細検索ページへ移動する