📄 soundblaster-awe.txt
字号:
进位码套件),然後以 root 的身份执行 # pnpdump > /etc/isapnp.conf 这样会产生一个为你的 PnP 卡量身订做的建构,但它会把所有的设备都注解起来 。请再 小心地修改这个档案,如果可能的话并比较 DMA频道、IO、插断等等的设 定是否与它在 DOS 或 WINDOW 环境下不一样 (在 Win95 □,要看被介面卡所使 用的资源可在 设备管理员下的 资源 看)。 如果你遇到问题,请小心地读一下 和isapnptools 放一起的文件。 请注意: isapnptools 常无法侦测 SB AWE Wave Table 设备的三个 I/O 埠。 请 查明你的 isapnp.conf 内的 WaveTable 项目 against the example at the end of this HOWTO. 如果需要的话调整一下 I/O base 位址。 注意: 根据e isapnp-faq,有时候 isapnp 会无法得知逻辑设备的数目。如果你 遭遇 到像下面的错误讯息: Error occurred executing request 'LD 2' on or around line... 那试看看加入 (VERIFYLD N) 到 isapnp.conf的上头。你必须使用至少是 1.10 版的才能这麽做。 如果你无法使用 1.10 或是更新的版本。你也可以自已直接手 动改逻辑设备的数量。 请情请参考 isapnp-faq 。如果还是无法克服,请和我连 络 (应该有人也会对 isapnp 有兴趣吧 ,我想)。 小心: 请确认最後那行是 (WAITFORKEY),有时候较旧的 pnpdump 版本会删除它 。 在文件的後面有一个isapnp.conf 给单个 PnP 音效卡用的样本。 (请看章节 [26]Sample <tt>isapnp.conf</tt>)。 如果你是用 Debian 系统就不用再做任何的其他调整。 /etc/init.d/boot 加上 下面的 命令手稿下,你就可以在开机时启动isapnp _________________________________________________________________ # Configure the isa plug and play boards before loading# modules. Need to do this before loading modules to get# a chance of configuring and starting PnP boards before# the drivers mess all this up.#if [ -x /etc/init.d/isapnp ]then /etc/init.d/isapnp startfi _________________________________________________________________ where /etc/init.d/isapnp is _________________________________________________________________ #! /bin/sh# /etc/init.d/isapnp: configure Plug and Play boardstest -x /sbin/isapnp || exit 0/sbin/isapnp /etc/isapnp.confexit 0 _________________________________________________________________ 如果你有其他的 Linux 供应商版本,你就要自已来了。我也不知道怎麽做 (有谁 愿意提供更多的资讯吗?)。只要记得 isapnp 必须在所有模组被载入 之前 就被 载入了 (请看下面)。 3.3 编译核心程式 在编译核心程式之前,你必须有 AWE Driver Extension 套件来给音效驱动程式 使用。就算你 的核心原始程式目录□已经有 awedrv 延伸套件了 (请检查 /drivers/sound/lowlevel/ 看看), 你可能想要升级 awedrv 软体。依照安装在 awedrv 原始目录□的指示。简单地说,你必须执行 一个修补核心原始程式的安 装命令手稿。 请小心你已经在执行完安装命令手稿後已经升级了核心原始程式了。这个命令手 稿 只是在检查看看一些特定档案是否已经有了,如果有了,它不会有任何需要的 修补动作。 你升级核心原始程式後在执行命令手稿前会被建议将 drivers/sound/lowlevel/awe_wav.c 档案移除。 接下来你必须建构核心程式来支援音效。我希望你知道怎麽来编译核心程式;详 情请参考 Sound HOWTO 以及 Kernel HOWTO。到核心原始程式的目录□, (例如 /usr/src/linux) 然後执行 # make config 或是 make menuconfig 或 make xconfig。然後用标准的方式来 建构你的核心程 式。 利用这个机会来做个体积又小又强而有力的核心程式,特别是 为你的系统 量身订做的。记得在回答 Enable loadable module support 是选 Y, 如果你想 把音效驱动程式安装成可载入式模组的话 (如果你用的是 PnP 卡的话就 必须这 麽做) ,但我知道你也会这麽做吧! 你会在有个地方被问到是否需要音效卡支援。如果你没有 PnP卡的话 你可以自由 回答 Y 或 M ,如果你要做成模组的话而且是 PnP卡,必须 回答 M。 你必须将 PnP 音效卡的支援编译成一个模组,因为在模组被载入前 PnP 卡必须先初始化。 下列的问题你应该回答 Y,其馀回答 N: _________________________________________________________________ Sound Blaster (SB, SBPro, SB16, clones) support (CONFIG_SB) [Y/n/?]Generic OPL2/OPL3 FM synthesizer support (CONFIG_ADLIB) [Y/n/?]/dev/dsp and /dev/audio support (CONFIG_AUDIO) [Y/n/?]MIDI interface support (CONFIG_MIDI) [Y/n/?]FM synthesizer (YM3812/OPL-3) support (CONFIG_YM3812) [Y/n/?]lowlevel sound driver support [Y/n/?]AWE32 support (CONFIG_AWE32_SYNTH) [Y/n/?] _________________________________________________________________ 只有後面的是给 Wave Table 合成器用的。其馀是 OSS/Free 音效驱动程式给 SB 16 的选项。 除此之外,你必须建构音效卡 I/O 埠。可参考 isapnp.conf 档会给你一些提示 , 如果你有这个档的话。对我来说,下面的内定值就够了。请注意:核心程式建 构命令手稿的内定值 也有可能是错的 (特别是 SBC_IRQ 和 SB_MPU_BASE 的值对 大部份的卡来说好像都错了)。 _________________________________________________________________ I/O base for SB Check from manual of the card (SBC_BASE) [220]Sound Blaster IRQ Check from manual of the card (SBC_IRQ) [5]Sound Blaster DMA 0, 1 or 3 (SBC_DMA) [1]Sound Blaster 16 bit DMA (_REQUIRED_for SB16, Jazz16, SMW) 5, 6 or 7(use 1 for 8 bit cards) (SB_DMA2) [5]MPU401 I/O base of SB16, Jazz16 and ES1688 Check from manual of the card(SB_MPU_BASE) [330]SB MPU401 IRQ (Jazz16, SM Wave and ES1688) Use -1 with SB16 (SB_MPU_IRQ) [-1] _________________________________________________________________ 好了,现在重新编译核心程式,Debian 的使用者要用 kernel-package指令。 这 个套件让我们编译核心程式就像安装 debian 的套件一样容易哦。请看 /usr/doc/kernel-package/□的文件。这□有个提示: # make-kpkg clean# make-kpkg -revision custom.1.0 kernel_image 然後 dpkg -i /usr/src/kernel-image-2.0.29_custom.1.0_i386.deb. 如果你的是其他的 Linux 供应商版本,请依照标准的方式来编译新的核心程式。 不要忘了 make modules 以及 make modules_install。详情请看 Sound HOWTO 或 Kernel HOWTO。 3.4 重开机 安装完新核心程式後,你应该重新开机 (请记得你要有个可用的开机磁片在手 上)。交叉著你的手指头等一下。 如果你有个 PnP 卡,请确认在开机启动命令手稿□或是手动地执行 isapnp (像 上面所提的一样): # /sbin/isapnp /etc/isapnp.confBoard 1 has Identity 74 00 00 e3 10 48 00 8c 0e: CTL0048 Serial No 58128[checksum 74] 现在你可以安装音效驱动程式了,如果你已把它编译成一个模组: # modprobe -a soundAWE32 Sound Driver v0.3.3e (DRAM 2048k) 如果你认为记忆体侦测有误 (有个人告诉我说他有张 AWE64 卡有 4096k,然而 ``侦测到'' 28672k !),请升级 awedrv 软体或是在 /usr/src/linux/drivers/sound/lowlevel/awe_config.h档案□指定记忆体, 如 : #define AWE_DEFAULT_MEM_SIZE 4096 /* kbytes */ 抱谦,你必须再重新编译核心程式 (也许编译这些模组就够了,但我不确定)。 如果它成功动作了,你可能希望音效模组能自动载入。你可以使用 kerneld ( 在 1.4章节□有说明为何这是个坏点子) 或是在你的/etc/modules (Debian系统) □ 头 加上一行包含 sound 或是加上 /sbin/modprobe -a sound 到你的启动命令手 稿□。 4. 测试安效驱动程式4.1 /proc/devices, /dev/sndstat 如果你有内建的音效支援,你会在开机时收到一些有用的资讯。如果你的音效支 援是安装成可载入式模组的, 你也可以用下列方式得到一些资讯 (或许要先用 modprobe -r sound 将音效移除)。 # modprobe -a sound trace_init=1Sound initialization started<Sound Blaster 16 (4.13)> at 0x220 irq 5 dma 1,5<Sound Blaster 16> at 0x330 irq 5 dma 0<Yamaha OPL3 FM> at 0x388Sound initialization completeAWE32 Sound Driver v0.3.3e (DRAM 2048k) 如果你有 /proc 虚拟档案系统,你可以用下列方法看到第二个设备 # cat /proc/devicesCharacter devices:[...]14 sound[...] 接下来请认认你在 /dev/ 下有个已正确安装的设备。详情请看 Sound HOWTO 。 然後执行 /dev/sndstat 可查询音效模组的状态。 # cat /dev/sndstatSound Driver:3.5.4-960630 (Sat Oct 11 19:35:14 CEST 1997 root,Linux flora 2.0.29 #1 Sat Oct 11 19:12:56 CEST 1997 i586 unknown)Kernel: Linux flora 2.0.29 #1 Sat Oct 11 19:36:23 CEST 1997 i586Config options: 0Installed drivers:Type 1: OPL-2/OPL-3 FMType 2: Sound BlasterType 7: SB MPU-401Card config:Sound Blaster at 0x220 irq 5 drq 1,5SB MPU-401 at 0x330 irq 5 drq 0OPL-2/OPL-3 FM at 0x388 drq 0Audio devices:0: Sound Blaster 16 (4.13)Synth devices:0: Yamaha OPL-31: AWE32 Driver v0.3.3e (DRAM 2048k)Midi devices:0: Sound Blaster 16Timers:0: System clockMixers:0: Sound Blaster1: AWE32 Equalizer 如果你没有像这样的输出,也许在你的建构□有问题,继续找看看哪儿不能动, 再回来 [27]Getting Started,检查每一项。 4.2 输出- Raw Audio Device 去取得一个 .au 档 (Sun workstation) 或样本档案,然後这样做: # cat bell.au > /dev/audio resp. # cat sample > /dev/dsp 你会应该可以由 Audio Device 0: Sound Blaster 16 (4.3)听到这个档案的内容 。 4.3 输出 - OPL-2/OPL-3 Synthesis 如果你要使用 OPL-2/OPL-3 FM 合成器在你的音效卡上拨放 MIDI档案,请试看看 playmidi 这个程式(请看附录 B)。使用方法如下 # playmidi -f dance.mid 或是 # playmidi -4 dance.mid 前场会给你 OPL-2,後场会给你 OPL-3 MIDI 音乐。 如果你觉得这些声音听来很 逊, 不要怪 playmidi,那是因为 FM 合成器听起来很差啦。 您可以想像一下你只有一个 OSS/Free 音效驱动程式:那就是你所能得到的 MIDI音乐的品质了。 (与软体合成不同)。幸运的是,你有 SB AWE,你还可以使 用 Wave Table 以及 AWE Sound Driver Extension了。 4.4 输出 - Wave Table Synthesis 在 AWE Driver Extension □有个很特别的工具程式 (awesfx) 可用来使用 EMU 8000 Wave Table 合成器。 首先,你必须从你的音效卡□载入 Sound Font Bank -就算你想使用 ROM 的取样 ! 你可以从你的 Windows 的 安装中取得这个 档 -寻找附加档名为 *.sfb 或 *.sf2的档案。 ROM 取样可以使用 SYNTHGM.SBK来载入, 真实的取样放在 SYNTHGS.SBK 及 SYNTHMT.SBK 以及 SAMPLE.SBK□。你也可以从 ftp或 www 来取得其他的 Sound Font Banksvia ,可以试试 Creative Labs 的 EMU 的网页, 有个 Chaos 取样 ,他们真的很棒 (请检查 AWE 驱动程式网站)。 试看看载入标准的 GM (ROM) set ,使用 # sfxload -i synthgm.sbk 然後拨放个伴随著你的 SB AWE 的 midi 档案: # drvmidi dance.mid4.5 混音 取得你最喜欢的混音器程式并执行它。在同一时间拨放一个音效取样以及两个
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -