最近有个创意想法,但是有个技术难题,关于声形码的:
需求路径:
原始声音~简化为声形码~扫描声形码~播放原始声音
原理构思:
1 、录制原始声音,获得到一个完整的波形图
2 、简化,得到简化的波形图:声形码
3 、定义波峰波谷的绝对值在 1 ~ 5 取值(简化规则)
4 、得到一串整数的数学数字
5 、给这段数字赋值(链接原始录音)
6 、扫描这个声形码~得到数字~得到原始录音
也许现在已经有类似成熟的技术了,如果您知道,请告诉我一下下;这是我这个创意想法非常重要的一个部分,所以,欢迎大家一起探讨~~~
1
cuebyte 2016-07-09 19:33:11 +08:00
你这个创意二维码也可以做啊
|
3
sennes 2016-07-09 19:38:52 +08:00 via iPhone
识别是个问题
|
6
chengfu OP @DoraJDJ 嗯,只是折线,确实没法定位和识别比例,所以我绘制的这个图还有开始和结尾,有两个方面的思考,一个是扫描开始和结束的标示用于确定起始,一个是其长度可以被做成 1 个单位高度用于确定比例
|
7
mrleft 2016-07-09 19:45:17 +08:00
一半白,一半黑,应该能识别,但估计信息容量不够
|
9
sc3263 2016-07-09 19:48:52 +08:00
|
11
chengfu OP @mrleft 信息容量,我是这么思考的,比如确定任何一个声形码都需要取 30 个点,而每个点都有 10 个可能数字,这就是 10 的 30 次方了,即便如此,也可能不够,那么只是取多少个点的问题了~~
|
12
qwerasdf 2016-07-09 19:53:31 +08:00
二维码 ->
简谱文字 -> 识谱机 -> 喇叭 |
14
hard2reg 2016-07-09 19:54:52 +08:00
实际吗。。。声音这种东西容易受到外界干扰,说不定你本来要付 5 元的东西结果付了 32 元。。。。
|
16
hard2reg 2016-07-09 19:55:25 +08:00
好吧我可能理解错了。。。
|
17
chengfu OP @hard2reg 在我这个整体创意想法当中,不牵涉用声音用于安全方面的作用,创造这个声形码,更多的是娱乐方面的作用~
|
20
ayaseangle 2016-07-09 20:05:48 +08:00
你应该看下信息论相关的东西。。。
|
21
sc3263 2016-07-09 20:16:07 +08:00
@chengfu 必须要从原始音频中取出点什么东西么?
生成一个指向原始音频的链接,转成 16 进制,用 DTMF 的编码方式变成音频再放出去就好了。 就是解码的时候会有点慢。毕竟一秒里面只有十个音,每个音代表一个字节的话,一秒才能传 10 个字节,链接地址长点的话,用户就该崩溃了。 |
22
chengfu OP @hard2reg 你这段描述的“声形码”,不是我想要的那种~ @mrleft 嗯,二维码没普及之前,肯定也存在同样的问题。 @ayaseangle 我只是个建筑师&产品经理,或许我提出的问题是相关行业很基础的东西~ @sc3263 这里规划的,关键点就是与原始波形一致性,才有意思,如果是另外一套算法来的,波形图本身就没有意义了~
|
23
manhere 2016-07-09 21:10:26 +08:00
压缩率不够,需要巨幅图像才能容纳你的声音编码内容
|
24
chengfu OP @manhere 我所描述的声形码本身的波形起伏并不能携带声音信息,更多的是象征意义的与原始波形图达成波形趋势的一致性,因为取样点的数量被确定在如 20 ~ 30 个取样点,所以我才规划了- 5 ~+ 5 的数据方案,在有限的取样点数量下,才能赋予声形码更加丰富的内涵
|
25
notgod 2016-07-09 21:15:51 +08:00
可以去查找 Google 公司的一些学术公开文档 关于 Content ID 的内容 包括声纹 DNA
Google 的用在那个 youtube, 视频上传成功后 转码将视频轨道和音频轨道分离 在将音频和版权所有者上传的数字 DNA 进行对比 有 = 提示版权问题 无 = 生成音频 DNA, 后续新版权方如果有上传 可以进行快速检索匹配. 原理构思: 1 、录制原始声音,获得到一个完整的波形图 每个设备 录制的声音 都不是一样的 涉及到设备和控制除噪算法 2 、简化,得到简化的波形图:声形码 这个需要一种非常复杂的算法, 采样以后 在保证“唯一性”的前提下 如何生成处理? 3 、定义波峰波谷的绝对值在 1 ~ 5 取值(简化规则) 这个貌似应该在上一层处理 4 、得到一串整数的数学数字 如何确保数字的”唯一性“ “关联性” 5 、给这段数字赋值(链接原始录音) 内容关联 6 、扫描这个声形码~得到数字~得到原始录音 无语了 |
26
chengfu OP @notgod 谢谢你的丰富回答。<br>1 、就是一段录音,扫码后听到的就是原始录音,哪怕有背噪好想也没有什么关系;<br>2 、因为音色相同的人说同一句话(可能性很大)的波形及趋势很有可能相同,所以在规划的 30 个取样点(是一个概数)中,定义前 25 个取样点是声音取样,后 5 个取样点是随机生成?<br>3 、嗯;<br>4 、如 2 的回答;<br>5 、嗯;<br>6 、虽然长相和结果不同,但是现在流行的二维码扫描不是这样的原理流程?
|
27
Mutoo 2016-07-09 22:41:58 +08:00
声音的采样率要求很高,并且不容易压缩到较小的可显示区域(也就是所谓的声形码);
并且这个码要能通过扫描仪或相机可以获取又要求有一定的视觉分辨率,表明需要更大的空间; 综上,这种码即使实现了,也不便携。 |
28
jonechenug 2016-07-09 22:59:00 +08:00 via Android
支付宝的声波支付?
|
29
murmur 2016-07-09 23:29:06 +08:00
时域部分没频域靠谱啊 DTMF 也是频域放了一堆滤波器
|
30
schezukNewTos 2016-07-09 23:57:15 +08:00
https://zh.wikipedia.org/wiki/TVB 新闻#.E4.B8.BB.E9.A1.8C.E9.9F.B3.E6.A8.82
|
31
8bit 2016-07-10 00:05:05 +08:00 via Android
最多能提取特征,复原做不到吧
|
32
ahtsiu 2016-07-10 00:50:42 +08:00
这个轮子太老了,想一下当年用电话线上网,猫是怎么叫的。
声卡的原理也就是一个 ADC 录音和一个 DAC 回放,所以可以用声卡来做一个简单的逻辑分析仪,当然也可以用来做软串口或者输出 PWM 来驱动舵机啥的——前提都是直接用线连接加适当的放大电路。 -5 到 5 就是 11 位采样,直接用线连接的话完全可以,但用麦克风来做的话受环境音响干扰太大了,估计得 2 位采样也就是只有高和低才够信噪比,然后调制方式用 FSK 或者 PWM 啥的都可以,反正你要传输的数据量不大,把速率降低,抗干扰性会更好一点。 |
33
ahtsiu 2016-07-10 01:01:28 +08:00
貌似我误读楼主的意思了,楼主是想做声音的摘要? 32 楼的回复是关于“用声音传递数字信息”的。
|
34
jadecoder 2016-07-10 01:22:04 +08:00
不太明白楼主的声音指的是什么。
1. 采样率? 2. 音高分几级? 3. 音量分几级?(似乎是 -5~+5 共 11 级) 提供这三点就能估计出大致的信息量,然后才能看是否能编码。 我感觉,编码 MIDI 还可以,录音不太可能。 |
35
jadecoder 2016-07-10 01:38:12 +08:00
举个栗子,音量按 8 级算,音高也按 8 级算(低音 1 到 中音 7 ),每次采样就是 6 bits 。
按每秒采样 4 次算(和八音盒差不多),每秒 24 bits ,就是 3 Bytes 。一分钟 180 Bytes ,二维码可以很轻松的容纳。 但是按照楼主的方案,横轴长度是 4*60 = 240 格。纵轴如果用高度表示音高和音量,是 64 格。如果高度只表示音量,再用宽度或者粗细表示音高,那图像就得相当精细,或者识别条件很苛刻。恐怕无论怎样识别起来相当困难吧。 二维码之所以信息密度高,就是因为它丑陋啊。 |
36
hackpro 2016-07-10 02:08:48 +08:00
你这就是模拟信号采集,然后进行量化
看下信号处理的教材吧 |
37
SlipStupig 2016-07-10 02:13:13 +08:00
@chengfu 如果被录音了能保证安全么?
|
38
thomaspaine 2016-07-10 02:32:23 +08:00
@chengfu 你还不如直接用讯飞的方案直接识别语音呢,录音识别音高,一个是受环境影响太大,另外一个是每个人的基准都不一样。
要做还不如做身纹识别,喊一声就登录了多好。 |
39
chengfu OP <img src="http://chengfu.qiniudn.com/%E5%B1%8F%E5%B9%95%E5%BF%AB%E7%85%A7%202016-07-10%20%E4%B8%8A%E5%8D%887.03.23.png" />
@Mutoo 感谢,如图示,声音确实是有一定外形的,我规划的声形码要求有这些波形起伏,其本身的长相与声音波形一致,更多的是基于营销宣传的考虑,而其本身的长相更多是象征意义,既然是码么,肯定需要一定的视觉分辨率的,所以这个题目也可以换成:用简单波形图怎么携带足量数据,其波形本身能够被扫描并识别其所代表的人类赋予它的意义? @jonechenug 这个太高科技了,换个说法,这个议题你可以把它当作,怎么可以“看到”声音,假如我说的这个码的是成立的,那么未来的可用场景也不少的,比如快递包裹上贴上声形码,每个快递员都能在寄送过程中扫码听到买主的声音和要求,为其快递业务增加了可玩性~~~ @murmur 虽然我刚刚拿到业余无线电 B 证,但是没有钱买短波装备,所以这种波啊什么的,还是门外汉。 @schezukNewTos 啥? @8bit 嗯,如果你说的特征码是我说的与原始声音长相差不多的,那么,就是,不需要复原,这里怎么说呢,在我规划下的这个声形码的扫描识别需要联网,不能如二维码一样本地就能解析了,因为原始声音放在互联网上的,声形码只是提取的秘钥,本身携带的是数字数据,而非声音数据。 @ahtsiu 谢谢,虽然没有看懂你所描述的这个,但是貌似你在描述的一个怎么实时采样的过程,我规划中,没有实时采样的需求,都是一段音录制好后,在用软件的方法进行简化和采样。 @jadecoder 谢谢,声形码本身不具有携带声音数据的功能,只能携带认为给予赋值的数字数据功能。同时就是因为二维码长得丑,所以我才提出这个制作“看得见”的声音的怎么个声形码,怎么样,是不是很浪漫! @hackpro 声音转化成码是一回事,通过 camera 扫描还原好像是另外一回事。 @SlipStupig 二维码如何保证安全的? @thomaspaine 基于创造一个“看得见”的声音,所以,这个事儿没那么高科技,完全是一个规则制定和识别算法的问题 |
40
janxin 2016-07-10 08:03:29 +08:00 via iPhone
midi 应该问题不大吧,所以做一个类似八音盒?
|
41
chengfu OP @janxin 这是一个软件的问题,使用场景是某 app 带有生成声形码的功能,所以,录音只需要对着手机对着 app 录音就行了,剩下都是程序的事情~
|
42
HankAviator 2016-07-10 08:47:07 +08:00 via Android
二维码的储存容量似乎更大一些,用它记录声音特征,再由客户端模拟(类似 midi)貌似可行。二维码丑可以美化啊…各种个性的。建立一个标准很难呐
|
43
azh7138m 2016-07-10 08:50:26 +08:00
扫二维码,联网播放
这个声形码容量感觉很低,放不了多少东西 |
44
emlcj 2016-07-10 09:00:19 +08:00
LZ 需要学一下通信原理
|
45
chengfu OP |
46
linhua 2016-07-10 09:24:20 +08:00
在识别复杂度一样的前提下,考察一下 每单位面积所携带的信息量(信息密度), 你这个估计要小于二维码
声音的波形表达方式 模拟的是介质中点的振动。因为声音是通过介质进行传播的,是通过介质中点的振动进行传播的。 相关科目 《数字信号处理》 《信号与系统》 在摄像头或者说图像传感器(包括人眼)的世界中,一切都是像素。都是一个一个的圆点。将你的图形(包括背景)都转换成 一个一个连续的圆点之后,将一列圆点平均划分成几个等级,这一列的具体取值,这一列(纵坐标)的取值用这一列中黑色像素点的纵坐标值来代表。如果再把圆形的像素点用方形表示(因为在低像素的摄像头下,边缘会模糊,所以方形和圆形没多大区别)。这样子想象的话,你这个 声形码 其实也就像是 二维码。 |
48
zmj1316 2016-07-10 09:52:44 +08:00
lz 的意思是要把声音转成图片的形式吧, ls 也有人建议了先去看看信息论再来开脑洞了。
就算是用二维码实现,一个二维码才能搞几个字节啊... |
49
msg7086 2016-07-10 09:58:58 +08:00
鲁棒性不够啊。
而且你这不还是二维码? |
50
DylanRing0 2016-07-10 10:04:18 +08:00
楼主应该去看看《通信原理》这门课,
从原理上告诉你,简化后的时域波形是还原不出原始波形的。 所以建议做成二维码那样的,简化过程抽出特征并上传音频, 还原时匹配特征下载音频播放。 如果楼主坚持原来的想法,建议你听一听 4bit 量化下的音频效果(-5 ~ +5 连 4bit 都不到)。 请相信这门成熟的理论课程,企图颠覆造轮子是不可能的( |
51
linhua 2016-07-10 10:25:23 +08:00
估计楼主想要的是 从 声音(模拟世界) ---> 图像(模拟世界) 的直接转换, 不经过中间的 声音编码(数字世界)[基本的是 声音(模拟世界) ---> 声音编码(数字世界) ---> 图像(模拟世界)]
|
52
v2016 2016-07-10 10:28:09 +08:00
音色那些可以考虑,然后就还原了
|
53
Remember 2016-07-10 10:28:31 +08:00
楼主你这脑洞是不是约等于从 md5 还原文件?
|
54
SeanChense 2016-07-10 10:39:58 +08:00 via iPhone
去看看上面的人说的《通信原理》吧,模拟通信里这些东西已经研究的透透的。
|
55
lee015 2016-07-10 10:59:04 +08:00 via Android
采样 量化 编码 就是 ADC 吧,看看通原。这种不能恢复原始录音。
|
56
dayoushen 2016-07-10 11:32:41 +08:00
这个是音频指纹吧,之前调研过 shazam 和 midomi 音乐识别就是基于此技术(类似网易云音乐的听歌识曲),网易公开课 TED 好像有个演讲,大致想法是提取音频的指纹,然后存在在一个大的网络服务器上,把现实生活中一张图片和音频指纹绑定,当你上传的图片和服务器上图片相似就会解码得到原始音频。说到底还是信息压缩还原的问题。
|
57
dayoushen 2016-07-10 11:35:20 +08:00
简单粗暴做一个音频长度+md5 码到二维码的映射就可实现基本功能
|
58
chengfu OP 感谢大家从技术上帮我解惑,特别是推荐《通信原理》的几个朋友,但是作为建筑学出身的 it 产品经理,我暂时没有时间和精力去学习《通信原理》的打算,甚至本帖这个问题都不该我来提出,所以,探讨告一段落吧,感谢大家的积极参与。但凡有真的明白我提出这个问题需求的技术牛,可以尝试通过邮箱与我进行联系和探讨 [email protected] 谢谢~
|
59
menc 2016-07-10 12:08:28 +08:00
@chengfu
我明白你的需求 我也看懂了其他人的回答 我也看出来你似乎觉得他们并没有明白你的需求 我也看出来你似乎觉得没人理解你的需求 我想了想,明白了可能他们说的太艰深晦涩,以至于没学过通信原理和信息论的人听不懂。 -- 他们的话形象点来说,就是,你这个 idea ,和永动机一样,是违背自然规律的。你的如此少信息量的二维码不能够承载哪怕是极限取样和压缩后的声音。 |
60
menc 2016-07-10 12:10:48 +08:00
@chengfu
再插一点和通信和信息论无关的。 你是产品经理,有这个 idea 相信做过调研,所有两个维度上展示信息的条形码都是二维码,你这个也是二维码的一种。我们现在最常见的叫 QR code ,仅仅是万千二维码的一种而已。 事实上除了 QR CODE ,形形色色的二维码都有,但是,他们都消失于历史的长河中,只有 QR code 活下来了。你可以想想为什么。 再看看 QR Code 的设计,就知道二维码其实门道很多。 |
63
menc 2016-07-10 14:49:18 +08:00
|
64
ClassicOldSong 2016-07-10 17:14:28 +08:00
支付宝的咻一咻你可以研究一下
建议研究一下通讯原理,这样的想法感觉是初中生创意 |
65
chengfu OP @ClassicOldSong 我所描述的创意本身比这个大多了,而声形码这个点是一个重要的组成部分,我知道我描述的方案有很多的漏洞,所以我是来问计的,不是来听你最后这一句类似答案的,还是谢谢~~~
|
66
vmebeh 2016-07-10 18:29:07 +08:00
声波应该是三维的,转换到二维码大小不够容量
|
67
vmebeh 2016-07-10 18:36:14 +08:00
而且模拟转数字,有个采集频率的要求
|
68
chengfu OP @vmebeh 谢谢你的回答,可能你没有看我之前答复其它朋友的回复,我所描述的简单波形码本身已经不能用于携带声音信息的,只能用于打开互联网上储存的原始声音文件的一个密钥而已
|
69
realpg 2016-07-10 18:42:00 +08:00
我看得乱七八糟的
楼主是不是要做一种跟原始声音波形有相关性的 hash ,然后通过一个巨大无比的彩虹表联网获取原文? |
70
chengfu OP @realpg 嗯,用纯程序猿的语言来说,差不多的意思,不过不是预先预设的,而是实际发生后定义和关联的;我(非程序猿)理解的,其实就是当年快播原理而已~
|
71
P0P 2016-07-10 20:07:21 +08:00 via Android 1
典型的书读少了啊
|
73
sitiao 2016-07-11 13:05:46 +08:00
去搜一个 app 叫 Chirp ,用鸟叫声传输 url ,可以搜到它的原理说明。真实应用场景下,识别效果会很差。其实阿里的声音近场支付用的原理和这个一样。
|
75
linyehui 2016-07-11 14:05:41 +08:00
|
76
chengfu OP @linyehui 刚看了他们的原理描述 http://rest.sinaapp.com/?a=technology 很清晰的思路,并且这群人已经在尝试将理论算法用于实践了。而我的这个问题,希望能够得到这样的算法思路,最好是能够想集思广益,找到“声形码”的类似项目组和已有产品~~~
|
77
allenhu 2016-07-12 08:40:48 +08:00 via Android
可供编码的位数太少,完全把声音编码在这个码中不太现实,编进去也很难扫描,只能把声音资源的 url 编码进去,考虑到容错,也有点玄
|
78
allenhu 2016-07-12 08:45:10 +08:00 via Android
如果仅仅是为了看起来像声音,大可以在二维码中间加个 icon ,哈哈😄
|
80
aliipay 2016-07-12 12:50:17 +08:00
音频编码?这不是造一个 mp3 编码的轮子吗?
|