T.R | Title | User | Personal Name | Date | Lines |
---|
820.1 | | ELWOOD::PETERS | | Fri Oct 16 1987 18:20 | 6 |
|
One of the FF disks contains a copy of the IFF info. I will
find which one and add it to the FF collection on MVCAD3::
Steve Peters
|
820.2 | sound editor system | MPGS::BAEDER | | Fri Oct 16 1987 19:24 | 4 |
| also, the sound.arc file contains a pretty good sound editor/player
no source, but would allow the manipulation (minimal) of the sound,
and can then save it out as IFF...part of the perfect sound digitizer
if my memory serves me right..(it often fails me ;-)
|
820.3 | strange happenings | VIDEO::LEIBOW | | Sat Oct 17 1987 05:13 | 37 |
| I have written a small program which will read non compressed 8SVX
IFF-85 files and play the sound. I don't think I will nead the
IFFW or IFFR files anymore, although it would be nice to have them
for future use.
I came across one weird problem during my audio endeavors, and fixed
it by accident. I don't know why the fix works; anyone have any
ideas:
The symptom was that the frequency of the sample (playback)
was to quick.
ioa_Period = (COLORCLOCK / freq); /* period of wave */
This is the line that decides how fast the playback should be.
ioa_Period is a field of a structure. It has a type of UWORD.
freq is also UWORD. COLORCLOCK is a constant 3579545L. When used
as described here, the playback is about twice as quick as it should
be. Now, If I change it to the following:
ioa_Period = DITZ * (COLORCLOCK / freq);
it works. The weird part is that DITZ is defined like this:
int DITZ = 1;
Multiplying (COLORCLOCK / freq) by one should make no net difference.
(COLORCLOCK/freq) should end up as a long, and then converted to
a UWORD as described in case 1. (COLORCLOCK/freq) when multiplied
by the int, should also result in a long. (the int should have
been converted to a long) The final result should have been converted
to a UWORD.
Either way, I don't see how the result could be different.
|
820.4 | A sexy Amig(c)a | VENERE::ZABOT | Marco Zabot-Adv.Tech.mgr-Turin ACT | Mon Oct 19 1987 08:14 | 14 |
| Mike,
would you please upload your 'small' program to playback syntetized
sounds ??
I've always dreamed of adding a sezy voice to Amiga.
'Amiga' is a spanish word for the italian Amica (girlfriend).
This word is also used to refer to a woman when you're having
an affaire. So, when I say to people - I spent a lot of time with
my Amiga ! - all of them understand - I spending a lot of time with
my mistress! . That's why I want to add a sexy voice to it ( her??)
Using your program will I be able to play back sounds recorded
using Perfect Sounds ?? ( the same you can find in SOUNDS.ARC )
Thanx. marco
|
820.5 | 8svx player | VIDEO::LEIBOW | | Mon Oct 19 1987 08:43 | 3 |
| I gotta make some changes to it to make it more "friendly."
I'll release it with my next version of Smokey.
|
820.6 | typedef typedef typedef | LEDS::HAGER | Clyde Hager DTN 291-7221 | Mon Oct 19 1987 15:01 | 28 |
| < Note 820.3 by VIDEO::LEIBOW >
re .3
> ioa_Period = (COLORCLOCK / freq); /* period of wave */
> This is the line that decides how fast the playback should be.
> ioa_Period is a field of a structure. It has a type of UWORD.
> freq is also UWORD. COLORCLOCK is a constant 3579545L. When used
> as described here, the playback is about twice as quick as it should
> be. Now, If I change it to the following:
> ioa_Period = DITZ * (COLORCLOCK / freq);
> it works. The weird part is that DITZ is defined like this:
> int DITZ = 1;
> Multiplying (COLORCLOCK / freq) by one should make no net difference.
> (COLORCLOCK/freq) should end up as a long, and then converted to
> a UWORD as described in case 1. (COLORCLOCK/freq) when multiplied
> by the int, should also result in a long. (the int should have
> been converted to a long) The final result should have been converted
> to a UWORD.
should should should should should, yes, I agree!
BUT, check out the assembler code the compiler generates and you may be
as disappointed as I was. The solution I took was to just typedef all
the computational stuff with a typedef around all of it to what I wanted:
ioa_Period = (UWORD)(((long)COLORCLOCK / (long)freq));
I forget exactly where the compiler (I'm using MANX AZTEC) blows it, and
I couldn't come up with any general rules other than 'typedef any mixtures
of data types'. Anybody else out there got any good (simple) rules that
work?
Clyde
|