首页 > AI前沿 > 正文

每张图片自带BGM?牛津小哥开源神器,实现任意图像转换声谱图

转载 2020-01-12 0 19

给你一张图片,你能想象它的声音吗?

一个叫SpectroGraphic的神器就能做到这点。

例如,给定一个“怪物史莱克”的照片,通过这个工具,就能生成其对应的声谱图

图像嵌入声谱图

大多数声音是许多声波的复杂组合,而每一种声波都有不同的频率和强度。

声谱图(spectrogram)是一种表示声音的方法,它的横轴是时间,纵轴是频谱。

△声谱图示例

SpectroGraphic所做的工作就是获取一张图像,简单地把它解释成一张声谱图。

这样,就可以通过产生的声音,便将图像嵌入到了声谱图中。

是不是非常酷炫?

现在,项目已开源,每个人都可以体验了!

项目安装

首先,运行如下代码来获取命令行工具spectrographic:

pip install spectrographic

也可以直接把stand-alone\文件夹里的spectrographic.py文件,作为命令行工具使用。

此外,还需要确保满足 requirements.txt 文件中涉及的所有依赖项。

可以通过如下命令来进行安装:

pip install requirements.txt

在使用 pip 进行安装之后,只需要在控制台中运行 spectrographic […]。

在使用stand-alone脚本时,必须使用 python spectrographic.py […]。

还可以简单地从 SpectroGraphic.base 中导入 SpectroGraphic 类。

命令行工具的使用

usage: spectrographic [-h] [--version] -i PATH_TO_IMAGE [-d DURATION] [-m MIN_FREQ] [-M MAX_FREQ] [-r RESOLUTION] [-c CONTRAST] [-p] [-s SAVE_FILE]

Turn any image into sound.

optional arguments:
  -h, --help            show this help message and exit
  --version             show program's version number and exit
  -i PATH_TO_IMAGE, --image PATH_TO_IMAGE
                        Path of image that we want to embed in a spectrogram.
  -d DURATION, --duration DURATION
                        Duration of generated sound.
  -m MIN_FREQ, --min_freq MIN_FREQ
                        Smallest frequency used for drawing the image.
  -M MAX_FREQ, --max_freq MAX_FREQ
                        Largest frequency used for drawing the image.
  -r RESOLUTION, --resolution RESOLUTION
                        Vertical resolution of the image in the spectrogram.
  -c CONTRAST, --contrast CONTRAST
                        Contrast of the image in the spectrogram.
  -p, --play            Directly play the resulting sound.
  -s SAVE_FILE, --save SAVE_FILE
                        Path to .wav file in which to save the resulting sound.

如果你的源图像在./source.png,想要生成10s的音频,频率范围为10kHz到20kHz,还希望保存为sound.wav,最终还要播放音频。

那么就运行如下代码:

spectrographic --image ./source.png --min_freq 10000 --max_freq 20000 --duration 10 --save sound.wav --play

如果你正在使用stand-alone脚本:

python spectrographic.py --image ./source.png --min_freq 10000 --max_freq 20000 --duration 10 --save sound.wav --play

作者简介

△右:Levi Borodenko

Levi Borodenko,目前在牛津大学攻读数学和统计学硕士学位。学术研究重点是随机分析和机器学习。

本科也就读于牛津大学,2017-2018担任PROMYS Oxford的辅导员,2018-2019年担任PROMYS Boston的首席辅导员。

更多开源项目可访问如下链接:
https://github.com/LeviBorodenko

传送门

项目地址:
https://github.com/LeviBorodenko/spectrographic

个人简介:
https://cv.levib.dev/

— 完 —

版权所有,未经授权不得以任何形式转载及使用,违者必究。

相关文章


  • 我,莱万多夫斯基,偷谷歌无人车机密跳槽Uber,现在要赔8.8个亿 再次挣扎失败 案件完整回顾 三方新进展
  • 一个退休程序员,用高中几何方法,让百年数学难题逼近理论极限
  • 为了1万美元奖金,他作弊拿到Kaggle比赛第一名,之后跳去硅谷明星AI创业公司,现已被封号
  • 谷歌被曝2500亿美元收购Salesforce!拆分云业务,反击亚马逊微软
  • 人均70万!小米百万美金重奖核心技术人员,崔宝秋:要让工程师有成就感
  • 官宣!全球家电品牌SharkNinja宣布战略并购中国机器人技术公司速感科技 关于Shark Ninja及其控股母公司JS Global 关于速感科技 融资历程 企业发展
  • 清华电子系迎来首位80后系主任:38岁汪玉,师从杨华中谢源,参与创办深鉴 汪玉拟任公示 清华电子系史上首位80后系主任 辉煌的清华电子系
  • Jeff Dean亲笔盘点谷歌AI 2019:日均2篇论文,纵横16大方向,一文汇集重要开源算法