2014年9月2日

8.2.2 可视化频率

摘要: 人们通常用来分析音频的方法是可视化其中存在的频率。通常这些类型的可视化采用均衡器,均衡器允许调整各种频率范围的级别。将音频信号转换成分量频率(componentfrequency)的技术采用了一个数学变换,称为离散傅里叶变换(Discrete Fourier Transform,DFT)。DFT通常... 阅读全文

posted @ 2014-09-02 17:00 宁静致远,一览众山小 阅读(789) 评论(0) 推荐(0) 编辑

8.2.1 捕获声音以进行分析

摘要: 正如之前所描述的那样,声音是经过某种物质的震动,这这些振动可以被麦克风所捕获。麦克风将通过空气传播的振动转换成一个变化的电流。当计算机使用麦克风来捕获声音时,该声音将会被数字化。具体而言,特定大小(样本大小)的振幅样本会被每秒钟采集多次(采样率)。这个数据称为PCM(脉冲编码调制)流,其形成数字音频... 阅读全文

posted @ 2014-09-02 16:47 宁静致远,一览众山小 阅读(258) 评论(0) 推荐(0) 编辑

8.2 音频分析

摘要: 既然已经探讨了使用AudioTrack的高级方式,那么现在就看看如何通过AudioRecord对象对音频进行其他的处理。 阅读全文

posted @ 2014-09-02 16:34 宁静致远,一览众山小 阅读(170) 评论(0) 推荐(0) 编辑

8.1.2 生成样本

摘要: 通过使用一点算术,就能够利用算法来创建这些样本,例如可以重新生成经典的正弦波,以下示例产生了一个440Hz的正弦波。 1 package com.nthm.androidtestActivity; 2 3 import com.nthm.androidtest.R; 4 import androi... 阅读全文

posted @ 2014-09-02 16:17 宁静致远,一览众山小 阅读(309) 评论(0) 推荐(0) 编辑

8.1.1 播放合成声音

摘要: 下面的一个简单的示例,展示了如何构造一个AudioTrack类,并传入数据进行播放。关于用于构造AudioTrack对象的参数的完整讨论,请参阅7.5节。此示例使用一个内部类AudioSynthesisTask,其扩展了AsyncTask。AsyncTask定义一个称为doInBackground的... 阅读全文

posted @ 2014-09-02 14:29 宁静致远,一览众山小 阅读(324) 评论(0) 推荐(0) 编辑

8.1 数字音频合成

摘要: 数字音频合成(Digital Audio Synthesis)是一个非常广泛的主题,涉及大量的理论、数学、工程及其背后的历史。但是,大部分的主题超出了这本书的覆盖范围。我们要做的是查看一些基本的示例,以介绍如何利用Android上几个内置的类从头开始创建音频。可能你已经知道,声音是由重复的气压(或其... 阅读全文

posted @ 2014-09-02 10:36 宁静致远,一览众山小 阅读(399) 评论(0) 推荐(0) 编辑

第8章 音频合成与分析

摘要: 在第7章结束时,我们查看了使用AudioRecord和AudioTrack类捕获和播放原始PCM音频的方法。本章将继续使用这些类对录制的音频进行算法合成和分析。 阅读全文

posted @ 2014-09-02 09:16 宁静致远,一览众山小 阅读(228) 评论(0) 推荐(0) 编辑

7.7 本章小结

摘要: 本章介绍了在Android上录制音频的3种不同的方法,每种方法都有各自的优缺点。使用内置的录音机非常适合录制无需过多处理的音频,其中很少有或者没有编程控制的需要。使用MediaRecorder能够获得更大的灵活性,允许控制录音媒体的时间长度以及其他要素,但是将界面留给我们来实现。本章最后探讨了采用A... 阅读全文

posted @ 2014-09-02 08:57 宁静致远,一览众山小 阅读(120) 评论(0) 推荐(0) 编辑

7.6 捕获和播放原始音频的示例

摘要: 下面是一个完整的示例,其中使用AudioRecord录制音频,并使用AudioTrack播放音频。通过使用AsyncTask,每个操作都在他们各自的线程中工作,所以他们并不会导致在主线程中运行的应用程序变得无响应。 1 package com.nthm.androidtestActivity; 2 ... 阅读全文

posted @ 2014-09-02 08:51 宁静致远,一览众山小 阅读(285) 评论(0) 推荐(0) 编辑

导航