⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sound-howto.txt

📁 linux-bible.rar linux-bible.rar
💻 TXT
📖 第 1 页 / 共 5 页
字号:
   在 snd-util 中的 splay 命令如果以手动输入适切的参数,可以用来播放多数音   效档。   6.3 怎样录制音效档?   可以从 /dev/audio 或 /dev/dsp 中读取取样过的资料, 可以转向到档案去。   像 vrec 这样的程式可以较简单地控制取样率及时间等。 您也需要混音器,以便   选择想要的输入来源。   6.4 我可以有不只一片音效卡吗?   现在的音效驱动程式允许您装好几片声霸卡,声霸卡 Pro,声霸卡 16,MPU-401   或 MSS 卡。 装两片声霸卡是可能的,不过要手动编辑 local.h, 定   义SB2_BASE,SB2_IRQ,SB2_DMA 及 SB2_DMA2(有些情形下才要)。 也可以同时装   一片声霸卡及一片 PAS16。      若是您用make config来设定较新的2.0.x版核心的音效的话,您应该编   辑/usr/include/linux/autoconf.h而非local.h。 您会看到几行:   #define SBC_BASE 0x220#define SBC_IRQ (5)#define SBC_DMA (1)#define SB_DMA2 (5)#define SB_MPU_BASE 0x0#define SB_MPU_IRQ (-1)   在它们後面加入几行(数值依照您的系统设定)   #define SB2_BASE 0x330#define SB2_IRQ (7)#define SB2_DMA (2)#define SB2_DMA2 (2)   以下驱动程式不准您装多片卡:        * GUS (驱动程式限制)     * MAD16 (硬体限制)     * AudioTrix Pro (硬体限制)     * CS4232 (硬体限制)       6.5 音效设备发生错误: No such file or directory   您要先建立设备档。 请参见前面建立设备档的部份。 如果您确实有设备档, 检   查主编号及次编号是否正确。 (一些旧一点的 CD-ROM Linux 安装套件可能不会   在安装时建立正确的设备档)   6.6 音效设备发生错误: No such device   您的核心并不支援音效驱动程式,或是I/O位址设定和硬体不一致。 检查您是否   用新造的 核心开机,并确认其设定和硬体是一致的。   6.7 音效设备发生错误: No space left on device   如果您没有建立必要的设备档,就把资料丢进 /dev/audio 或 /dev/dsp,就会发   生这种情况。 这时这些"设备档"其实只是普通档案, 而且把您的磁碟塞满了。   您必须照本文件中建立设备档 这一小节的指引去执行那个命令稿。      在 Linux 2.0 或之後,当设备开启,系统却没有足够的 RAM 时亦会发生。 对每   个 DMA 通道,音效驱动程式至少需要两页 (8K) 连续记忆体区块。 这种情型在   不足 16M 的 RAM 或已经启动很久的系统上可能发生。 在再开启设备档以前,也   许可以先编译及执行以下的 C 程式,以空出一些 RAM 出来。   main() {  int i;  char mem[500000];  for (i = 0; i < 500000; i++)    mem[i] = 0;  exit(0);}6.8 音效设备发生错误: Device busy   一个音效设备一次只能给一个程序用。 在这问题中, 最可能的情形就是有别的   程序正在使用这个设备。 确定的方法之一是用 fuser 命令:   % fuser -v /dev/dsp/dev/dsp:             USER       PID ACCESS COMMAND                      tranter    265 f....  tracker   在上例中,fuser 命令显示 265 号程序开启了该设备。 可以选择等它完成或把   它砍掉,这样音效设备就又能使用了。 您应该以 root 身份执行 fuser 命令,   这样才会列出除了您以外的使用者。   6.9 还是逃不了'device busy'的错误!   根据 Brian Gough 的说法,使用一号 DMA 通道的声霸卡会和同样也占用 DMA 1   的 QIC-02 磁带机驱动程式相冲,造成 "device busy" 错误。 如果您使   用FTAPE, 您可能有加进这个磁带的驱动程式。 根据 FTAPE-HOWTO,QIC-02 驱   动程式在使用 FTAPE 时不是必要的; 只有 QIC-117 才必要。 重造核心,使用   QIC-117 驱动程式, 取消 QIC-02,这样 FTAPE 及音效驱动程式就能共存了。   6.10 音效档放到一半就停了   这种症状,通常是先播放一秒左右,然後完全停止,或印出 "missing IRQ" 或   "DMA timeout" 讯息。 八成是您的 IRQ 或 DMA 设错了。 核对一下,您在核心   中 的设定是不是和硬体跳线的一样,而且并没有和别的卡相冲。      另一种症状是声音一直重覆。 这通常导因於 IRQ 冲突。   6.11 播放 MOD 档断断续续   要播放MOD档,需要可观的 CPU 能力。 您可能跑太多程式导致系统反应过慢,无   法及时放音。 有下面几种解法:        * 用较低的取样率,或只放单声道     * 把其它执行中程式干掉     * 买更快的电脑     * 买更强的音效卡(像 Gravis UltraSound)          如果您有用 Gravis UltraSound 音效卡,您应该使用专为 GUS 设计的 MOD 播放   程式 (如 gmod)   6.12 编译音效软体时出错   1.0c版以後和以前的音效驱动程式用完全不同且不相容的 ioctl() 方式。 抓新   版的原始码,或做必要改变,把它移植到适合新版驱动程式用。 详见音效驱动程   式的 Readme 档。      也请确定编译应用程式时,您使用最新的 soundcard.h 及 ultrasound.h。 请见   本文开头处里的安装指引。   6.13 以前跑很好的软体,却出现 SEGV 错误   这和上个问题可能是一样的。   6.14 音效驱动程式有何已知的限制及 bug?   请看核心音效驱动程式里的档案。   6.15 关於音效驱动程式的 ioctl 等,哪里有记载?   目前除原始码以外最佳的文件在 4Front Technologies 的网站   [36]http://www.opensound.com。 另一个来源是 Linux Multimedia Guide,在   参考文献那一章有详述。   6.16 要完全平顺地录放音,需要多强的CPU才能办到?   这问题不好回答,它取决於:        * 使用 PCM 取样还是 FM 合成     * 取样率及样本大小     * 用哪个程式录放音     * 音效卡硬体     * 磁碟传输速率,CPU 时脉频率,快取大小等          一般来说,任何 386 以上机器应该都可以在 8 位元音效卡上播放音效,或用   FM 合成放音乐。      然而,放 MOD 档需要可观的 CPU 资源。 一些实验性的测量显示,要以 44KHz   播放, 要消耗一颗 486/50 CPU 的 40% 能力; 386/25 几乎不可能放比 22KHz   更高的取样率。 (以8位元音效卡,如声霸卡,所测得) 一些像 Gravis   UltraSound 的卡硬体提供更多功能, 需要的CPU资源就较少。      这些是假设电脑没有在跑其它耗CPU能力的工作。      如果您的电脑有数学辅助处理器 (或 CPU 内部有 FPU), 用像 sox 这样的程式   做音效转换或增加效果会快不少。 虽然核心驱动程式本身是没有用到浮点运算。   6.17 PAS16 和 Adaptec 1542 SCSI 卡的搭配问题   (以下解释由seeker@indirect.com提供)      Linux 只能认出在 330(预设值)或 334 位址上的 1542,而 PAS 只能将   MPU-401 模拟设在 330。 即使您用软体消去 MPU-401 功能,如果这硬体还在这   个预设位址上, 仍然会和 1542 相冲。 把 1542 移到 334 就什麽都解决了。      另外,1542 和 PAS-16 都有用到 16 位元 DMA,所以如果您一面以 16 位元   ,44KHz 立体声录音,一面将档案存到挂在 1542 上的硬碟的话,麻烦就来了。   两组 DMA 会吃同一块记忆体,导致 RAM 没有时间充电,然後就会出现致命的   "PARITY ERROR - SYSTEM HALTED" 的讯息,您甚至还来不及知道怎麽当的。 更   糟糕的是有些 QIC-117 磁带的协力厂商建议设定汇流排开/关时间, 使 1542 占   汇流排更久。 从 Adaptec 的 BBS 或 Internet 的其它地方抓 SCSISEL.EXE 程   式,减少 BUS ON 时间或增加 BUS OFF 时间,直到这问题完全消失。 SCSISEL   会改变 EEPROM 的设定,所以比在 CONFIG.SYS 中载入的 DOS 驱动程式效力更   持久,开机就直接进 Linux 也有效(不像 DOS 修补程式)。 又解决了一个问题。      最後一个问题 - 旧的 Symphony 晶片组剧烈地降低 I/O 周期时间,加快汇流排   存取。 我所玩过的各种卡中,除了 PAS-16 以外,没有一片卡在降低周期时有出   现过 任何问题。 Media Vision 的 BBS 有个 SYMPFIX.EXE 可以将 Symphony 的   汇流排控制器的诊断位元互调,治好这种症状,但这并不能算有力的保证。 您也   许要:        * 找主机板经销商,换掉旧版的晶片     * 换主机板,或     * 买别牌的音效卡。          Young Microsystems 愿意以 $30(美金)的代价为他们制的板子升级; 如果您能讲   出谁制的或谁进口的板子,别的厂商也可能会这样(祝您好运)。 据我所知这问题   出於 ProAudio 的汇流排介面晶片; 没有人会花 $120 买音效卡,然後把它插在   6MHz 的 AT 上。 多数人会升级到 25-40MHz 的 386/486,而如果设计正确, 至   少能承受 12MHz 以上的汇流排频率。 讲完了,下台一鞠躬。      第一个问题和您的主机板晶片组,汇流排速率,及其它 BIOS 设定,还有月亮的   圆缺有关。 (?) 第二个问题牵涉到您的记忆体充电方式 (隐藏式或同步式)   ,1542 DMA 频率及汇流排 I/O 速率(可能有关)。 第三个问题,可以打电话到   Media Vision,问他们哪些 Symphony 晶片组的慢速设计和他们的卡不相容。 在   此警告一下, 我问过的四位"工程师"中,就有三个头壳坏去。 听他们讲别人的   硬体讲得啥一样, 其实他们甚至连自己的都搞不清楚。      译注: 这一段可能和原文意思差很多,有建议请不吝提供。   6.18 可不可以同时录放音?   一些卡的驱动程式能支援这功能。 请看在 4Front Technologies 的网站中的文   件, 了姐如何用它。   6.19 我的声霸卡 16 是设 IRQ 2,可是驱动程式不准我设这个值   在 '286 及以後的机器,IRQ2 中断连接了第二个中断控制器。 它等同於IRQ 9。   6.20 我离开 Linux,起动 DOS,然後有些软体发声不正常   这在暖开机进 DOS 後发生。 有时错误讯息会误导您,以为是 CONFIG.SYS 档哪   里写错了。      多数现在的音效卡有软体设定的 IRQ 及 DMA 设定。 如果您的卡在 Linux 下及   MSDOS/Windows 下设定值不一样的话,可能会造成问题。 有些音效卡不准设新参   数, 除非完全 reset。 (如把电源关掉再打开,或使用硬体上的reset钮)      简单对付方法就是按下reset键,或把开关关了再开,不要用暖开机(即   Ctrl-Alt-Del)。      正解则是确保您在MS-DOS及Linux下都用同样的IRQ及DMA设定 (或乾脆不要用DOS   :-)。   6.21 在 Linux 下跑 DOOM 出问题   想玩 ID software 出的 DOOM 游戏之 Linux 版的玩家们, 可能对这个有兴趣。      要正确的音效输出,您必需使用 2.90 版或以後的音效驱动程式; 它支援了即时   的 DOOM模式。      音效样本是16 bit。 如果您用8 bit音效卡,您仍然可以用一些可在   [37]ftp://metalab.unc.edu/pub/Linux/games/doom中找到的一些程式,让声音   出现。      如果DOOM动作不流畅,把音效取消(把 sndserver 档改名)会有一些改进。      DOOM 预设不支援音乐(不像 DOS 版)。 musserver 程式将增加Linux下的 音乐支   援。 它可以在 [38]ftp://pandora.st.hmc.edu/pub/linux/musserver.tgz 中找   到。   6.22 怎样降低音效卡产生的杂音?   用高品质的屏蔽电缆,换个插槽插,可能有助於减低杂音。 如果音效卡有音量调   整钮,您可以试试不同的设定(最大声可能最好)。 您可以用混音程式,将不想要   的输入(如麦克风)调成零增益。      Philipp Braunbeck 报告他的 ESS-1868 音效卡上有个跳线用来关闭内建增益器   的, 如果装上,能帮助降低杂音。      在一台 386 电脑上,我发现核心命令列有个选项no-hlt可以降低杂讯。 这个选   项叫核心在跑□置回圈时不要用 HLT 指令。 您可以开机时手动试试, 或在   LILO 设定档中加上append="no-hlt"      有些音效卡偷工减料,没有好的遮蔽及接地,容易产生杂音   6.23 能放音,不能录音   如果您能放音,却不能录音,试试:     * 使用混音程式选择适当来源(如麦克风)     * 使用混音程式将该来源的增益调到最大     * 可以的话,在MS-DOS下测试,看看是不是硬体方面的问题          有时录音及放音用的 DMA 通道是不同的。 这种情况下八成是录音用 DMA 设定不   对。   6.24 必须先进 DOS 跑驱动程式,不然我的"相容卡"没法用   多数情况下,"声霸卡相容" 卡在 Linux 下若舍声霸卡驱动程式不用而改用 别的   驱动程式,会更好。 多数号称相容(如 "16 位元 SB Pro 相容" 或 SB 相容的   "16位元")的卡,它的声霸卡相容模式是提供 DOS 游戏的相容性所做的。 多数卡   自己的 16 位元模式可能在最近的 Linux(2.0.1以後) 会支援。      只有一些(通常很旧)的卡必须尝试用声霸卡模式运作。 新卡中只有一个例外,那   就是用 Mwave为主的卡。   6.25 我的 16 位元声霸卡相容卡在 Linux 下只能用 8 位元模式   号称和声霸卡相容的 16 位元音效卡其实只和 8 位元的声霸卡 Pro 相容而已。   它们有和声霸卡 16 不相容的 16 位元模式,和 Linux 音效驱动程式不相容。

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -