【光雅集】3

本贴最后更新于 1486 天前,其中的信息可能已经时移世易

audio 时频绘图

yum -y install freetype-devel libxml2-devel expat-devel [root@localhost mysoul]# ls Cargo.lock Cargo.toml src target test [root@localhost mysoul]# cat Cargo.toml [package] name = "mysoul" version = "0.1.0" edition = "2018" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] png = "0.16.8" minimp3 = "0.5.1" audio-visualizer = "0.2.2" [root@localhost mysoul]# cat src/main.rs use minimp3::{Decoder as Mp3Decoder, Frame as Mp3Frame, Error as Mp3Error}; use audio_visualizer::ChannelInterleavement; use audio_visualizer::Channels; use audio_visualizer::waveform::staticc::png_file::waveform_static_png_visualize; use std::path::PathBuf; use std::fs::File; use std::collections::BTreeMap; use audio_visualizer::spectrum::staticc::png_file::spectrum_static_png_visualize; fn main() { let mut path = PathBuf::new(); path.push("test/samples"); path.push("mysoul.mp3"); let mut decoder = Mp3Decoder::new(File::open(path).unwrap()); let mut lrlr_mp3_samples = vec![]; loop { match decoder.next_frame() { Ok(Mp3Frame { data: samples_of_frame, .. }) => { for sample in samples_of_frame { lrlr_mp3_samples.push(sample); } } Err(Mp3Error::Eof) => break, Err(e) => panic!("{:?}", e), } } waveform_static_png_visualize( &lrlr_mp3_samples, Channels::Stereo(ChannelInterleavement::LRLR), "test/out", "mysoul_waveform.png" ); let mut spec = BTreeMap::new(); spectrum_static_png_visualize( &spec, "test/out", "mysoul_spectrum.png", &[] ); } [root@localhost mysoul]# ls test out samples

左右声道可见

rightmysoulwaveform.png

leftmysoulwaveform.png

频率不可见

mysoulspectrum.png

使用 spek 可见

mysoul.png

对比频率图表

以 A4=440Hz 为准

Note Frequency (Hz) Wavelength (cm)
C0 16.35 2109.89
C^#^0 /D^b^ 0 17.32 1991.47
D0 18.35 1879.69
D^#^0 /E^b^ 0 19.45 1774.20
E0 20.60 1674.62
F0 21.83 1580.63
F^#^0 /G^b^ 0 23.12 1491.91
G0 24.50 1408.18
G^#^0 /A^b^ 0 25.96 1329.14
A0 27.50 1254.55
A^#^0 /B^b^ 0 29.14 1184.13
B0 30.87 1117.67
C1 32.70 1054.94
C^#^1 /D^b^ 1 34.65 995.73
D1 36.71 939.85
D^#^1 /E^b^ 1 38.89 887.10
E1 41.20 837.31
F1 43.65 790.31
F^#^1 /G^b^ 1 46.25 745.96
G1 49.00 704.09
G^#^1 /A^b^ 1 51.91 664.57
A1 55.00 627.27
A^#^1 /B^b^ 1 58.27 592.07
B1 61.74 558.84
C2 65.41 527.47
C^#^2 /D^b^ 2 69.30 497.87
D2 73.42 469.92
D^#^2 /E^b^ 2 77.78 443.55
E2 82.41 418.65
F2 87.31 395.16
F^#^2 /G^b^ 2 92.50 372.98
G2 98.00 352.04
G^#^2 /A^b^ 2 103.83 332.29
A2 110.00 313.64
A^#^2 /B^b^ 2 116.54 296.03
B2 123.47 279.42
C3 130.81 263.74
C^#^3 /D^b^ 3 138.59 248.93
D3 146.83 234.96
D^#^3 /E^b^ 3 155.56 221.77
E3 164.81 209.33
F3 174.61 197.58
F^#^3 /G^b^ 3 185.00 186.49
G3 196.00 176.02
G^#^3 /A^b^ 3 207.65 166.14
A3 220.00 156.82
A^#^3 /B^b^ 3 233.08 148.02
B3 246.94 139.71
C4 261.63 131.87
C^#^4 /D^b^ 4 277.18 124.47
D4 293.66 117.48
D^#^4 /E^b^ 4 311.13 110.89
E4 329.63 104.66
F4 349.23 98.79
F^#^4 /G^b^ 4 369.99 93.24
G4 392.00 88.01
G^#^4 /A^b^ 4 415.30 83.07
A4 440.00 78.41
A^#^4 /B^b^ 4 466.16 74.01
B4 493.88 69.85
C5 523.25 65.93
C^#^5 /D^b^ 5 554.37 62.23
D5 587.33 58.74
D^#^5 /E^b^ 5 622.25 55.44
E5 659.25 52.33
F5 698.46 49.39
F^#^5 /G^b^ 5 739.99 46.62
G5 783.99 44.01
G^#^5 /A^b^ 5 830.61 41.54
A5 880.00 39.20
A^#^5 /B^b^ 5 932.33 37.00
B5 987.77 34.93
C6 1046.50 32.97
C^#^6 /D^b^ 6 1108.73 31.12
D6 1174.66 29.37
D^#^6 /E^b^ 6 1244.51 27.72
E6 1318.51 26.17
F6 1396.91 24.70
F^#^6 /G^b^ 6 1479.98 23.31
G6 1567.98 22.00
G^#^6 /A^b^ 6 1661.22 20.77
A6 1760.00 19.60
A^#^6 /B^b^ 6 1864.66 18.50
B6 1975.53 17.46
C7 2093.00 16.48
C^#^7 /D^b^ 7 2217.46 15.56
D7 2349.32 14.69
D^#^7 /E^b^ 7 2489.02 13.86
E7 2637.02 13.08
F7 2793.83 12.35
F^#^7 /G^b^ 7 2959.96 11.66
G7 3135.96 11.00
G^#^7 /A^b^ 7 3322.44 10.38
A7 3520.00 9.80
A^#^7 /B^b^ 7 3729.31 9.25
B7 3951.07 8.73
C8 4186.01 8.24
C^#^8 /D^b^ 8 4434.92 7.78
D8 4698.63 7.34
D^#^8 /E^b^ 8 4978.03 6.93
E8 5274.04 6.54
F8 5587.65 6.17
F^#^8 /G^b^ 8 5919.91 5.83
G8 6271.93 5.50
G^#^8 /A^b^ 8 6644.88 5.19
A8 7040.00 4.90
A^#^8 /B^b^ 8 7458.62 4.63
B8 7902.13 4.37

🙋
如何表格中上色?

  • 游戏

    沉迷游戏伤身,强撸灰飞烟灭。

    181 引用 • 821 回帖

相关帖子

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...

推荐标签 标签

  • 知乎

    知乎是网络问答社区,连接各行各业的用户。用户分享着彼此的知识、经验和见解,为中文互联网源源不断地提供多种多样的信息。

    10 引用 • 66 回帖
  • 国际化

    i18n(其来源是英文单词 internationalization 的首末字符 i 和 n,18 为中间的字符数)是“国际化”的简称。对程序来说,国际化是指在不修改代码的情况下,能根据不同语言及地区显示相应的界面。

    8 引用 • 26 回帖 • 3 关注
  • Redis

    Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。从 2010 年 3 月 15 日起,Redis 的开发工作由 VMware 主持。从 2013 年 5 月开始,Redis 的开发由 Pivotal 赞助。

    286 引用 • 248 回帖
  • OAuth

    OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是 oAuth 的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此 oAuth 是安全的。oAuth 是 Open Authorization 的简写。

    36 引用 • 103 回帖 • 29 关注
  • Chrome

    Chrome 又称 Google 浏览器,是一个由谷歌公司开发的网页浏览器。该浏览器是基于其他开源软件所编写,包括 WebKit,目标是提升稳定性、速度和安全性,并创造出简单且有效率的使用者界面。

    63 引用 • 289 回帖
  • 正则表达式

    正则表达式(Regular Expression)使用单个字符串来描述、匹配一系列遵循某个句法规则的字符串。

    31 引用 • 94 回帖
  • Netty

    Netty 是一个基于 NIO 的客户端-服务器编程框架,使用 Netty 可以让你快速、简单地开发出一个可维护、高性能的网络应用,例如实现了某种协议的客户、服务端应用。

    49 引用 • 33 回帖 • 35 关注
  • MyBatis

    MyBatis 本是 Apache 软件基金会 的一个开源项目 iBatis,2010 年这个项目由 Apache 软件基金会迁移到了 google code,并且改名为 MyBatis ,2013 年 11 月再次迁移到了 GitHub。

    173 引用 • 414 回帖 • 363 关注
  • 倾城之链
    23 引用 • 66 回帖 • 168 关注
  • 阿里巴巴

    阿里巴巴网络技术有限公司(简称:阿里巴巴集团)是以曾担任英语教师的马云为首的 18 人,于 1999 年在中国杭州创立,他们相信互联网能够创造公平的竞争环境,让小企业通过创新与科技扩展业务,并在参与国内或全球市场竞争时处于更有利的位置。

    43 引用 • 221 回帖 • 62 关注
  • Vue.js

    Vue.js(读音 /vju ː/,类似于 view)是一个构建数据驱动的 Web 界面库。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。

    268 引用 • 666 回帖
  • Wide

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

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

    30 引用 • 218 回帖 • 636 关注
  • Latke

    Latke 是一款以 JSON 为主的 Java Web 框架。

    71 引用 • 535 回帖 • 830 关注
  • Sandbox

    如果帖子标签含有 Sandbox ,则该帖子会被视为“测试帖”,主要用于测试社区功能,排查 bug 等,该标签下内容不定期进行清理。

    432 引用 • 1250 回帖 • 597 关注
  • JVM

    JVM(Java Virtual Machine)Java 虚拟机是一个微型操作系统,有自己的硬件构架体系,还有相应的指令系统。能够识别 Java 独特的 .class 文件(字节码),能够将这些文件中的信息读取出来,使得 Java 程序只需要生成 Java 虚拟机上的字节码后就能在不同操作系统平台上进行运行。

    180 引用 • 120 回帖
  • Q&A

    提问之前请先看《提问的智慧》,好的问题比好的答案更有价值。

    9734 引用 • 44287 回帖 • 89 关注
  • 安全

    安全永远都不是一个小问题。

    203 引用 • 818 回帖 • 2 关注
  • Hibernate

    Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象封装,使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。

    39 引用 • 103 回帖 • 725 关注
  • gRpc
    11 引用 • 9 回帖 • 89 关注
  • 996
    13 引用 • 200 回帖 • 6 关注
  • Openfire

    Openfire 是开源的、基于可拓展通讯和表示协议 (XMPP)、采用 Java 编程语言开发的实时协作服务器。Openfire 的效率很高,单台服务器可支持上万并发用户。

    6 引用 • 7 回帖 • 107 关注
  • HTML

    HTML5 是 HTML 下一个的主要修订版本,现在仍处于发展阶段。广义论及 HTML5 时,实际指的是包括 HTML、CSS 和 JavaScript 在内的一套技术组合。

    108 引用 • 295 回帖
  • 脑图

    脑图又叫思维导图,是表达发散性思维的有效图形思维工具 ,它简单却又很有效,是一种实用性的思维工具。

    32 引用 • 99 回帖 • 1 关注
  • Elasticsearch

    Elasticsearch 是一个基于 Lucene 的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful 接口。Elasticsearch 是用 Java 开发的,并作为 Apache 许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

    117 引用 • 99 回帖 • 201 关注
  • Hexo

    Hexo 是一款快速、简洁且高效的博客框架,使用 Node.js 编写。

    22 引用 • 148 回帖 • 16 关注
  • Laravel

    Laravel 是一套简洁、优雅的 PHP Web 开发框架。它采用 MVC 设计,是一款崇尚开发效率的全栈框架。

    20 引用 • 23 回帖 • 740 关注
  • DNSPod

    DNSPod 建立于 2006 年 3 月份,是一款免费智能 DNS 产品。 DNSPod 可以为同时有电信、网通、教育网服务器的网站提供智能的解析,让电信用户访问电信的服务器,网通的用户访问网通的服务器,教育网的用户访问教育网的服务器,达到互联互通的效果。

    6 引用 • 26 回帖 • 529 关注