由人头录音、HRTF 产生的关于空间音频的想法

本贴最后更新于 1157 天前,其中的信息可能已经时异事殊

我从高中就开始热衷于使音频变得生动活泼,希望可以录制生动的现场音频记忆,这是我 6 年前以产生的梦想之一。

可能大家都知道,互联网上几乎所有的音频,当使用耳机播放时,它们就像在你的头内播放,从未像歌手在你面前唱歌一样。

或许有些人已经知道这方面的知识了,但为了避免你还不了解,我先在这里补充一些背景信息:

我们的人有两只耳朵,但是我们可以区分 3D 声音信息,在听到声音时可以确定声音的方向和距离。

那是因为在声音到达我们的耳膜之前,它首先与我们的头,头发,脸,鼻子,皮肤,肩膀,耳廓相互作用……我们的耳廓的形状、骨头的密度,它们为声音添加了滤镜(反射和衍射的结果),因此,当相同的声音从不同的方向到达我们的耳膜时,它们会被我们的身体处理。

由于我们的大脑已经习惯了此滤镜,因此我们可以感觉到声音的方向。

当使用耳机播放音乐时,这些声音不会被我们的身体结构添加滤镜,因此听起来好像所有音乐都在我们的脑袋内播放,永远不会有在前方播放的感觉。

我们的身体声音滤镜效果可以测量并应用于其他音频。该技术称为 HRTF(头部相关传递函数)。

测量此 HRTF 需要笨重且昂贵的设备,并且由于每个人的身体结构都有细微的差别,因此一个 HRTF 参数不能适用于所有人,因此必须进行个性化测量以实现最真实的仿真。

就在昨天,我刚刚自己制作了双耳麦克风。我买了几个 6027(直径 6.0mm,厚 2.7mm)麦克风咪头(每个咪头 1.2 元),并用便宜的耳机焊接了它们,并加了一个小的橡胶套,照片:

BinauralMicImade.jpg

然后,我将每个麦克风咪头放入耳道入口(在这里它将会收集到经过身体处理后的声波),其大小正好适合耳道。然后,我将其插入便宜的 Sony 录音机 ICD-UX543F ,开始录音。

从理论上讲,我的耳道中的两个麦克风将准确地记录我的声音。这实际上只是一个充满希望的理论。

录音几分钟后,我换了个地方,戴上耳机,闭上了眼睛,重新播放了音频文件。我只是在那个录音环境中!我感觉:

  • 人们靠近并经过
  • 车辆从我面前冲过
  • ...

录音真的让我大吃一惊!

这是我今天录的另外一段音频(请佩戴入耳式耳机聆听):

(但是有可能,由于你的 HRTF 与我不同,你可能感受不到一些声音在前方发出)

但是,上面的示例说明,使用一组便宜的设备(双耳麦克风的材料成本甚至不到 5 块钱),我们可以以非常低的成本准确记录人耳如何听到声音。

所以这个主意今天浮现在我脑海:

尽管我们无法测量整个 HRTF 数据,但是我们可以测量一些准确的数据:

在安静的环境中,让一个人在他/她的耳道中佩戴这种双耳麦克风,将扬声器放在这个人的面前一米远,开始录音,并在扬声器中播放音频。

录音将显示前方一米处的声音传递到这个人的耳朵后的声音效果。

经过 FFT 分析后,与原始音频进行比较,我们可以得到一个列表,该列表列出了如何每个频率被如何影响。

使用此列表,我们可以得到这个测试者专属的电子滤镜,将其应用到任何声音或音乐中,然后在人的耳机中播放,这个听众会感觉到声音是从前方一米远处发出的。

如果可以有效使用此滤镜,则在使用耳机拨打电话时,用户会感觉自己的朋友在他面前讲话,而不是在脑海里讲话!

我的想法到这里就结束了。我对处理音频及其所有算法一无所知。更不要说写出这样的分析和处理脚本了。

当然以后有机会的话也可以尝试搞搞,如果有能力做的人也可以试试!

  • 奇思妙想

    虽然我们的世界构建在想象力上,但光想不实操也是没用的。

    60 引用 • 623 回帖 • 5 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • someone61489 2 评论

    听着真哇塞

    其实是远不够哇塞的。因为这是用我的头录制的,只有在我的耳朵上播放,才能完全还原出方向感,而在你的头上,由于没有精确的 HRTF 处理,会有些方向无法感知到,或者感知错误。如果你佩戴上这个,录出音频,再自个听,那才叫哇塞。
    HaujetZhao
    @HaujetZhao in your mind~
    someone61489

推荐标签 标签

  • wolai

    我来 wolai:不仅仅是未来的云端笔记!

    2 引用 • 14 回帖
  • Wide

    Wide 是一款基于 Web 的 Go 语言 IDE。通过浏览器就可以进行 Go 开发,并有代码自动完成、查看表达式、编译反馈、Lint、实时结果输出等功能。

    欢迎访问我们运维的实例: https://wide.b3log.org

    30 引用 • 218 回帖 • 604 关注
  • Pipe

    Pipe 是一款小而美的开源博客平台。Pipe 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动(具体细节请浏览 B3log 构思 - 分布式社区网络)。

    这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!

    131 引用 • 1114 回帖 • 146 关注
  • Markdown

    Markdown 是一种轻量级标记语言,用户可使用纯文本编辑器来排版文档,最终通过 Markdown 引擎将文档转换为所需格式(比如 HTML、PDF 等)。

    164 引用 • 1456 回帖
  • OkHttp

    OkHttp 是一款 HTTP & HTTP/2 客户端库,专为 Android 和 Java 应用打造。

    16 引用 • 6 回帖 • 56 关注
  • 支付宝

    支付宝是全球领先的独立第三方支付平台,致力于为广大用户提供安全快速的电子支付/网上支付/安全支付/手机支付体验,及转账收款/水电煤缴费/信用卡还款/AA 收款等生活服务应用。

    29 引用 • 347 回帖
  • DevOps

    DevOps(Development 和 Operations 的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。

    40 引用 • 24 回帖
  • Sphinx

    Sphinx 是一个基于 SQL 的全文检索引擎,可以结合 MySQL、PostgreSQL 做全文搜索,它可以提供比数据库本身更专业的搜索功能,使得应用程序更容易实现专业化的全文检索。

    1 引用 • 180 关注
  • 开源

    Open Source, Open Mind, Open Sight, Open Future!

    397 引用 • 3418 回帖
  • 小说

    小说是以刻画人物形象为中心,通过完整的故事情节和环境描写来反映社会生活的文学体裁。

    28 引用 • 108 回帖
  • PHP

    PHP(Hypertext Preprocessor)是一种开源脚本语言。语法吸收了 C 语言、 Java 和 Perl 的特点,主要适用于 Web 开发领域,据说是世界上最好的编程语言。

    165 引用 • 407 回帖 • 525 关注
  • IPFS

    IPFS(InterPlanetary File System,星际文件系统)是永久的、去中心化保存和共享文件的方法,这是一种内容可寻址、版本化、点对点超媒体的分布式协议。请浏览 IPFS 入门笔记了解更多细节。

    20 引用 • 245 回帖 • 235 关注
  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    18914 引用 • 70906 回帖
  • FlowUs

    FlowUs.息流 个人及团队的新一代生产力工具。

    让复杂的信息管理更轻松、自由、充满创意。

    1 引用 • 3 关注
  • 人工智能

    人工智能(Artificial Intelligence)是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门技术科学。

    71 引用 • 153 回帖
  • IBM

    IBM(国际商业机器公司)或万国商业机器公司,简称 IBM(International Business Machines Corporation),总公司在纽约州阿蒙克市。1911 年托马斯·沃森创立于美国,是全球最大的信息技术和业务解决方案公司,拥有全球雇员 30 多万人,业务遍及 160 多个国家和地区。

    16 引用 • 53 回帖 • 123 关注
  • Tomcat

    Tomcat 最早是由 Sun Microsystems 开发的一个 Servlet 容器,在 1999 年被捐献给 ASF(Apache Software Foundation),隶属于 Jakarta 项目,现在已经独立为一个顶级项目。Tomcat 主要实现了 JavaEE 中的 Servlet、JSP 规范,同时也提供 HTTP 服务,是市场上非常流行的 Java Web 容器。

    162 引用 • 529 回帖 • 2 关注
  • C++

    C++ 是在 C 语言的基础上开发的一种通用编程语言,应用广泛。C++ 支持多种编程范式,面向对象编程、泛型编程和过程化编程。

    106 引用 • 152 回帖
  • ZooKeeper

    ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务,是 Google 的 Chubby 一个开源的实现,是 Hadoop 和 HBase 的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

    59 引用 • 29 回帖 • 24 关注
  • WordPress

    WordPress 是一个使用 PHP 语言开发的博客平台,用户可以在支持 PHP 和 MySQL 数据库的服务器上架设自己的博客。也可以把 WordPress 当作一个内容管理系统(CMS)来使用。WordPress 是一个免费的开源项目,在 GNU 通用公共许可证(GPLv2)下授权发布。

    45 引用 • 113 回帖 • 302 关注
  • JSON

    JSON (JavaScript Object Notation)是一种轻量级的数据交换格式。易于人类阅读和编写。同时也易于机器解析和生成。

    51 引用 • 190 回帖 • 2 关注
  • Ngui

    Ngui 是一个 GUI 的排版显示引擎和跨平台的 GUI 应用程序开发框架,基于
    Node.js / OpenGL。目标是在此基础上开发 GUI 应用程序可拥有开发 WEB 应用般简单与速度同时兼顾 Native 应用程序的性能与体验。

    7 引用 • 9 回帖 • 345 关注
  • RabbitMQ

    RabbitMQ 是一个开源的 AMQP 实现,服务器端用 Erlang 语言编写,支持多种语言客户端,如:Python、Ruby、.NET、Java、C、PHP、ActionScript 等。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。

    49 引用 • 60 回帖 • 393 关注
  • Shell

    Shell 脚本与 Windows/Dos 下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比 Windows 下的批处理更强大,比用其他编程程序编辑的程序效率更高,因为它使用了 Linux/Unix 下的命令。

    122 引用 • 73 回帖
  • CSDN

    CSDN (Chinese Software Developer Network) 创立于 1999 年,是中国的 IT 社区和服务平台,为中国的软件开发者和 IT 从业者提供知识传播、职业发展、软件开发等全生命周期服务,满足他们在职业发展中学习及共享知识和信息、建立职业发展社交圈、通过软件开发实现技术商业化等刚性需求。

    14 引用 • 155 回帖 • 1 关注
  • ngrok

    ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道。

    7 引用 • 63 回帖 • 600 关注
  • 智能合约

    智能合约(Smart contract)是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。智能合约概念于 1994 年由 Nick Szabo 首次提出。

    1 引用 • 11 回帖 • 3 关注