CN102664028A - 将输入声卡的模拟信号转换为数字信号输出的方法 - Google Patents
将输入声卡的模拟信号转换为数字信号输出的方法 Download PDFInfo
- Publication number
- CN102664028A CN102664028A CN2012101268649A CN201210126864A CN102664028A CN 102664028 A CN102664028 A CN 102664028A CN 2012101268649 A CN2012101268649 A CN 2012101268649A CN 201210126864 A CN201210126864 A CN 201210126864A CN 102664028 A CN102664028 A CN 102664028A
- Authority
- CN
- China
- Prior art keywords
- sound card
- digital
- operating system
- recording
- analog signal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本发明公开一种将输入声卡的模拟信号转换为数字信号输出的方法,其包括步骤:将输入所述声卡的模拟音频信号传送给与所述声卡相连的操作系统;由所述操作系统对模拟音频信号进行录音和缓存,再将录制的音频数据进行回放,获得所述模拟音频信号的数字音频信号;所述操作系统将所述数字音频信号传送给所述声卡,经所述声卡解码处理后,从所述声卡的数字输出接口输出。本发明不需要额外的硬件开销,用纯软件的方法实现了声卡模拟输入到数字输出的转换,不仅节省了系统成本,还提高了系统的整体音质。
Description
技术领域
本发明涉及一种音频转换技术,尤其是涉及一种将输入声卡的模拟信号转换为数字信号输出的方法。
背景技术
X86或80x86是英特尔Intel首先开发制造的一种微处理器体系结构的泛称。该系列较早期的处理器名称是以数字来表示,并以“86”作为结尾,包括Intel 8086、80186、80286、80386以及80486,因此其架构被称为“x86”。
X86兼容计算机的声卡,通常都具有几路外部信号的模拟输入接口,声卡的输出接口一般分为模拟输出和SPDIF(SPDIF是SONY、PHILIPS数字音频接口的简称,就传输方式而言,SPDIF分为输出和输入两种)数字输出两种信号格式。对于从系统内部,由数据总线传输过来的音频,例如由windows内置音频播放器播放的音频,则可以根据配置,既能从声卡的模拟输出接口输出,也能从声卡的SPDIF数字输出接口输出。
但是对于从声卡的模拟输入接口输入的音频,由于声卡内部的音频通道限制,则只能从声卡的模拟输出接口输出,而不能由SPDIF数字输出接口输出。如图1所示的目前声卡提供的功能框图,操作系统经过IIS音频数字接口与声卡相连,由操作系统产生的音源(如mediaplay10媒体播放器播放的音乐),经由IIS系统总线,通过声卡处理后既可以从SPDIF数字输出接口输出,也可以从模拟通道输出接口输出。但是,例如“前面板MIC、蓝牙音频、收音机、3G喇叭”这些从模拟通道输入接口输入声卡的音源,由于声卡内部不具备“模拟输入-数字输出”的直接通道,则不能直接由SPDIF数字输出接口输出。因此,如果有外部音源接入声卡的模拟通道输入接口,而声卡是通过SPDIF数字接口与后级功放相连,那么外部音源将无法在功放推动的功放,比如各种喇叭(如图1中的模拟后喇叭、模拟前喇叭、模拟中置/低音喇叭和模拟环绕喇叭)播放出声音。
对于用X86兼容计算机平台搭建的嵌入式系统来说(例如目前高端的车载IVI系统,大部分用X86平台实现),由于无法实现外部模拟音源的数字化输出,不得已只能选用同时具备模拟输入和数字SPDIF输入的功放,来匹配不同的输入音源。这种做法,增加了硬件成本和线路复杂度,增加了声卡输出接口与功放输入接口的连接线路,抗干扰能力下降,而且享受不到音频数字传输带来的高保真效果。
发明内容
为解决现有技术存在的缺陷,本发明提出一种实现外部模拟音源从声卡SPDIF数字输出接口输出的方法,在不增加硬件成本及线路复杂度的情况下,实现高品质的数字音频传输。
本发明采用如下技术方案实现:一种将输入声卡的模拟信号转换为数字信号输出的方法,其包括步骤:
将输入所述声卡的模拟音频信号传送给与所述声卡相连的操作系统;
由所述操作系统对模拟音频信号进行录音和缓存,再将录制的音频数据进行回放,获得所述模拟音频信号的数字音频信号;
所述操作系统将所述数字音频信号传送给所述声卡,经所述声卡解码处理后,从所述声卡的数字输出接口输出。
其中,所述操作系统对模拟音频信号进行录音和缓存的步骤具体包括:
打开所述操作系统中的录音设备;
设定采集缓冲区,为录音准备相应的数据结构;
对输入模拟音频信号进行录音,将录音数据缓存至采集缓冲区的数据结构;
释放相应的数据结构;
于录制完毕后,关闭所述录音设备。
其中,所述录音数据以wav标准的文件格式缓存在所述采集缓冲区。
其中,所述将录制的音频数据进行回放的步骤包括:
打开所述操作系统中的播放设备;
为播放准备相应的数据结构;
获取录音得到音频数据并进行播放;
释放相应的数据结构;
于播放完毕后,关闭所述播放设备。
其中,所述采集缓冲区设定为两个,且两个采集缓冲区交替工作,使其中一个采集缓冲区用于对模拟音频信号进行录音和缓存,而另一个采集缓冲区用于将录制的音频数据进行回放时读取录音数据。
其中,所述声卡与所述操作系统通过IIS音频数字接口连接。
其中,所述声卡的数字输出接口为SPDIF数字输出接口。
其中,所述SPDIF数字输出接口与数字功放相连,由数字功放播放所述数字音频信号。
与现有技术相比,本发明具有如下有益效果:
本发明不需要额外的硬件开销,用纯软件的方法实现了声卡模拟输入到数字输出的转换,不仅节省了系统成本,还提高了系统的整体音质。
附图说明
图1是现在声卡与操作系统及喇叭的连接关系示意图;
图2是本发明的声卡与操作系统及喇叭的连接关系示意图;
图3是对输入的模拟音频信号进行数据采集的流程示意图;
图4是操作系统控制对采集音频信号进行回放的流程示意图。
具体实施方式
本发明提出一种将外部输入声卡的模拟音源转换成声卡的SPDIF数字输出接口输出的方法,在不增加硬件成本及线路复杂度的情况下,实现声卡高品质的数字音频传输。
如图2所示,在操作系统中采用音频录制线程对从声卡的模拟通道输入接口输入声卡的模拟音频信号进行数据采样、录制和缓存,然后再由音频回放线程对录制的音频进行回放,由于系统回放的数字音频信号可由IIS系统总线进入声卡,经声卡解码处理后,由声卡的SPDIF数字输出接口输出。
因此,本发明操作系统(或控制器)在声卡外给声卡的模拟输入和数字输出之间建立了一个数字通道,该方法完全由计算机软件来实现,在不增加硬件成本和开销的情况下,实现了声卡的模拟输入转数字输出。虽然用软件录制和和缓存音频会造成一点延迟,但是100ms左右的延迟,对于收音机、电话这些车载音频应用来说,使用者完全感受不到差异。
本发明所提及的操作系统,一般是指嵌入式系统。以操作系统为嵌入式系统为例进一步描述本发明的具体实现方式。
结合图3和图4所示,本方案采用底层函数接口实现采集与播放,如waveInOpen、waveOutOpen等音频函数,在方便性与性能上比较平衡。
外部音源(收音机、电话等)进入的模拟信号,通过声卡实时采集后,变成数字信号,然后经过数字功放或喇叭输出。
所述音频录制线程对输入声卡的模拟音频信号进行数据采样、录制和缓存的步骤如下:利用waveInOpen函数打开操作系统中的录音设备;由waveInAddBuffer函数设定采集缓冲区,为录音准备相应的数据结构,这是关键的一步,因为要使声卡能够正确播放,必须建立一种与之通信的标准,这种标准就是音频文件的格式,所以一定要保证采集缓冲区的格式符合wav标准;由waveInStart函数开始录制输入模拟音频的数据;释放相应的数据结构;于录制完毕后,关闭录音设备。
所述音频回放线程录制的音频进行回放的步骤包括:利用waveOutOpen函数打开操作系统中的播放设备;为播放准备相应的数据结构;获取音频数据使用waveOutWrite函数进行播放;释放相应的数据结构;于播放完毕后,关闭播放设备。
使用底层的音频函数对声音进行采集、回放时,数字音频数据是存放在操作系统的内存的采集缓冲区之中。当采集缓冲区中数据满时(得到MM_WIM_DATA消息)以及回放缓冲区中数据为空(得到MM_WOM_DONE消息)时,用户可以采用相应的消息映射函数来处理相应的过程。
为了加快性能与提高效率,本方案中采集缓冲区默认会有两个,假设为采集缓冲区A与采集缓冲区B。
因为采集数据会有延时,本方案中默认时间为100毫秒。即,音频录制线程先准备100毫秒长度的音频数据放入采集缓冲区A中,进行预先填充采集缓冲区A的数据结构;然后,当采集缓冲区A满后,直接将采集缓冲区A中的数据提交给音频回放线程,通知方式以WINDOWS内核对象HANDLEhEvent是否被触发为前提条件,以提高通知性能,避免声音出现杂音或不正常情况;同时对于来到的新的录制音频数据,放入采集缓冲区B中,依次类推,采集缓冲区A与采集缓冲区B交替分别由音频录制线程和音频回放线程使用,从而提高本发明的处理性能与效率。
综上,从声卡外部输入的模拟信号,通过IIS音频数字接口将模拟音频信号传输给操作系统,经过操作系统对模拟音频信号进行录制和回放处理后,以数字音频信号方式再由IIS音频数字接口进入声卡,使声卡可以从数字输出接口(比如SPDIF数字输出接口)输出数字音频信号。实践证明,使用本方法后,从PDIF数字输出接口输出给数字功放的音频信号,具有较佳的播放品质。因此,本发明不需要额外的硬件开销,用纯软件的方法实现了声卡模拟输入到数字输出的转换,不仅节省了系统成本,还提高了系统的整体音质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种将输入声卡的模拟信号转换为数字信号输出的方法,其特征在于,所述方法包括步骤:
将输入所述声卡的模拟音频信号传送给与所述声卡相连的操作系统;
由所述操作系统对模拟音频信号进行录音和缓存,再将录制的音频数据进行回放,获得所述模拟音频信号的数字音频信号;
所述操作系统将所述数字音频信号传送给所述声卡,经所述声卡解码处理后,从所述声卡的数字输出接口输出。
2.根据权利要求1所述将输入声卡的模拟信号转换为数字信号输出的方法,其特征在于,所述操作系统对模拟音频信号进行录音和缓存的步骤具体包括:
打开所述操作系统中的录音设备;
设定采集缓冲区,为录音准备相应的数据结构;
对输入模拟音频信号进行录音,将录音数据缓存至采集缓冲区的数据结构;
释放相应的数据结构;
于录制完毕后,关闭所述录音设备。
3.根据权利要求2所述将输入声卡的模拟信号转换为数字信号输出的方法,其特征在于,所述录音数据以wav标准的文件格式缓存在所述采集缓冲区。
4.根据权利要求2所述将输入声卡的模拟信号转换为数字信号输出的方法,其特征在于,所述将录制的音频数据进行回放的步骤包括:
打开所述操作系统中的播放设备;
为播放准备相应的数据结构;
获取录音得到音频数据并进行播放;
释放相应的数据结构;
于播放完毕后,关闭所述播放设备。
5.根据权利要求4所述将输入声卡的模拟信号转换为数字信号输出的方法,其特征在于,所述采集缓冲区设定为两个,且两个采集缓冲区交替工作,使其中一个采集缓冲区用于对模拟音频信号进行录音和缓存,而另一个采集缓冲区用于将录制的音频数据进行回放时读取录音数据。
6.根据权利要求1所述将输入声卡的模拟信号转换为数字信号输出的方法,其特征在于,所述声卡与所述操作系统通过IIS音频数字接口连接。
7.根据权利要求1所述将输入声卡的模拟信号转换为数字信号输出的方法,其特征在于,所述声卡的数字输出接口为SPDIF数字输出接口。
8.根据权利要求7所述将输入声卡的模拟信号转换为数字信号输出的方法,其特征在于,所述SPDIF数字输出接口与数字功放相连,由数字功放播放所述数字音频信号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012101268649A CN102664028A (zh) | 2012-04-26 | 2012-04-26 | 将输入声卡的模拟信号转换为数字信号输出的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012101268649A CN102664028A (zh) | 2012-04-26 | 2012-04-26 | 将输入声卡的模拟信号转换为数字信号输出的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102664028A true CN102664028A (zh) | 2012-09-12 |
Family
ID=46773491
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012101268649A Pending CN102664028A (zh) | 2012-04-26 | 2012-04-26 | 将输入声卡的模拟信号转换为数字信号输出的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102664028A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106229000A (zh) * | 2016-07-18 | 2016-12-14 | 赵天鸽 | 一种数字化学习内容播放方法 |
CN109451417A (zh) * | 2018-11-29 | 2019-03-08 | 欧阳院红 | 多声道音频处理方法及系统 |
CN112449283A (zh) * | 2019-09-03 | 2021-03-05 | 深圳市维度创新实业有限公司 | 一种数字音频长距离传输方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1506818A (zh) * | 2002-12-09 | 2004-06-23 | 联想(北京)有限公司 | 基于windows系统的通过软件拦截声音的方法 |
CN101202087A (zh) * | 2006-12-13 | 2008-06-18 | 鸿富锦精密工业(深圳)有限公司 | 音频录音测试装置及方法 |
CN101958139A (zh) * | 2010-08-10 | 2011-01-26 | 闫天时 | 高清无损音频播放系统(hdap) |
-
2012
- 2012-04-26 CN CN2012101268649A patent/CN102664028A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1506818A (zh) * | 2002-12-09 | 2004-06-23 | 联想(北京)有限公司 | 基于windows系统的通过软件拦截声音的方法 |
CN101202087A (zh) * | 2006-12-13 | 2008-06-18 | 鸿富锦精密工业(深圳)有限公司 | 音频录音测试装置及方法 |
CN101958139A (zh) * | 2010-08-10 | 2011-01-26 | 闫天时 | 高清无损音频播放系统(hdap) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106229000A (zh) * | 2016-07-18 | 2016-12-14 | 赵天鸽 | 一种数字化学习内容播放方法 |
CN109451417A (zh) * | 2018-11-29 | 2019-03-08 | 欧阳院红 | 多声道音频处理方法及系统 |
CN109451417B (zh) * | 2018-11-29 | 2024-03-15 | 广州艾美网络科技有限公司 | 多声道音频处理方法及系统 |
CN112449283A (zh) * | 2019-09-03 | 2021-03-05 | 深圳市维度创新实业有限公司 | 一种数字音频长距离传输方法 |
CN112449283B (zh) * | 2019-09-03 | 2022-05-17 | 深圳市维度创新实业有限公司 | 一种数字音频长距离传输方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20060088174A1 (en) | System and method for optimizing media center audio through microphones embedded in a remote control | |
CN101178921B (zh) | 用于处理音频信号的方法和系统 | |
CN104956689A (zh) | 用于个性化音频虚拟化的方法和装置 | |
CN110958298B (zh) | 无线音频播放设备及其无线互联网音频播放方法 | |
CN101958139A (zh) | 高清无损音频播放系统(hdap) | |
CN110271560B (zh) | 一种车辆真人语音报警系统和方法 | |
CN107509092A (zh) | 机顶盒实时播放音频的方法、机顶盒、终端以及存储介质 | |
CN111417054B (zh) | 多音频数据通道阵列生成方法、装置、电子设备和存储介质 | |
CN102664028A (zh) | 将输入声卡的模拟信号转换为数字信号输出的方法 | |
US5815583A (en) | Audio serial digital interconnect | |
CN203243508U (zh) | 一种无线啸叫抑制装置 | |
WO2020082710A1 (zh) | 一种蓝牙音箱语音交互控制方法、装置及系统 | |
CN102655013A (zh) | 接收装置、发送装置、接收方法、发送方法和通信系统 | |
WO2020233162A1 (zh) | 一种多机无线同步分轨录音机、系统及方法 | |
CN103037298B (zh) | 可携式电子装置的声音插座测试方法 | |
CN209562799U (zh) | 蓝牙播放设备的煲机音频测试系统 | |
CN103354579A (zh) | 一种基于录音同步的dtmf解码方法和系统 | |
CN115022442A (zh) | 音频故障时间定位方法、音频数据存储方法及电子设备 | |
CN201946291U (zh) | 一种带录音功能的调音台 | |
CN100545937C (zh) | 媒体连接装置和使用该媒体连接装置的系统 | |
CN208819610U (zh) | 一种用于教练车教学的录音系统 | |
CN106454628A (zh) | 一种控制高保真功能的方法和终端 | |
CN104954942A (zh) | 用于回音消除的信号输入装置和方法 | |
CN202759577U (zh) | 带u盘功能的音箱设备 | |
CN206759670U (zh) | 一种麦克风 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20120912 |