README.awe
上传用户:lgb322
上传日期:2013-02-24
资源大小:30529k
文件大小:8k
源码类别:

嵌入式Linux

开发平台:

Unix_Linux

  1. ================================================================
  2. AWE32 Sound Driver for Linux / FreeBSD
  3. version 0.4.3; Nov. 1, 1998
  4. Takashi Iwai <iwai@ww.uni-erlangen.de>
  5. ================================================================
  6. * GENERAL NOTES
  7. This is a sound driver extension for SoundBlaster AWE32 and other
  8. compatible cards (AWE32-PnP, SB32, SB32-PnP, AWE64 & etc) to enable
  9. the wave synth operations.  The driver is provided for Linux 1.2.x
  10. and 2.[012].x kernels, as well as FreeBSD, on Intel x86 and DEC
  11. Alpha systems.
  12. This driver was written by Takashi Iwai <iwai@ww.uni-erlangen.de>,
  13. and provided "as is".  The original source (awedrv-0.4.3.tar.gz) and
  14. binary packages are available on the following URL:
  15. http://bahamut.mm.t.u-tokyo.ac.jp/~iwai/awedrv/
  16. Note that since the author is apart from this web site, the update is
  17. not frequent now.
  18. * NOTE TO LINUX USERS
  19. To enable this driver on linux-2.[01].x kernels, you need turn on 
  20. "AWE32 synth" options in sound menu when configure your linux kernel
  21. and modules.  The precise installation procedure is described in the
  22. AWE64-Mini-HOWTO and linux-kernel/Documetation/sound/AWE32.
  23. If you're using PnP cards, the card must be initialized before loading
  24. the sound driver.  There're several options to do this:
  25.     - Initialize the card via ISA PnP tools, and load the sound module.
  26.     - Initialize the card on DOS, and load linux by loadlin.exe
  27.     - Use PnP kernel driver (for Linux-2.x.x)
  28. The detailed instruction for the solution using isapnp tools is found
  29. in many documents like above.  A brief instruction is also included in
  30. the installation document of this package.
  31. For PnP driver project, please refer to the following URL:
  32. http://www-jcr.lmh.ox.ac.uk/~pnp/
  33. * USING THE DRIVER
  34. The awedrv has several different playing modes to realize easy channel 
  35. allocation for MIDI songs.  To hear the exact sound quality, you need
  36. to obtain the extended sequencer program, drvmidi or playmidi-2.5.
  37. For playing MIDI files, you *MUST* load the soundfont file on the
  38. driver previously by sfxload utility.  Otherwise you'll here no sounds 
  39. at all!  All the utilities and driver source packages are found in the
  40. above URL.  The sfxload program is included in the package
  41. awesfx-0.4.3.tgz.  Binary packages are available there, too.  See the
  42. instruction in each package for installation.
  43. Loading a soundfont file is very simple.  Just execute the command
  44. % sfxload synthgm.sbk
  45. Then, sfxload transfers the file "synthgm.sbk" to the driver.
  46. Both SF1 and SF2 formats are accepted.
  47. Now you can hear midi musics by a midi player.
  48. % drvmidi foo.mid
  49. If you run MIDI player after MOD player, you need to load soundfont
  50. files again, since MOD player programs clear the previous loaded
  51. samples by their own data.
  52. If you have only 512kb on the sound card, I recommend to use dynamic
  53. sample loading via -L option of drvmidi.  2MB GM/GS soundfont file is
  54. available in most midi files.
  55. % sfxload synthgm
  56. % drvmidi -L 2mbgmgs foo.mid
  57. This makes a big difference (believe me)!  For more details, please
  58. refer to the FAQ list which is available on the URL above.
  59. The current chorus, reverb and equalizer status can be changed by
  60. aweset utility program (included in awesfx package).  Note that
  61. some awedrv-native programs (like drvmidi and xmp) will change the
  62. current settings by themselves.  The aweset program is effective
  63. only for other programs like playmidi.
  64. Enjoy.
  65. * COMPILE FLAGS
  66. Compile conditions are defined in awe_config.h.
  67. [Compatibility Conditions]
  68. The following flags are defined automatically when using installation
  69. shell script.
  70. - AWE_MODULE_SUPPORT
  71.     indicates your Linux kernel supports module for each sound card
  72.     (in recent 2.1 or 2.2 kernels and unofficial patched 2.0 kernels
  73.     as distributed in the RH5.0 package).
  74.     This flag is automatically set when you're using 2.1.x kernels.
  75.     You can pass the base address and memory size via the following
  76.     module options,
  77. io = base I/O port address (eg. 0x620)
  78. memsize = DRAM size in kilobytes (eg. 512)
  79.     As default, AWE driver probes these values automatically.
  80. [Hardware Conditions]
  81. You DON'T have to define the following two values.
  82. Define them only when the driver couldn't detect the card properly.
  83. - AWE_DEFAULT_BASE_ADDR (default: not defined)
  84.     specifies the base port address of your AWE32 card.
  85.     0 means to autodetect the address.
  86. - AWE_DEFAULT_MEM_SIZE (default: not defined)
  87.     specifies the memory size of your AWE32 card in kilobytes.
  88.     -1 means to autodetect its size.
  89.     
  90. [Sample Table Size]
  91. From ver.0.4.0, sample tables are allocated dynamically (except
  92. Linux-1.2.x system), so you need NOT to touch these parameters.
  93. Linux-1.2.x users may need to increase these values to appropriate size 
  94. if the sound card is equipped with more DRAM.
  95. - AWE_MAX_SF_LISTS, AWE_MAX_SAMPLES, AWE_MAX_INFOS
  96. [Other Conditions]
  97. - AWE_ALWAYS_INIT_FM (default: not defined)
  98.     indicates the AWE driver always initialize FM passthrough even
  99.     without DRAM on board.  Emu8000 chip has a restriction for playing
  100.     samples on DRAM that at least two channels must be occupied as
  101.     passthrough channels. 
  102. - AWE_DEBUG_ON (default: defined)
  103.     turns on debugging messages if defined.
  104. - AWE_HAS_GUS_COMPATIBILITY (default: defined)
  105.     Enables GUS compatibility mode if defined, reading GUS patches and 
  106.     GUS control commands.  Define this option to use GMOD or other
  107.     GUS module players.
  108. - CONFIG_AWE32_MIDIEMU (default: defined)
  109.     Adds a MIDI emulation device by Emu8000 wavetable.  The emulation
  110.     device can be accessed as an external MIDI, and sends the MIDI
  111.     control codes directly.  XG and GS sysex/NRPN are accepted.
  112.     No MIDI input is supported.
  113. - CONFIG_AWE32_MIXER (default: not defined)
  114.     Adds a mixer device for AWE32 bass/treble equalizer control.
  115.     You can access this device using /dev/mixer?? (usually mixer01).
  116. - AWE_USE_NEW_VOLUME_CALC (default: defined)
  117.     Use the new method to calculate the volume change as compatible
  118.     with DOS/Win drivers.  This option can be toggled via aweset
  119.     program, or drvmidi player.
  120. - AWE_CHECK_VTARGET (default: defined)
  121.     Check the current volume target value when searching for an
  122.     empty channel to allocate a new voice.  This is experimentally
  123.     implemented in this version.  (probably, this option doesn't
  124.     affect the sound quality severely...)
  125. - AWE_ALLOW_SAMPLE_SHARING (default: defined)
  126.    Allow sample sharing for differently loaded patches.
  127.    This function is available only together with awesfx-0.4.3p3.
  128.    Note that this is still an experimental option.
  129. - DEF_FM_CHORUS_DEPTH (default: 0x10)
  130.     The default strength to be sent to the chorus effect engine.
  131.     From 0 to 0xff.  Larger numbers may often cause weird sounds.
  132. - DEF_FM_REVERB_DEPTH (default: 0x10)
  133.     The default strength to be sent to the reverb effect engine.
  134.     From 0 to 0xff.  Larger numbers may often cause weird sounds.
  135. * ACKNOWLEDGMENTS
  136. Thanks to Witold Jachimczyk (witek@xfactor.wpi.edu) for much advice
  137. on programming of AWE32.  Much code is brought from his AWE32-native 
  138. MOD player, ALMP.
  139. The port of awedrv to FreeBSD is done by Randall Hopper
  140. (rhh@ct.picker.com).
  141. The new volume calculation routine was derived from Mark Weaver's
  142. ADIP compatible routines.
  143. I also thank linux-awe-ml members for their efforts
  144. to reboot their system many times :-)
  145. * TODO'S
  146. - Complete DOS/Win compatibility
  147. - DSP-like output
  148. * COPYRIGHT
  149. Copyright (C) 1996-1998 Takashi Iwai
  150. This program is free software; you can redistribute it and/or modify
  151. it under the terms of the GNU General Public License as published by
  152. the Free Software Foundation; either version 2 of the License, or
  153. (at your option) any later version.
  154. This program is distributed in the hope that it will be useful,
  155. but WITHOUT ANY WARRANTY; without even the implied warranty of
  156. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  157. GNU General Public License for more details.
  158. You should have received a copy of the GNU General Public License
  159. along with this program; if not, write to the Free Software
  160. Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.