想了解一下怎么用程序实现音频生成?可以调节音频,波形,以至 PWM。

2015-07-11 14:34:29 +08:00
 zonghua

以前从没了解过相关音视频的编码,不知道怎么样才能生成目标信号。

像这样的

信号发生器 Signal Generator http://www.mumayi.com/android-69111.html

生成音频

音频输出有立体声双通道

这是一个很有创意的想法

markdown怎么退出段落

5637 次点击
所在节点    程序员
27 条回复
zhengnanlee
2015-07-11 14:57:42 +08:00
信号是可以通过傅里叶变换分解成一系列不同频率不同振幅的正弦波的。当然这有一定的条件,dirichlet条件。同样的,合成一个信号,可以把不同频率相加即可。这里涉及到采样,是对应样点的幅值相加。用程序生成音频就可以用上述思路实现了
zonghua
2015-07-11 15:02:55 +08:00
@zhengnanlee 你说的是后续定制的波形的步骤,首先我想怎么生成音频信号?比如用Java或者C#。
zhengnanlee
2015-07-11 15:44:48 +08:00
@zonghua 应该是有现成的库。如果没有的话,找一个中央c的音频文件,加速二倍就是高了2个8度
em70
2015-07-11 15:49:45 +08:00
要完全掌控模拟发声得先学习大量信号学基础才行吧,你需求是什么,如果是朗读有TTS,如果是音乐有各种模拟乐器库
zonghua
2015-07-11 15:53:37 +08:00
@em70 好吧,看来我的需求是“怎么产生特定频率的正弦波”
hardware
2015-07-11 16:01:31 +08:00
安卓自带的api就可以生成音频啊
raptor
2015-07-11 16:14:30 +08:00
给你看个我在1996年写的程序:
http://mental.we8log.com/mental/entry/25/my_weblog
通过PWM方式让pc speaker播放wav文件。
zonghua
2015-07-11 16:19:05 +08:00
@hardware 呜,我没有安卓手机,只有WP。。想知道java或者C#基本的类库里面有没有。

@raptor 好早,96年我还不会走呢。
qiayue
2015-07-11 16:19:58 +08:00
关键字 hijack
yangff
2015-07-11 16:50:14 +08:00
DynamicSoundEffectInstance
zonghua
2015-07-11 16:52:15 +08:00
@yangff 对哦,游戏是最需要音效的

@qiayue 那是一个应用程序吧?
ibigbug
2015-07-11 17:10:01 +08:00
python 的话可以用 scipy 读写 wave 文件,写一个正弦函数的序列进去就好了
qiayue
2015-07-11 17:31:44 +08:00
@zonghua hijack 是国外的一个用于手机 APP 和硬件(比如 SQUARE 的刷卡器)通过耳机口通信的解决方案
qiayue
2015-07-11 17:33:58 +08:00
@zonghua http://36kr.com/p/11068.html
目前市面上的所谓智能肌肤水分检测仪,大部分都是通过耳机口通讯的(也有少部分用蓝牙)
zonghua
2015-07-11 18:00:31 +08:00
@qiayue #我想到的是用来驱动电调或者舵机,用滤波器或者整流器就有多通道,不用碰数字电路。
ck65
2015-07-11 18:30:05 +08:00
https://github.com/search?utf8=%E2%9C%93&q=oscillator

lz 需要一个振荡器。然后再研究一下包络。然后再添加一个放大器。然后,一个新合成器出世了。
theoractice
2015-07-11 18:43:42 +08:00
找个NES模拟器的源码看看。锯齿波方波神马的
lincanbin
2015-07-11 19:22:25 +08:00
直接按wav文件结构逐字节写文件,44字节文件头和文件内容,结构非常简单。
bdbai
2015-07-11 19:30:54 +08:00
多换个空行就行了
zonghua
2015-07-11 19:39:52 +08:00
@lincanbin 所以我要好好了解一下音频图像编码咯?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/204960

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX