|
|
51CTO旗下网站
|
|
移动端

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

给你一张图片,你能想象它的声音吗?一个叫SpectroGraphic的神器就能做到这点。

作者:十三来源:量子位|2020-01-13 13:20

本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处。

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

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

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

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

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

图像嵌入声谱图

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

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

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

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

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

是不是非常酷炫?

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

项目安装

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

  1. pipinstallspectrographic 

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

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

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

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

  1. pipinstallrequirements.txt 

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

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

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

命令行工具的使用

  1. usage:spectrographic[-h][--version]-iPATH_TO_IMAGE[-dDURATION][-mMIN_FREQ][-MMAX_FREQ][-rRESOLUTION][-cCONTRAST][-p][-sSAVE_FILE]Turnanyimageintosound.optionalarguments:-h,--helpshowthishelpmessageandexit--versionshowprogram'sversionnumberandexit-iPATH_TO_IMAGE,--imagePATH_TO_IMAGEPathofimagethatwewanttoembedinaspectrogram.-dDURATION,--durationDURATIONDurationofgeneratedsound.-mMIN_FREQ,--min_freqMIN_FREQSmallestfrequencyusedfordrawingtheimage.-MMAX_FREQ,--max_freqMAX_FREQLargestfrequencyusedfordrawingtheimage.-rRESOLUTION,--resolutionRESOLUTIONVerticalresolutionoftheimageinthespectrogram.-cCONTRAST,--contrastCONTRASTContrastoftheimageinthespectrogram.-p,--playDirectlyplaytheresultingsound.-sSAVE_FILE,--saveSAVE_FILEPathto.wavfileinwhichtosavetheresultingsound. 

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

那么就运行如下代码:

  1. spectrographic--image./source.png--min_freq10000--max_freq20000--duration10--savesound.wav--play 

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

  1. pythonspectrographic.py--image./source.png--min_freq10000--max_freq20000--duration10--savesound.wav--play 

作者简介

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

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

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

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

传送门

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

【编辑推荐】

  1. Uber 开源用于调试 AI 模型的可视化工具 Manifold
  2. 阿里资深Leader:组建技术团队的一些思考
  3. 2019第三届中国信息化和软件服务业年度风云榜正式揭榜
  4. Mac上程序员很喜欢用10大开发软件
  5. Github标星5300+,专门为程序员开发文档开源管理系统,我粉了
【责任编辑:张燕妮 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

Python应用场景实战手册

Python应用场景实战手册

Python应用场景实战手册
共3章 | KaliArch

115人订阅学习

一步到位玩儿透Ansible

一步到位玩儿透Ansible

Ansible
共17章 | 骏马金龙1

182人订阅学习

云架构师修炼手册

云架构师修炼手册

云架构师的必备技能
共3章 | Allen在路上

131人订阅学习

读 书 +更多

网络管理员备考训练——计算机与网络基础知识

本书是根据全国计算机技术与软件专业技术资格(水平)考试《网络管理员考试大纲》所要求的考试范围而编写的试题集。全书共分10个单元,同步...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO官微