文档章节

声音

如比如比
 如比如比
发布于 2016/03/27 11:27
字数 1275
阅读 85
收藏 7

声音是通过物体振动产生的声波。是通过介质(空气或固体、液体)传播并能被人或动物听觉器官所感知的波动现象。

声音的频率一般会以赫兹表示,记为Hz,指每秒钟周期性振动的次数

分贝是用来表示声音强度的单位,记为dB。

一般的声音总是包含一定的频率范围。人耳可以听到的声音的频率范围在20到2万赫兹(Hz)之间。高于这个范围的波动称为超声波,而低于这一范围的称为次声波。

频率:音调越高,频率越大;音调越低,频率越小。(介质相同时,fλ成反比)

波长:音调越高,波长越短;音调越低,波长越长。(介质相同时,fλ成反比)

振幅:音量(响度)越大,振幅越大;音量越小,振幅越小。

 

采样率(也称为采样速度或者采样频率)定义了每秒从连续信号中提取并组成离散信号的采样个数,它用赫兹(Hz)来表示。采样频率的倒数叫作采样周期或采样时间,它是采样之间的时间间隔。注意不要将采样率与比特率(bit rate,亦称“位速率”)相混淆。

采样定理表明采样频率必须大于被采样信号带宽的两倍,另外一种等同的说法是奈奎斯特频率必须大于被采样信号的带宽。

如果信号的带宽是100Hz,那么为了避免混叠现象采样频率必须大于200Hz。

换句话说就是采样频率必须至少是信号中最大频率分量频率的两倍,否则就不能从信号采样中恢复原始信号。

 

在模拟视频中,采样率定义为帧频和场频,而不是概念上的像素时钟。图像采样频率是传感器积分周期的循环速度。由于积分周期远远小于重复所需时间,采样频率可能与采样时间的倒数不同。

50 Hz - PAL视频

60 / 1.001 Hz - NTSC视频

当模拟视频转换为数字视频的时候,出现另外一种不同的采样过程,这次是使用像素频率。一些常见的像素采样率有:

13.5 MHz - CCIR 601、D1 video

高频luminance成分的混淆现象作为moiré pattern出现。

 

在数字音频领域,常用的采样率有:

8,000 Hz - 电话所用采样率,对于人的说话已经足够

11,025 Hz

22,050 Hz - 无线电广播所用采样率

32,000 Hz - miniDV数码视频camcorder、DAT(LP mode)所用采样率

44,100 Hz - 音频CD,也常用于MPEG-1音频(VCD, SVCD, MP3)所用采样率

47,250 Hz - Nippon Columbia(Denon)开发的世界上第一个商用PCM录音机所用采样率

48,000 Hz - miniDV、数字电视、DVD、DAT、电影和专业音频所用的数字声音所用采样率

50,000 Hz - 二十世纪七十年代后期出现的3M和Soundstream开发的第一款商用数字录音机所用采样率

50,400 Hz - 三菱X-80数字录音机所用所用采样率

96,000或者192,000 Hz - DVD-Audio、一些LPCM DVD音轨、Blu-ray Disc(蓝光盘)音轨、和HD-DVD(高清晰度DVD)音轨所用所用采样率

2.8224 MHz - SACD、索尼和飞利浦联合开发的称为Direct Stream Digital的1位sigma-delta modulation过程所用采样率。

 

单声道(或常见简写 mono)是以单个声道来重现声音。它只用了一个麦克风,一个扬声器,或是耳机、并联扬声器,并从同样的讯号路径送入讯号,在并联扬声器中,虽有多个扬声器,但每个扬声器送入的仍是同一讯号。

 

立体声(英语:stereo)是使用两个或多个独立的音效通道,在一对以对称方式配置的扬声器(即俗称的喇叭)上出现。以此方法所发出的声音,在不同方向仍可保持自然与悦耳。与之相对的是单声道。

美国Audio Fidelity Records公司,于1957年第一次将立体声引入商业唱片领域,这是一个十分重要的里程碑。1957年可视为唱片录音史上Mono与Stereo的重要分水岭,许多在1957年前便过世的音乐家,都因而很遗憾未能留下Stereo的录音资料。此后在1960年代,大多数唱片公司都陆续放弃单声道,全面性地转向双声道立体声录音。双声道立体声,至今仍是聆听音乐的主流规格。

 

public static void play(float sampleRate, int sampleSizeInBits, int channels, boolean signed, boolean bigEndian, byte[] wave_data) {

System.out.println("@PlayWave::play sampleRate=" + sampleRate + ",sampleSizeInBits=" + sampleSizeInBits + ",channels=" + channels + ",signed=" + signed + ",bigEndian=" + bigEndian);

AudioFormat   frmt= new AudioFormat(sampleRate, sampleSizeInBits, channels, signed, bigEndian);

        DataLine.Info info= new DataLine.Info(Clip.class, frmt);

        try {

        Clip          clip= (Clip) AudioSystem.getLine(info);

        clip.open(frmt, wave_data, 0, wave_data.length);

        clip.start();

        long st = System.currentTimeMillis();

        Thread.sleep(100);

        while(clip.isRunning()) {

            Thread.sleep(100);

        }

        long en = System.currentTimeMillis() - st;

        System.out.println("@PlayWave::play 耗时:" + en + "ms");

        } catch(Exception e) {

            e.printStackTrace(System.err);

        }

}

 

© 著作权归作者所有

如比如比
粉丝 126
博文 178
码字总数 286951
作品 0
日本
程序员
私信 提问
加载中

评论(1)

如比如比
如比如比 博主
关于声音文件还有一个概念:
"位速", 也有叫做比特率、取样率, 譬如文件的位速是 705.6kbps 或 705600bps, 其中的 b 是 bit, ps 是每秒的意思;
压缩的音频文件常常用位速来表示, 譬如达到 CD 音质的 MP3 是: 128kbps / 44100HZ.
每秒的传输速率(位速, 也叫比特率、取样率)是 22050*16*2 = 705600(bit/s), 换算成字节单位就是 705600/8 = 88200(字节/秒),
iOS 音量柱的实现(mic 采集的声音DB反映成音量柱)

需求 : APP 将麦克风采集到的声音(Audio Queue / Audio Unit) 通过公式转换成DB然后在界面中显示出来可实时检测DB变化。 流程: 配置Audio 初始化参数,必须使用Audio Queue 或 Audio Unit 采...

__小___东邪___
2017/11/19
0
0
服务器sas硬盘,1万5千转的,运行的时候会发出声音吗?

新买了一台DELL R720,运行的时候感觉声音好像是比以前的R710轻了,但是硬盘区域有咯咯咯的声音,而且这声音有时会停一下,问采购商说是硬盘发出的声音,说硬盘是会发出声音的,尤其是安静的...

pyruby
2013/09/13
1K
9
iOS 播放声音系列(一): 系统声音

原文链接 最近开发App时,需要用到声音服务。在查阅资料和文档后,发现iOS上播放声音有好几种方法。准备针对每种方法写一篇文章来详细说明。一来可以推动自己查阅文档教程来对声音播放进行深...

DEREK_ZHOU
2017/11/23
0
0
Hololens 开发笔记(8)——Audio Source

版权声明:本文版权归Jitwxs所有,欢迎转载,但未经作者同意必须保留原文链接。 https://blog.csdn.net/yuanlaijike/article/details/85202636 一、音频资源 Unity中的音频文件分为两类:原生...

Jitwxs
2018/12/22
0
0
Hololens 开发笔记——Audio Source

版权声明:本文版权归Jitwxs所有,欢迎转载,但未经作者同意必须保留原文链接。 https://blog.csdn.net/yuanlaijike/article/details/84250907 文章目录 音频资源 Unity中的音频文件分为两类...

Jitwxs
2018/11/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

mysql概览

学习知识,首先要有一个总体的认识。以下为mysql概览 1-架构图 2-Detail csdn |简书 | 头条 | SegmentFault 思否 | 掘金 | 开源中国 |

程序员深夜写bug
今天
8
0
golang微服务框架go-micro 入门笔记2.2 micro工具之微应用利器micro web

micro web micro 功能非常强大,本文将详细阐述micro web 命令行的功能 阅读本文前你可能需要进行如下知识储备 golang分布式微服务框架go-micro 入门笔记1:搭建go-micro环境, golang微服务框架...

非正式解决方案
今天
6
0
前端——使用base64编码在页面嵌入图片

因为页面中插入一个图片都要写明图片的路径——相对路径或者绝对路径。而除了具体的网站图片的图片地址,如果是在自己电脑文件夹里的图片,当我们的HTML文件在别人电脑上打开的时候图片则由于...

被毒打的程序猿
今天
8
0
Flutter 系列之Dart语言概述

Dart语言与其他语言究竟有什么不同呢?在已有的编程语言经验的基础上,我们该如何快速上手呢?本篇文章从编程语言中最重要的组成部分,也就是基础语法与类型变量出发,一起来学习Dart吧 一、...

過愙
今天
5
0
rime设置为默认简体

转载 https://github.com/ModerRAS/ModerRAS.github.io/blob/master/_posts/2018-11-07-rime%E8%AE%BE%E7%BD%AE%E4%B8%BA%E9%BB%98%E8%AE%A4%E7%AE%80%E4%BD%93.md 写在开始 我的Arch Linux上......

zhenruyan
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部