精华内容
下载资源
问答
  • (1)在多媒体计算机中,声卡是获取音频信息主要器件。 (2)声卡功能:采集来自话筒、收录等音源信号,并将其数字化形成数字音频;将数字音频还原为模拟音频信号,待放大后送到扬声器输出;对数字化音频进行...
  • 通过设备获取音频流会不可避免渗入一些杂音,这些杂音可能来自你周边环境,也有可能来自录音设备本身,一些低频的声音还好,人耳难以分辨出来,但是那些高频白噪声对音质影响特别大,如我们听收音没有...

    本系列文章主要是介绍 Web Audio API 的相关知识,以及 web语音通信 中会遇到的一些问题,阐述可能存在错误,还请多多斧正!

    通过设备获取音频流会不可避免的渗入一些杂音,这些杂音可能来自你周边的环境,也有可能来自录音设备本身,一些低频的声音还好,人耳难以分辨出来,但是那些高频的白噪声对音质的影响是特别大的,如我们听收音机没有调到正确的频率上,会听到吱吱兹兹的刺耳的杂音。这些杂音不仅增大了音频流信号本身的体积,而且我们的耳朵也不喜欢,所以在传输之前必须对音频做相应的滤波处理。

    本文地址:http://www.cnblogs.com/hustskyking/p/webAudio-filter.html,转载请注明源地址。

    P.S:请在较新版的 chrome 火狐 Firefox 中测试。

    一、滤波节点

    1. 接口介绍

    频率,是单位时间内完成振动的次数,是描述振动物体往复运动频繁程度的量。一段音频流中包含了各种频率,温和的音乐频率在一个范围之内,超过这个范围的声音一般就是噪声,人和人之间的语音交流,声音也是在一定的频段之中。

    在 AudioContext 中用于滤波的节点叫做 BiquadFilterNode,Biquad 是双二阶的意思,这里涉及到了很多通信中专业词汇,我们暂时可以不用在意。BiquadFilterType 包含了各种滤波类型:

    enum BiquadFilterType {
        "lowpass",
        "highpass",
        "bandpass",
        "lowshelf",
        "highshelf",
        "peaking",
        "notch",
        "allpass"
    };

    用的比较多的就是 lowpass(低通滤波),highpass(高通滤波),bandpass(带通滤波)。低通滤波就是过滤某个临界点的高频信号,只让低频信号通过,高通滤波反之。带通滤波就是允许某个频段的信号通过。这个节点的参数比较多:

    attribute BiquadFilterType type;
    readonly attribute AudioParam frequency; // in Hertz
    readonly attribute AudioParam detune; // in Cents
    readonly attribute AudioParam Q; // Quality factor
    readonly attribute AudioParam gain; // in Decibels
    
    void getFrequencyResponse(Float32Array frequencyHz,
                              Float32Array magResponse,
                              Float32Array phaseResponse);
    
    };

    其中几个参数的取值范围是:

    Q 默认是 1, 取值从 0.0001 到 1000.

    gain 默认是 0, 取值从 -40 到 40.

    2. 初始化接口

    我们可以在初始化的时候将 BiquadFilterType 送进去:

    // 初始化为低通滤波
    var filter = context.createBiquadFilter("lowpass");

    当然,我们也可以通过设置他的 AudioParam 来控制参数:

    var filter = context.createBiquadFilter();
    // 设置为低通滤波
    filter.type = filter.LOWPASS;
    // 只允许频率小于 800Hz 的音频信号通过
    filter.frequency.value = 800;

    两只方式都是一样的,都好控制。

    3. DEMO 测试

    简单点的话,中间只用一个 filter 节点就可以了,使用低通滤波,将频率设置为 800Hz,可以听到声音很闷,声音不是变小了,而是变闷了~节点之间的连接方式是:

    Source -> Filter -> Destination

    代码:

    var AudioContext = AudioContext || webkitAudioContext;
    var context = new AudioContext;
    //创建节点
    var audio = new Audio("http://qianduannotes.duapp.com/file/SuperMario.mp3");
    audio.loop = true;
    var media = context.createMediaElementSource(audio);
    var filter = context.createBiquadFilter();
    filter.type=filter.LOWPASS;
    filter.frequency.value=800;
    //连接:media → filter → destination
    media.connect(filter);
    filter.connect(context.destination);
    audio.play();
    运行代码

    为了方面查看改变频率之后波形的变化,我做了一些处理:

    Source -> Filter -> Analyser -> Destination

                                                 |

                                                +-----> 波形绘制到 Canvas

     DEMO Code运行代码

    这里频率的变化是:

    filter.frequency.value = volume.value * volume.value;

    线性变化可能不太明显,所以改成了平方变化。

    二、小结

    滤波在通信中一个重要的意义是减少数据传输量,节约频带,提高传送效率,在硬件设备还未跟上语音通信的 web环境中,这个操作是十分有意义的!

    本节重点是介绍 BiquadFilterNode 在 AudioContext 环境中的使用,比较简单。

    三、参考资料






    本文转自Barret Lee博客园博客,原文链接:http://www.cnblogs.com/hustskyking/p/webAudio-filter.html,如需转载请自行联系原作者
    展开全文
  • 11.5模块数字多轨录音机专有同步系统 11.6视频对于稳定时钟参考信号需要 11.7数字音频对稳定时钟参考信号需要 11.8数字音频同步 11.9时间码和MIDI时间码实际运用 主机与从机关系 11.1数字...
  • 创建虚拟音频设备以从应用程序和音频输入设备获取声音,然后将其传递给任何音频处理软件。借助易于使用基于有线界面,Loopback可以在您计算机内部为您提供高端录音室调音台功能! 合并音频源 将来自多个...
  • 另外,如出现一次输入成功,而再输入失败情况,由于手机软件上记忆效应,你可以将手机电池卸下重装上再试输入(例如:*2767*3855# 指令输入后,有时不重装电池,手机不能开机)。 : D/ r; H" J/ c6 Y( D...
  • 多媒体教室

    2013-06-14 08:10:31
    如果网络中有 Windows NT 4.0 或 Windows 2000 服务器,并且服务器上安装有 DHCP 服务,此时学生网卡所绑定 TCP/IP 协议设置上可以设为自动获取 IP 地址。如果网络中没有服务器或服务器上没有安装 DHCP 服务,...
  • 实例012 自制录音机 34 实例013 实时在线广播 38 实例014 播放MIDI和WAV文件 40 实例015 利用sndPlaySound()函数播放音频文件 41 实例016 利用mciExecute()函数播放WAV文件 42 实例017 播放资源文件中的声音 43...
  • 实例012 自制录音机 34 实例013 实时在线广播 38 实例014 播放MIDI和WAV文件 40 实例015 利用sndPlaySound()函数播放音频文件 41 实例016 利用mciExecute()函数播放WAV文件 42 实例017 播放资源文件中的声音 43...
  • 特别新增加了第11章来专门介绍HTML5技术在Android移动设备应用,相信当下两个热门技术交汇会碰撞出不一样火花。  《Google Android SDK开发范例大全(第3版)》内容由Android基础知识到实际开发应用,...
  • 特别新增加了第11章来专门介绍html5技术在android移动设备应用,相信当下两个热门技术交汇会碰撞出不一样火花。  《google android sdk开发范例大全(第3版)》内容由android基础知识到实际开发应用,...
  • 更炫移动设备界面配置:豪华Widget、Home Screen App Widgets、隐藏式抽屉-Sliding Drawer等闪亮登场! 完整手机数据存取功能:铃声模式设置、震动控制、WiFi服务、屏幕旋转、电池计量、温度测量、电信网络...
  • 更炫移动设备界面配置:豪华Widget、Home Screen App Widgets、隐藏式抽屉-Sliding Drawer等闪亮登场! 完整手机数据存取功能:铃声模式设置、震动控制、WiFi服务、屏幕旋转、电池计量、温度测量、电信网络...
  • 更炫移动设备界面配置:豪华Widget、Home Screen App Widgets、隐藏式抽屉-Sliding Drawer等闪亮登场! 完整手机数据存取功能:铃声模式设置、震动控制、WiFi服务、屏幕旋转、电池计量、温度测量、电信网络...
  • 更炫移动设备界面配置:豪华Widget、Home Screen App Widgets、隐藏式抽屉-Sliding Drawer等闪亮登场! 完整手机数据存取功能:铃声模式设置、震动控制、WiFi服务、屏幕旋转、电池计量、温度测量、电信网络...
  • 更炫移动设备界面配置:豪华Widget、Home Screen App Widgets、隐藏式抽屉-Sliding Drawer等闪亮登场! 完整手机数据存取功能:铃声模式设置、震动控制、WiFi服务、屏幕旋转、电池计量、温度测量、电信网络...
  • 4.3.1设置电脑的录音设备 4.3.2导入素材并删除原音 4.3.3开始录制配音 4.3.4添加风噪音 4.4声音特效 4.4.1ChannelVolume音频特效 4.4.2MultibandCompressor音频特效 4.4.3MultitapDelay音频特效 4.5其他常用声音...
  • vc++ 应用源码包_1

    热门讨论 2012-09-15 14:22:12
    压缩包内有两个源码包,一个注册机源程序,另一个解密机的源程序,一套完整参考实例。 VC+MapX源码含GPS跟踪演示 VC3D 利用VC编程在界面上实现3D文字 在MFC应用程序中浏览PDF、Word文档文件 vcdialog 自...
  • vc++ 应用源码包_2

    热门讨论 2012-09-15 14:27:40
    压缩包内有两个源码包,一个注册机源程序,另一个解密机的源程序,一套完整参考实例。 VC+MapX源码含GPS跟踪演示 VC3D 利用VC编程在界面上实现3D文字 在MFC应用程序中浏览PDF、Word文档文件 vcdialog 自...
  • vc++ 应用源码包_6

    热门讨论 2012-09-15 14:59:46
    压缩包内有两个源码包,一个注册机源程序,另一个解密机的源程序,一套完整参考实例。 VC+MapX源码含GPS跟踪演示 VC3D 利用VC编程在界面上实现3D文字 在MFC应用程序中浏览PDF、Word文档文件 vcdialog 自...
  • vc++ 应用源码包_5

    热门讨论 2012-09-15 14:45:16
    压缩包内有两个源码包,一个注册机源程序,另一个解密机的源程序,一套完整参考实例。 VC+MapX源码含GPS跟踪演示 VC3D 利用VC编程在界面上实现3D文字 在MFC应用程序中浏览PDF、Word文档文件 vcdialog 自...
  • vc++ 应用源码包_4

    热门讨论 2012-09-15 14:38:35
    压缩包内有两个源码包,一个注册机源程序,另一个解密机的源程序,一套完整参考实例。 VC+MapX源码含GPS跟踪演示 VC3D 利用VC编程在界面上实现3D文字 在MFC应用程序中浏览PDF、Word文档文件 vcdialog 自...
  • vc++ 应用源码包_3

    热门讨论 2012-09-15 14:33:15
    压缩包内有两个源码包,一个注册机源程序,另一个解密机的源程序,一套完整参考实例。 VC+MapX源码含GPS跟踪演示 VC3D 利用VC编程在界面上实现3D文字 在MFC应用程序中浏览PDF、Word文档文件 vcdialog 自...
  • 串口支持自由设置串口号+波特率,网络支持自由设置IP地址+通讯端口,每个端口支持采集周期,默认1秒钟一个地址,支持设置通讯超时次数,默认3次,支持最大重连时间,用于重新读取离线的设备。 控制器信息,能够添加...
  • vc++ 开发实例源码包

    2014-12-16 11:25:17
    这个IOCP远程控制软件模型,服务端运行后会自动发送本信息到客户端,客户端采用IOCP重叠机制。 IOCP封装类(DLL)发布 主要CIocpSrv"伪类",实际上还是调用DLL, IOCP完成端口 [1]---选择 - Select [2]异步...
  • LINUX 24学时教程

    2011-10-21 18:33:38
    3.2.4 一个快速录音命令脚本程序 36 3.2.5 配置声卡简单方法 37 3.3 激活PCMCIA卡服务程序 37 3.4 使用COAS配置网络信息 40 3.5 在OpenLinux操作系统中使用艾美加 (Iomega)公司Zip驱动器 42 3.6 课时小结 43...
  •  等价的设备名称:  DeviceHardDisk0Partition1  范例  下例将物理设备名映射为使用 ARC 设备名称的驱动器号:  map arc  注意 如果不使用 arc 参数,则 map 命令显示设备名称。 map 命令还显示文件...
  • 2. sndrec32-------录音机 3. Nslookup-------IP地址侦测器 ,一个 监测网络中 DNS 服务器是否能正确实现域名解析命令行工具。它在 Windows NT/2000/XP 中均可使用,但在 Windows 98 中却没有集成这一个工具。 ...

空空如也

空空如也

1 2
收藏数 31
精华内容 12
关键字:

录音机是获取声音的设备