[Background off] | [Frames off] |
This is an archived site, kept for reference and, er, historical interest. The current site is here.
PowerPC
AHI and AmigaOS 4.0
The Paula driver and >28 kHz sample rates
Low volume
Speak Freely
PowerPC
A PowerPC version of AHI (version 5, will be bumped to 6 when stable) has been available since August 2000, the day of the first public release of MorphOS. Although still considered beta, it works just great for a number of people (and not so great for some, but I'm working on it).
Unfortunately, my Cyberstorm/PPC died in late 2001, so until I can get my hands on a Pegasos system, I'm basically coding "in the blind". Don't expect miracles.
There will be no AHI version for neither PowerUp or WarpUp, since both
systems lack the required capabilities.
AHI and AmigaOS 4.0
Hyperion is planning to ship AHI with AmigaOS 4.0. Since I have no
system capable for running AmigaOS 4, they will handle the porting
themselves.
The Paula driver and >28 kHz sample rates
First of all, for general questions regarding the Paula driver read the documentation. That's why I wrote it. The Paula driver documentation can be found in the AHI User's Guide, in the System description/System Files/The Drivers/paula.audio section.
Now, in order to enable higher sample rates than 28 kHz, you need to make sure that the native Amiga video output is a VGA mode. If you're not using a graphic card and only have a PAL/NTSC monitor, you're simply out of luck. If you're using a VGA or multisync monitor, all you have to do is to select one of the VGA modes (not the Super72 mode, it's not a VGA mode!), and then you should be able to select sample frequencies up to 48 kHz.
If you're using a graphic card, things become a little more complicated. Let's take the easiest case first. If you use Picasso 96, all you have to do is to set the environment variable Picasso96/AmigaVideo to 31kHz. Example:
SetEnv Picasso96/AmigaVideo 31kHz
SetEnv EnvArc:Picasso96/AmigaVideo 31kHz
If you're a CyberGraphX user, the matter is a little more complicated. CyberGraphX "remembers" the last used Amiga video mode, which means that if you open a Amiga VGA screen and then close it, you will still be able to select frequencies up to 48 kHz. One way to open and close such a screen is to use the AddAudioModes program, like this:
AddAudioModes DBLSCAN
See the documentation of AddAudioModes for more information (AHI User's Guide, in the System description/AddAudioModes section).
Naturally, you need an Amiga that can output VGA frequencies (read AGA
Amiga), and have the appropriate monitor driver in
Devs:Monitors.
AHI always performs sound mixing in order to be able to play several
sounds at the same time. In order to avoid distortion, each time the
number of channels are doubled, the volume is halved. But there are
ways around this, at least when using programs that offer an audio
mode requester. Many of these programs also offer the setting of
volume boosting, which will raise the volume but can
introduce distortion. To minimize this distortion, the user should
select Master volume with clipping from the advanced page
in the preference program. This will enable saturated arithmetics when
mixing, at the expense of 128 kB large table.
If you have problem with a program that does not offer an audio mode
requester but uses one of the four "units" instead, all you can do it
lowering the number of channels for the used unit. Often, it is not
neccessary to have more than one or two channels enabled.
My port of Speak Freely seem to be causing trouble for many.
Since it's almost a direct Un*x port, it requires ixemul.library.
The latest release is available from
ftp.ninemoons.com (gzipped tar file!), but some of you might prefer
to get it from Aminet as a lha file instead:
You just need the library itself to use Speak Freely. Get
the approptiate library version and put it in
LIBS:. Then, you need a termcap file in your
ETC:. You can use mine, if you'd like. If you
don't already have an ETC: assign, create one and move
the file termcap to that directory. And, as a last step,
you need to set the environment variable TERM to
Amiga. You can do this by typing:
There you go! That should be enough to start the program. However, you
probably have to configure AHI, too. Speak Freely uses
Unit 0 as default device. You can change this by setting
the environment variables SPEAKFREE_PLAY_UNIT and
SPEAKFREE_RECORD_UNIT to the desired unit. There are
three possible configurations:
Oh, don't forget to mount AUDIO: before you start sfmike
or sfspeaker.
(This was written from memory, so please let me know you find anything wrong. I don't
use Speak Freely myself, I have no mike....)
Low volume
Speak Freely
ixemul-000n.lha util/libs 138K+Ixemul V47.2 library 68000 notrap
ixemul-000s.lha util/libs 127K+Ixemul V47.2 library 68000
ixemul-000t.lha util/libs 130K+Ixemul V47.2 library 68000 trace-version
ixemul-020f.lha util/libs 125K+Ixemul V47.2 library 68020/030 + FPU
ixemul-020s.lha util/libs 126K+Ixemul V47.2 library 68020/030 w/o FPU
ixemul-040f.lha util/libs 125K+Ixemul V47.2 library 68040 + FPU
ixemul-040s.lha util/libs 126K+Ixemul V47.2 library 68040 w/o FPU
ixemul-bin.lha util/libs 78K+Ixemul V47.2 binary utilities
ixemul-doc.lha util/libs 52K+Ixemul V47.2 documentation
ixemul-sdk.lha util/libs 917K+Ixemul V47.2 includes, libs, manpages
ixemul-tz.lha util/libs 258K+Ixemul V47.2 timezone-utilities (all CPUs
1> SetEnv TERM Amiga
1> SetEnv ENVARC:TERM Amiga
No sound card
If you have no sound card, you have to make sure you're using a full
duplex mode, and SPEAKFREE_PLAY_UNIT and
SPEAKFREE_RECORD_UNIT must be set to the same value! The
default is 0. A good mode here is Paula: Fast 8 bit mono,
8000 Hz, 1 channel.
Don't forget to set the input source to the correct sampler type.
Half-duplex sound card
Speak Freely really needs full duplex. You can pretend you
have it, by using the sound card to record and Paula to play. For
example, set Unit 0 to Paula: Fast 8 bit mono,
8000 Hz, 1 channel, and set Unit 1 to [SoundCard]:
Fast 8 bit mono, 8000 Hz, 1 channel. Then ask Speak
Freely to play to Unit 0 and record from Unit
1:
1> SetEnv SPEAKFREE_PLAY_UNIT 0
1> SetEnv ENVARC:SPEAKFREE_PLAY_UNIT 0
1> SetEnv SPEAKFREE_RECORD_UNIT 1
1> SetEnv ENVARC:SPEAKFREE_RECORD_UNIT 1
Don't forget to set the input source to the correct desired input (mic, probably).
Full duplex sound card
Just like if you had no sound card, you have to make sure that
SPEAKFREE_PLAY_UNIT and
SPEAKFREE_RECORD_UNIT is set to the same value. The
default is 0. A good mode here is [SoundCard]: Fast 8 bit mono,
8000 Hz, 1 channel.
Don't forget to set the input source to the correct desired input (mic, probably).
Last update: Stardate 39006.5 (October 2006).