以前从没了解过相关音视频的编码,不知道怎么样才能生成目标信号。
像这样的
信号发生器 Signal Generator http://www.mumayi.com/android-69111.html
生成音频
音频输出有立体声双通道
这是一个很有创意的想法
markdown怎么退出段落
1
zhengnanlee 2015-07-11 14:57:42 +08:00 via Android 1
信号是可以通过傅里叶变换分解成一系列不同频率不同振幅的正弦波的。当然这有一定的条件,dirichlet条件。同样的,合成一个信号,可以把不同频率相加即可。这里涉及到采样,是对应样点的幅值相加。用程序生成音频就可以用上述思路实现了
|
2
zonghua OP @zhengnanlee 你说的是后续定制的波形的步骤,首先我想怎么生成音频信号?比如用Java或者C#。
|
3
zhengnanlee 2015-07-11 15:44:48 +08:00 via Android
@zonghua 应该是有现成的库。如果没有的话,找一个中央c的音频文件,加速二倍就是高了2个8度
|
4
em70 2015-07-11 15:49:45 +08:00
要完全掌控模拟发声得先学习大量信号学基础才行吧,你需求是什么,如果是朗读有TTS,如果是音乐有各种模拟乐器库
|
6
hardware 2015-07-11 16:01:31 +08:00
安卓自带的api就可以生成音频啊
|
7
raptor 2015-07-11 16:14:30 +08:00 1
|
8
zonghua OP |
9
qiayue 2015-07-11 16:19:58 +08:00
关键字 hijack
|
10
yangff 2015-07-11 16:50:14 +08:00
DynamicSoundEffectInstance
|
12
ibigbug 2015-07-11 17:10:01 +08:00
python 的话可以用 scipy 读写 wave 文件,写一个正弦函数的序列进去就好了
|
14
qiayue 2015-07-11 17:33:58 +08:00
|
16
ck65 2015-07-11 18:30:05 +08:00
|
17
theoractice 2015-07-11 18:43:42 +08:00
找个NES模拟器的源码看看。锯齿波方波神马的
|
18
lincanbin 2015-07-11 19:22:25 +08:00 via Android
直接按wav文件结构逐字节写文件,44字节文件头和文件内容,结构非常简单。
|
19
bdbai 2015-07-11 19:30:54 +08:00 via iPhone
多换个空行就行了
|
21
laobubu 2015-07-11 20:11:27 +08:00 via Android
就用 WAV 文件,简单粗暴,在数据头之后,直接用循环对数据(如果wav数据格式为无符号整形,可以视作占空比)逐个处理就是了…
|
24
xieyudi1990 2015-07-12 01:16:28 +08:00 via iPhone
你这显然是类似于D类放大器的发声方法. 搜下几个电子论坛, 一大堆用PWM放音乐的帖子.
|
25
yangff 2015-07-12 01:49:56 +08:00 via Android
@zonghua 不是告诉你DynamicSoundEffectInstance了吗
直接把PCM格式的wave用SubmitBuffer灌进去就行了。 |
26
Shazoo 2015-07-13 09:21:24 +08:00
手机一般是44k的采样率,16bit的采样长度。
你简单的生成short数组,内容随机,灌到输出buffer里面就完了…… 播放出来就是传说中的白噪声。 当然,如果要高斯白噪声,得保持信号的直流分量为0……额,你灌进去的随机数数组的和是0. |