6 6.1 sound_wav_files flu00.wav.wav 44.1 khz 1/44100 spwave Text with Time spwave t T = N t N 44.1 khz t = 1 sec j t f j {f 0, f 1, f 2,, f N 1

Similar documents
p = 1, 2, cos 2n + p)πj = cos 2nπj 2n + p)πj, sin = sin 2nπj 7.1) f j = a ) 0 + a p + a n+p cos 2nπj p=1 p=0 1 + ) b n+p p=0 sin 2nπj 1 2 a 0 +

[1] #include<stdio.h> main() { printf("hello, world."); return 0; } (G1) int long int float ± ±

£Ã¥×¥í¥°¥é¥ß¥ó¥°(2018) - Âè11²ó – ½ÉÂꣲ¤Î²òÀ⡤±é½¬£² –

/* do-while */ #include <stdio.h> #include <math.h> int main(void) double val1, val2, arith_mean, geo_mean; printf( \n ); do printf( ); scanf( %lf, &v

: CR (0x0d) LF (0x0a) line separator CR Mac LF UNIX CR+LF MS-DOS WINDOWS Japan Advanced Institute of Science and Technology

(5 B m e i 2π T mt m m B m e i 2π T mt m m B m e i 2π T mt B m (m < 0 C m m (6 (7 (5 g(t C 0 + m C m e i 2π T mt (7 C m e i 2π T mt + m m C m e i 2π T

C による数値計算法入門 ( 第 2 版 ) 新装版 サンプルページ この本の定価 判型などは, 以下の URL からご覧いただけます. このサンプルページの内容は, 新装版 1 刷発行時のものです.

1 4 2 EP) (EP) (EP)


[ 1] 1 Hello World!! 1 #include <s t d i o. h> 2 3 int main ( ) { 4 5 p r i n t f ( H e l l o World!! \ n ) ; 6 7 return 0 ; 8 } 1:

1 return main() { main main C 1 戻り値の型 関数名 引数 関数ブロックをあらわす中括弧 main() 関数の定義 int main(void){ printf("hello World!!\n"); return 0; 戻り値 1: main() 2.2 C main

新版明解C言語 実践編

comment.dvi

卒 業 研 究 報 告.PDF

A/B (2018/10/19) Ver kurino/2018/soft/soft.html A/B


C

C 2 / 21 1 y = x 1.1 lagrange.c 1 / Laglange / 2 #include <stdio.h> 3 #include <math.h> 4 int main() 5 { 6 float x[10], y[10]; 7 float xx, pn, p; 8 in

double float

プログラミング基礎

£Ã¥×¥í¥°¥é¥ß¥ó¥°ÆþÌç (2018) - Â裵²ó ¨¡ À©¸æ¹½Â¤¡§¾ò·ïʬ´ô ¨¡

18 C ( ) hello world.c 1 #include <stdio.h> 2 3 main() 4 { 5 printf("hello World\n"); 6 } [ ] [ ] #include <stdio.h> % cc hello_world.c %./a.o

PC Windows 95, Windows 98, Windows NT, Windows 2000, MS-DOS, UNIX CPU

I. Backus-Naur BNF : N N 0 N N N N N N 0, 1 BNF N N 0 11 (parse tree) 11 (1) (2) (3) (4) II. 0(0 101)* (

超初心者用

1.3 2 gnuplot> set samples gnuplot> plot sin(x) sin gnuplot> plot [0:6.28] [-1.5:1.5] sin(x) gnuplot> plot [-6.28:6.28] [-1.5:1.5] sin(x),co

x(t) + t f(t, x) = x(t) + x (t) t x t Tayler x(t + t) = x(t) + x (t) t + 1 2! x (t) t ! x (t) t 3 + (15) Eular x t Teyler 1 Eular 2 Runge-Kutta

£Ã¥×¥í¥°¥é¥ß¥ó¥°ÆþÌç (2018) - Â裶²ó ¨¡ À©¸æ¹½Â¤¡§·«¤êÊÖ¤· ¨¡

Microsoft Word - C.....u.K...doc

θ (t) ω cos θ(t) = ( : θ, θ. ( ) ( ) ( 5) l () θ (t) = ω sin θ(t). ω := g l.. () θ (t) θ (t)θ (t) + ω θ (t) sin θ(t) =. [ ] d dt θ (t) ω cos θ(t

2014計算機実験1_1

‚æ4›ñ

ex14.dvi

t 2 2 t 2 t F ( ) p- 2 2 F 2 G F ( ) 2 2 F 2 G F ( ) 2 2 2

Original : Hello World! (0x0xbfab85e0) Copy : Hello World! (0x0x804a050) fgets mstrcpy malloc mstrcpy (main ) mstrcpy malloc free fgets stream 1 ( \n

gengo1-12

C言語によるアルゴリズムとデータ構造

program.dvi


I. Backus-Naur BNF S + S S * S S x S +, *, x BNF S (parse tree) : * x + x x S * S x + S S S x x (1) * x x * x (2) * + x x x (3) + x * x + x x (4) * *

新・明解C言語 ポインタ完全攻略

Microsoft PowerPoint - 14Gnuplot.ppt

gengo1-12

12.2 電気回路網に関するキルヒホッフの法則による解法 2 多元連立 1 次方程式の工学的応用についての例を 2 つ示す.1 つはブリッジ T 型回路, もう 1 つはホーイストンブリッジ回路である. 示された回路図と与えられた回路定数からキルヒホッフの法則を使って多元連立 1 次方程式を導出する

:30 12:00 I. I VI II. III. IV. a d V. VI

橡Pro PDF

j x j j j + 1 l j l j = x j+1 x j, n x n x 1 = n 1 l j j=1 H j j + 1 l j l j E

gengo1-12

II ( ) prog8-1.c s1542h017%./prog8-1 1 => 35 Hiroshi 2 => 23 Koji 3 => 67 Satoshi 4 => 87 Junko 5 => 64 Ichiro 6 => 89 Mari 7 => 73 D

ファイル入出力

PowerPoint Presentation

1 C STL(1) C C C libc C C C++ STL(Standard Template Library ) libc libc C++ C STL libc STL iostream Algorithm libc STL string vector l

新・明解C言語 実践編

第7章 有限要素法のプログラミング

ex01.dvi

Informatics 2014

9 8 7 (x-1.0)*(x-1.0) *(x-1.0) (a) f(a) (b) f(a) Figure 1: f(a) a =1.0 (1) a 1.0 f(1.0)

joho09.ppt

untitled

II No.01 [n/2] [1]H n (x) H n (x) = ( 1) r n! r!(n 2r)! (2x)n 2r. r=0 [2]H n (x) n,, H n ( x) = ( 1) n H n (x). [3] H n (x) = ( 1) n dn x2 e dx n e x2

XMPによる並列化実装2

資料

kiso2-09.key

1 $ cat aboutipa 2 IPA is a Japanese quasi-government 3 organization established in accor- 4 dance with The Law for Information 5 Processing Technolog

sim98-8.dvi

. (.8.). t + t m ü(t + t) + c u(t + t) + k u(t + t) = f(t + t) () m ü f. () c u k u t + t u Taylor t 3 u(t + t) = u(t) + t! u(t) + ( t)! = u(t) + t u(

1 1.1 C 2 1 double a[ ][ ]; 1 3x x3 ( ) malloc() 2 double *a[ ]; double 1 malloc() dou

コンピュータ概論

ファイル入出力

ex01.dvi

:30 12:00 I. I VI II. III. IV. a d V. VI

スライド 1

Microsoft PowerPoint - 11th.ppt [互換モード]

[1] 1.1 x(t) t x(t + n ) = x(t) (n = 1,, 3, ) { x(t) : : 1 [ /, /] 1 x(t) = a + a 1 cos πt + a cos 4πt + + a n cos nπt + + b 1 sin πt + b sin 4πt = a

1 1.1 C 2 1 double a[ ][ ]; 1 3x x3 ( ) malloc() malloc 2 #include <stdio.h> #include

untitled

£Ã¥×¥í¥°¥é¥ß¥ó¥°ÆþÌç (2018) - Â裱£²²ó ¡Ý½ÉÂꣲ¤Î²òÀ⡤±é½¬£²¡Ý

2017 p vs. TDGL 4 Metropolis Monte Carlo equation of continuity s( r, t) t + J( r, t) = 0 (79) J s flux (67) J (79) J( r, t) = k δf δs s( r,

関数の呼び出し ( 選択ソート ) 選択ソートのプログラム (findminvalue, findandreplace ができているとする ) #include <stdio.h> #define InFile "data.txt" #define OutFile "sorted.txt" #def

#A A A F, F d F P + F P = d P F, F y P F F x A.1 ( α, 0), (α, 0) α > 0) (x, y) (x + α) 2 + y 2, (x α) 2 + y 2 d (x + α)2 + y 2 + (x α) 2 + y 2 =

講習No.12

Minimum C Minimum C Minimum C BNF T okenseq W hite Any D

2008 ( 13 ) C LAPACK 2008 ( 13 )C LAPACK p. 1

USB ID TA DUET 24:00 DUET XXX -YY.c ( ) XXX -YY.txt() XXX ID 3 YY ID 5 () #define StudentID 231


file"a" file"b" fp = fopen("a", "r"); while(fgets(line, BUFSIZ, fp)) {... fclose(fp); fp = fopen("b", "r"); while(fgets(line, BUFSIZ, fp)) {... fclose

G1. tateyama~$ gcc -c xxxxx.c ( ) xxxxx.o tateyama~$ gcc -o xxxxx.o yyyyy.o..... zzzzz.o Makefile make Makefile : xxxxx.o yyyyy.o... zzzzz.o ; gcc -o

練習&演習問題

I J

Microsoft Word - Cプログラミング演習(9)

価格変動のフラクタル性への統計物理的アプローチ

OHP.dvi

kiso2-06.key

情報活用資料

main.dvi

SFGÇÃÉXÉyÉNÉgÉãå`.pdf

A/B (2010/10/08) Ver kurino/2010/soft/soft.html A/B

ohp03.dvi

9 5 ( α+ ) = (α + ) α (log ) = α d = α C d = log + C C 5. () d = 4 d = C = C = 3 + C 3 () d = d = C = C = 3 + C 3 =

Bessel ( 06/11/21) Bessel 1 ( ) 1.1 0, 1,..., n n J 0 (x), J 1 (x),..., J n (x) I 0 (x), I 1 (x),..., I n (x) Miller (Miller algorithm) Bess

Transcription:

6 6.1 sound_wav_files flu00.wav.wav 44.1 khz 1/44100 spwave Text with Time spwave t T = t 44.1 khz t = 1 sec 44100 j t f j {f 0, f 1, f 2,, f 1 6.2 T {f 0, f 1, f 2,, f 1 T ft) f j = fj t) j = 0, 1, 2,, 1; t = T ) ft) ft) 5.1) ft) = 1 2 a 0 + a n cos 2nπt T + b n sin 2nπt ) T n=1 j t f j = fj t) = 1 2 a 0 + a n cos 2nπj t + b n sin 2nπj t ) T T = 1 2 a 0 + n=1 n=1 a n cos 2nπj 39 + b n sin 2nπj ) 6.1)

6.3 2n + p)πj p = 1, 2, cos 2n + p)πj = 2nπj + 2pπj = cos 2nπj 2n + p)πj, sin = sin 2nπj 6.1) n 6.1) f j = 1 2 a 0 + + + p=1 p=1 a p ) a p+1 cos 2πj + p=1 p=1 ) a p+2 cos 2 2πj + b p+1 ) p=1 b p+2 ) + sin 2πj sin 2 2πj + ) a p+ 1 cos p=1 2 1)πj ) + b p+ 1 sin p=1 2 1)πj 1 2 a 0 + a p a 0 a p+1 a p+2 p=1 a p+ 1 a 1 a 2 a 1 p=0 b p+1 b p+2 b p+ 1 b 1 b 2 b 1 p=0 p=0 f j = a 0 + 1 n=1 p=0 a n cos 2nπj + b n sin 2nπj ) p=0 j = 0, 1, 2,, 1) p=0 6.2) {f 0, f 1, f 2,, f 1 6.2) a 0 a 1 a 2 a 1 b 1 b 2 b 1 θ = 2π/ 1) i i = 1 p + 1 1 40

1 r = e ipθ S p = 0 S p 0 S 2) n j cos njθ cos n)jθ, sin njθ + sin n)jθ 3) f 0 f 1 f 2 f 1 n a n = 1 1 f k cos nkθ, b n = 1 1 f k sin nkθ a n a n b n + b n {f 0, f 1, f 2,, f 1 a n = 1 b n = 1 1 1 f k cos 2nπk f k sin 2nπk = 1 = 1 1 1 f k cos nkθ n = 0, 1, 2,, 1) f k sin nkθ n = 1, 2,, 1) θ = 2π 6.3) 6.2) f j 6.3) b 0 = 0 i i = 1 c n = a n ib n c n = 1 1 f k cos nkθ i sin nkθ) = 1 1 f k cos nkθ) + i sin nkθ)) = 1 6.2) a 0 + 1 n=1 a n cos njθ + b n sin njθ) = 1 c n e injθ = a n ib n )cos njθ + i sin njθ) 1 a n cos njθ + b n sin njθ) 6.3) f k e inkθ 6.4) = a n cos njθ + b n sin njθ) + ia n sin njθ b n cos njθ) 6.2) = 1 Re c n e injθ) = Re 1 c n e injθ ) 41

1 Re z) z c n e injθ 6.4) 1 c n e injθ = 1 1 1 f k e inkθ ) e injθ = 1 1 1 f k e ij k)nθ ) 1 e ij k)nθ 1 r = e ij k)θ + 1 j k 1 1) 1 c n e ijnθ = 1 1 1 f k e ij k)nθ ) = f j 6.2) f j 6.3) {f 0, f 1, f 2,, f 1 6.4 = 2M 6.2) 2) 3) n = 1, 2,, M 1 a n = a n, a n cos 2nπj = a n cos 2 n)πj b n = b n, sin 2Mπj f j = 2a 0) 2 + M 1 n=1 b n sin 2nπj = b n sin 2 n)πj = sin πj = 0 6.2) 2a n cos 2nπj + 2b n sin 2nπj ) + a M cos 2Mπj 6.5) j = 0, 1, 2,, 1) 2a n cos 2nπj + 2b n sin 2nπj ) 2nπj = 2s n cos ψ n s n = 6.5) f j = 2a 0) 2 a n2 + b n 2, + M 1 n=1 cos ψ n = a n s n, 2nπj 2s n cos ψ n sin ψ n = b n s n ) + a M cos 2Mπj 6.6) j = 0, 1, 2,, 1) 42

2nπj = 2π n T j t) 2s n {f 0, f 1, f 2,, f 1 n T 2a 0 1 T 2 T M 1 M T T a M { 2a 0, 2s 1, 2s 2,, 2s M 1, a M 6.7) 5000 4000 3000 2000 1000 0 0 1000 2000 3000 4000 5000 Figure 6.1: flute octave 4 Sol 5000 4000 3000 2000 1000 0 0 1000 2000 3000 4000 5000 Figure 6.2: harp octave 4 Sol Figure 6.1 flute octave 4 Sol 43

Figures 6.2 6.3 harp piano octave 4 Sol 5000 4000 3000 2000 1000 0 0 1000 2000 3000 4000 5000 Figure 6.3: piano octave 4 Sol 6.5 6.3) 6.3) 44.1 khz 0.5 = 22050 1 30 1965 2 = 2 k k Fast Fourier Transform FFT FFT FFT FFT ASA FFT 6.3) 1 30 FFT 2 3 FFT http://www.kurims.kyoto-u.ac.jp/~ooura/fft-j.html fft_h_order.c fft4g_h.c fft h order.c fft4g_h.c 44

1).txt flu04.txt flu04 2) T f 0 f f 0 f 3) FFT 2 < 2 k k 4) 2 k 4) 2 < 2 k f j = f 0 j = + 1, + 2,, 2 k 1) flu04 flu04_ext.txt 5) FFT rdft, 1, f) FFT rdft, 1, f) 1367 FFT rdft, 1, f) f[0] f[1] f[2] f[-1] f 0 f 1 f 2 f 1 rdft, 1, f) f[0] f[1] f[2] f[-1] 6.5) a 0 a 1 a 2 a M b 1 b 2 b 1 f[2n] = a n n = 0, 1, 2,, M 1 f[1] = a M f[2n+1] = b n n = 1, 2,, M 1 6) es[0] es[1] es[2] es[m] 6.7) a 0 s 1 s M 1 a M es[0] = 2a 0 es[n] = 2s n n = 1, 2,, M 1 es[m] = a M 7) /* fft_h_order.c */ #include <math.h> #include <stdio.h> #include <string.h> #define MAX 32768) #define MAXH 16387) void rdftint, int, double *); //2^12 = 4096, 2^13 = 8192, 2^14 = 16384, 2^15 = 32768, 2^16 = 65536 int main) { int, tmp, M, i, j, k, n, flag, order[maxh+1]; double T, f[max+1], es[maxh+1]; FILE *fp; char file_name[100], file_in[100], file_out[100]; double zero = 0.0, tmp; 45

// 1) printf"filename = "); scanf"%s", file_name); strcpyfile_in, file_name); strcatfile_in, ".txt"); fp = fopenfile_in, "r"); // 2) j = 0; flag = 1; while 1) { flag = fscanffp, "%lf %lf", &T, &f[j]); if flag == EOF) break; j = j+1; = j - 1; fclosefp); printf"origial: = %d T = %f\n",, T); f[0] = f[0] + f[])/2.0; f[] = f[0]; // 3) k = log)/log2.0); if pow2, k) < ) k = k + 1; tmp = pow2, k); // 4) 2 if tmp > ) { forj = + 1; j <= tmp; j++) f[j] = f[0]; T = T*tmp)/; = tmp; printf"added: = %d T = %f\n",, T); strcpyfile_out, file_name); strcatfile_out, "_ext.txt"); fp = fopenfile_out, "w"); forj = 0; j <= ; j++) fprintffp, "%f %f\n", j*t/, f[j]); fclosefp); // 5) FFT rdft, 1, f); // a[n] = f[2*n]*2.0/ n = 0, 1, 2,..., M-1) // a[m] = f[1]/ // b[n] = f[2*n+1]*2.0/ n = 1, 2, 3,..., M-1) // b[0] = b[m] = 0 // 6) M = /2; es[0] = fabsf[0])*2.0/; es[m] = fabsf[1])/; for n = 1; n < M; n++) { es[n] = sqrtf[2*n]*f[2*n]+f[2*n+1]*f[2*n+1])*2.0/; // 7) for n = 0; n <= M; n++) order[n] = n; for n = 2; n < M; n++) { for k = 1; k < n; k++) if es[k] < es[n]) break; tmp = es[n]; for i = n; i > k; i--) { es[i] = es[i-1]; order[i] = order[i-1]; es[k] = tmp; order[k] = n; 46

// 8) strcpyfile_out, file_name); strcatfile_out, "_FFT.txt"); fp = fopenfile_out, "w"); n = 0; fprintffp, "%d %d %f %f %f %f %f %f\n",, n, n/t, f[n]*2.0/, zero, es[n], es[n]/es[1], T); fprintffp, "%d %d %f %f %f %f %f\n", M, M, M/T, f[1]/, zero, es[m], es[m]/es[1]); for k = 1; k < M; k++) { n = order[k]; fprintffp, "%d %d %f %f %f %f %f\n", k, n, n/t, f[2*n]*2.0/, f[2*n+1]*2.0/, es[k], es[k]/es[1]); return 0; 8) 1) flu04 flu04_fft.txt 1 T n = 0 0 0 T 2a 0 0 2a 0 2a 0 T 2s max s max s 1 s 2 s 1 2 n = M M M M T a M 0 a M a M 2s max 3 n = 1, 2,, 1 n 2s 1 2s 2 2s M 1 k 2s n k+2 k n n T 2a n 2b n 2s n 2s n 3 n T 2s max fft_h_order.c fft_h_order./run.sh fft_h_order flu04.txt har04.txt pia04.txt tub04.txt vio04.txt ~/csc flute harp piano tuba violin octave 4 Do 47

Linux flute octave 4 Do fft_h_order flu04 flu04.txt flu04_fft.txt 2500 1800 1600 2000 1400 1200 1500 1000 1000 800 600 500 400 200 0 0 2000 4000 6000 8000 10000 12000 14000 0 0 2000 4000 6000 8000 10000 12000 14000 2000 1600 1800 1400 1600 1200 1400 1200 1000 1000 800 800 600 600 400 400 200 200 0 0 2000 4000 6000 8000 10000 12000 14000 0 0 2000 4000 6000 8000 10000 12000 14000 3000 2500 2000 1500 1000 500 0 0 2000 4000 6000 8000 10000 12000 14000 Figure 6.4: octave 4 Do flute harp piano tuba violin Figure 6.4 flute octave 4 Do gnuplot 300 15000 48

Linux harp piano tuba violin octave 4 Do gnuplot Figure 6.4 300 15000 6.6 {f 0, f 1, f 2,, f 1 6.2) a 0 a 1 a 2 a 1 b 1 b 2 b 1 6.3) a 0 a 1 a 2 a M b 1 b 2 b M 1 6.2) 6.5) 6.6) {f 0, f 1, f 2,, f 1 = 2M a n =a n b n = b n 6.6) s 1 s 2 s 1 s max 6.6) n = 1, 2,, M 1 f j = 2a 0) 2 + a M cos 2Mπj M 1 + n=1 2nπj 2s n cos ψ n ) j = 0, 1, 2,, 1) n = 1, 2,, M 1 s n > s max /2 n f [1] j j = 0, 1, 2,, 1 f [1] j = 2a 0) + a M cos 2Mπj 2 + ) 2nπj 2s n cos ψ n s n >s max /2 m = 2, 3, s n > s max /2 m n f [m] j j = 0, 1, 2,, 1 f [m] j = 2a 0) + a M cos 2Mπj 2 + ) 2nπj 2s n cos ψ n s n>s max/2 m m f [m] j f j idft.c { idft.c idft.c f [m] 0, f [m] 1,, f [m] 1 m 6.2) 6.5) { 6.6) {f 0, f 1,, f 1 f [m] 0, f [m] 1,, f [m] 1 m = 1, 2,, 9 1) fft_h_order.c 8) flu04.txt flu04_fft 49

2) a[0] a[1] a[2] a[m] b[1] b[2] b[m-1] 6.5) a 0 a 1 a 2 a M b 1 b 2 b M 1 a[n] = 2a n n = 0, 1, 2,, M 1 a[m] = a M b[n] = 2b n n = 1, 2,, M 1 /* idfc.c */ #include <stdio.h> #include <math.h> #include <string.h> #define MAX 32768) #define MAXH 16387) int main ) { int, M, i, j, k, n, flag, order[maxh+1]; double T, f[max+1], a[maxh+1], b[maxh+1], es[maxh+1]; FILE *fp; char file_name[100], file_in[100], file_out[100], file_add[100]; int ktmp1, ktmp2; double dt, dtmp1, dtmp2, dtmp3, dtmp4, dtmp5; // 1) printf"filename = "); scanf"%s", file_name); strcpyfile_in, file_name); strcatfile_in, ".txt"); fp = fopenfile_in, "r"); // 2) fscanffp, "%d %d %lf %lf %lf %lf %lf %lf", &, &ktmp2, &dtmp1, &a[0], &dtmp2, &dtmp3, &dtmp4, &T); fscanffp, "%d %d %lf %lf %lf %lf %lf", &ktmp1, &ktmp2, &dtmp1, &dtmp2, &dtmp3, &dtmp4, &dtmp5); M = ktmp1; a[m] = dtmp2; k = 1; flag = 1; while 1) { flag = fscanffp, "%d %d %lf %lf %lf %lf %lf", &ktmp1, &n, &dtmp1, &dtmp2, &dtmp3, &dtmp4, &es[k]); if flag == EOF) break; order[k] = n; a[n] = dtmp2; b[n] = dtmp3; k = k+1; fclosefp); // 3) dt = T/; for j = 0; j <= ; j++) f[j] = a[0]/2.0 + a[m]*cos2.0*m*m_pi*j/); k = 1; dtmp1 = 1.0; for i = 0; i <= 8; i++) { dtmp1 = dtmp1/2.0; printf"i = %d: ", i, k); while es[k]/es[1] >= dtmp1) { n = order[k]; for j = 0; j <= ; j++) 50

f[j] = f[j] + a[n]*cos2.0*n*m_pi*j/) + b[n]*sin2.0*n*m_pi*j/); k = k + 1; if k > M) break; strcpyfile_out, file_name); sprintffile_add, "_IDFT%1d%05d.txt", i+1, k-1); strcatfile_out, file_add); fp = fopenfile_out, "w"); for j = 0; j <= ; j++) fprintffp, "%f %f\n", j*dt, f[j]); fclosefp); printf"%s includes until %d\n", file_out, k-1); return 0; 3) 1) flu04_fft s n > s max /2 n 9 s n > s max /2 2 n 21 s n > s max /2 3 n 40 s n > s max /2 9 n 827 { f [1] 0, f [1] 1,, f [1] flu04_fft_idft100009.txt { f [2] 0, f [2] 1,, f [2] flu04_fft_idft200021.txt { f [3] 0, f [3] 1,, f [3] flu04_fft_idft300040.txt { f [9] 0, f [9] 1,, f [9] flu04_fft_idft900827.txt f [m] idft.c idft cc idft.c -lm -o idft = f [m] 0 m = 1, 2,, 9 Linux & Windows flute octave 4 Do Linux idft flu04_fft flute octave 4 Do 9 flu04_fft_idft100009.txt flu04_fft_idft200021.txt flu04_fft_idft900827.txt 9 flu04.txt Windows spwave 51

spwave flu04_fft_idft100009.txt Text with Time 44100 Linux & Windows Linux idft har04_fft harp octave 4 Do pia04_fft tub04_fft vio04_fft piano tuba violin octave 4 Do Windows spwave 6.7 Windows Q: csc.wav sound_wav_files sound_wav_files_cats_dogs sound_wav_files sound_wav_files_cats_dogs flu02.wav flute octave 3 Mi 9 1) 3) 8) Windows 5) 6) Linux 4) 7) Windows Linux 1) spwave flu02.wav 2) 0.743 3) Text with Time.txt 4) Linux 5) fft_h_order FFT FFT 6) idft 7) 6) Windows 52

8) spwave Windows Linux & Windows 1) 8) 300 15000 1 0 flu01.wav flu02.wav flu03.wav 3 1 1 flu05.wav flu06.wav flu07.wav 3 1 2 har01.wav har02.wav har03.wav 3 1 3 har05.wav har06.wav har07.wav 3 1 4 pia01.wav pia02.wav pia03.wav 3 1 5 pia05.wav pia06.wav pia07.wav 3 1 6 tub01.wav tub02.wav tub03.wav 3 1 7 tub05.wav tub06.wav tub07.wav 3 1 8 vio01.wav vio02.wav vio03.wav 3 1 9 vio05.wav vio06.wav vio07.wav 3 Windows Linux & Windows sound_wav_files_cats_dogs cat1.wav cat2.wav cat3.wav cat4.wav cat1.wav cat4.wav 3 1 1) 8) 200 10000 set terminal postscript set output "filename.ps" replot set terminal postscript eps color set output "filename.eps" replot filename Windows Linux & Windows sound_wav_files_cats_dogs 1) 8) 53

200 10000 1 0 dog1.wav dog2.wav dog3.wav 3 1 1 dog4.wav dog b1.wav dog b2.wav 3 1 2 dog b3.wav dog b4.wav dog b5.wav 3 1 3 dog b6.wav dog b7.wav dog b8.wav 3 1 4 dog b9.wav dog bss1.wav dog bss2.wav 3 1 5 dog bss3.wav dog bss4.wav dog1.wav 3 1 6 dog2.wav dog3.wav dog4.wav 3 1 7 dog b1.wav dog b2.wav dog b3.wav 3 1 8 dog b4.wav dog b5.wav dog b6.wav 3 1 9 dog b7.wav dog b8.wav dog b9.wav 3 dog3.wav dog4.wav dog bss1.wav dog bss4.wav springer spaniel Windows Linux & Windows 1000 2000 54