Date: Dec 12, 2012 10:27 PM
Author: bartekltg
Subject: Re: Matlab
W dniu 2012-12-13 03:52, Tanner Handa pisze:

> bartekltg <bartekltg@gmail.com> wrote in message

> so how would I be able to make my happy birthday song sound better to

> make the sounds shorter??

> This is what I have and now when i do t = linspace(0, 0.5, 0.5 *

> freqsamp); it make the frequencies really high pitched.

I don't see difference in tone between

t = linspace(0,1,freqsamp);

a = (sin(1.5*pi*220*t) + sin(1.5*pi*440*t));

and

t2= linspace(0,0.5,freqsamp/2);

a2 = (sin(1.5*pi*220*t2) + sin(1.5*pi*440*t2));

sound(a, freqsamp),sound(a2, freqsamp)

> clear

> freqsamp = 10000;

> t = linspace(0,1,freqsamp);

Add 'note length'

nl = 0.4;

t = linspace(0,nl,nl*freqsamp);

> a = sin(1.5*pi*220*t) + sin(1.5*pi*440*t);

> b = sin(2*pi*220*t) + sin(2*pi*440*t);

> c = sin(2.5*pi*220*t) + sin(2.5*pi*440*t); d = sin(3*pi*220*t) +

> sin(3*pi*440*t); e = sin(4*pi*220*t) + sin(4*pi*440*t);

> f = sin(4.5*pi*220*t) + sin(4.5*pi*440*t);

> g = (sin(5*pi*220*t) + sin(5*pi*440*t))/1.5; h = sin(5.5*pi*220*t) +

> sin(5.5*pi*440*t);

> i = sin(6*pi*220*t) + sin(6*pi*440*t);

> j = sin(6.5*pi*220*t) + sin(6.5*pi*440*t);

OK, I think.

But you can create function to do this:

a= foo (t, 1.5);

b= foo (t, 2) ;

...

g= foo(t,5)/1.5;

...

> sound(a, freqsamp) %HA %3

> sound(a, freqsamp) %ppy %3

And there is very long pause between sounds.

You want to play whole song.

sound ( [a,a,b,a,f,e,a,a,b,a,g,f], freqsamp );

But now you haven't any pause. Create short 'pause'

(vector of silent;) I mean zeros) and add between every note.

Better: add this to function foo.

bartekltg