[Background off] [Frames on]

[Back] Leviticus 2002 - Divine Software

 The AHI home page

NOTE: This is not the current site!

This is an archived site, kept for reference and, er, historical interest. The current site is here.

 User info  Developer info  Downloads  Donations  What's new?  FAQ  Fun stuff!

Frequently Asked Questions about AHI

Welcome to the FAQ section. Please, make sure you have searched this page before you ask me directly.


AHI and AmigaOS 4.0
The Paula driver and >28 kHz sample rates
Low volume
Speak Freely


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.

Low volume

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.

Speak Freely

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:

 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

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:

1> SetEnv TERM Amiga
1> SetEnv ENVARC:TERM Amiga

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:

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:

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).

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....)

Powered by Roxen Challenger! Lynx enhanched! This page has been accessed 28722 times since November 2019.
Last update: Stardate 39006.5 (October 2006).

Martin Blom <lcs@lysator.liu.se>