Reply by Richard Owlett●November 2, 20032003-11-02
Rune Allnor wrote:
> Richard Owlett <rowlett@atlascomm.net> wrote in message news:<vqa9fobci8a3f2@corp.supernews.com>...
>
>>I've installed Scilab, I act on advice eventually ;}
>>My goal is to get a feel for what speech "looks like" ; personal education
>>[ If successful I may rediscover fire and reinvent a few wheels. ]
>
>
> Personally, I "rediscovered fire" when I was four years old. Somebody
> had left a box of mathces by the fireplace, and I had to check if the
> mathces worked. They did. I was lucky enough to get away with only a
> blister on my finger, but the carpet got some burns.
>
>
>>What I want to do is plot many of these on same plot by offsetting
>>into my data file.
>>What I want as output would be a "surface" plotted (x,y,z would be
>>frequency, amplitude, time)
>>
>>I see how to get a matrix representing the points I wish to plot by
>>changing v=x(1:points); to v=x(1stpoint:lastpoint) internal to an
>>appropriate loop.
>>
>>How to plot it ?
>>Thank you.
>
>
> I'm not sure if your question concerns getting scilab to do what
> you want (in which cas I can't help) or if you want input on good
> ways of visualizing these kinds of data. I take a chance on the latter.
>
The former.
At least I'm reinenting a useful wheel;) You described what I was
trying to accomplish.
Reply by Rune Allnor●November 2, 20032003-11-02
Richard Owlett <rowlett@atlascomm.net> wrote in message news:<vqa9fobci8a3f2@corp.supernews.com>...
> I've installed Scilab, I act on advice eventually ;}
> My goal is to get a feel for what speech "looks like" ; personal education
> [ If successful I may rediscover fire and reinvent a few wheels. ]
Personally, I "rediscovered fire" when I was four years old. Somebody
had left a box of mathces by the fireplace, and I had to check if the
mathces worked. They did. I was lucky enough to get away with only a
blister on my finger, but the carpet got some burns.
> What I want to do is plot many of these on same plot by offsetting
> into my data file.
> What I want as output would be a "surface" plotted (x,y,z would be
> frequency, amplitude, time)
>
> I see how to get a matrix representing the points I wish to plot by
> changing v=x(1:points); to v=x(1stpoint:lastpoint) internal to an
> appropriate loop.
>
> How to plot it ?
> Thank you.
I'm not sure if your question concerns getting scilab to do what
you want (in which cas I can't help) or if you want input on good
ways of visualizing these kinds of data. I take a chance on the latter.
One way of plotting would be a spectrogram. Now, I don't know scilab
so I don't know the appropriate syntax, and I can only assume scilab
has some kind of built-in capacity to plot a matrix as an image.
I would try to plot a spectrogram of the data according tho this
pseudocode:
- Determine the number N of "frames" of length M in the data (what you
call v above). Allocate space for a matrix SpecGram of size M x N.
These frames may or may not overlap.
- Then compute the spectrogram as
for n=1:N
SpecGram(n,:)=fft(x(firstpoint:lastpoint))^2;
end
- Plot the spectrogram as an image:
image(SpecGram)
Rune
Reply by Richard Owlett●November 2, 20032003-11-02
I've installed Scilab, I act on advice eventually ;}
My goal is to get a feel for what speech "looks like" ; personal education
[ If successful I may rediscover fire and reinvent a few wheels. ]
I have a large speech file [ from CD of some one reading ].
I have experimented enough to plot a "power" spectra of a segment of
the recording.
{stacksize chosen to load input file with room to spare, I've run out
stack on some of my experiments and this seems to be enough;)
stacksize(15256000);
[x,y]=loadwave('C:\ATEST\01mono.wav');
points=25000 ;
rate= 44100 ;
fmax=6000;
fmin=100;
v=x(1:points);
f=abs(fft(v,1));
i=fmin/rate*points:fmax/rate*points;
fr=i/points*rate;
plot2d(fr',f(i)'**2);
What I want to do is plot many of these on same plot by offsetting
into my data file.
What I want as output would be a "surface" plotted (x,y,z would be
frequency, amplitude, time)
I see how to get a matrix representing the points I wish to plot by
changing v=x(1:points); to v=x(1stpoint:lastpoint) internal to an
appropriate loop.
How to plot it ?
Thank you.