foorbar关于flac和WAV文件的蛇皮走位(播放不了flac而可以用酷狗之类的播放)
前言(吐槽)
写个foorbar关于flac和WAV文件的蛇皮走位的故事
本来打算上博客园开个小博客的,发现居然还要人工审核。
不等了,等到审核通过临时产生的想法都要忘了。。。
事情大概是这样纸滴
今天听歌的时候发现冷鸟女神童靴出专辑了(好像出来很久了)
声音甚是好听,然后在逛贴吧的时候发现了有粉丝提供无损音乐的下载
嗯,然后就一顿操作猛如虎了,
下载完都是flac,然后就兴冲冲的下了个用foorbar打开享受一下(笔记本前两天回档了QAQ)
结果发现。。。
长度还是一个大大的问号。。。
国际惯例先看了一眼解码器:
这不是都挺好的嘛,而且讲道理foorbar是打娘胎里就支持flac的,
再看看能不能放别的flac文件:
是可以的额。。。。
看一下可以正常播放的文件属性是长这样的:
可以看到采样频率和位速等信息,反观播放不了的flac就没有:
你以为到这就完了?
神奇的事情发生了,酷狗可以打开。。。
不信?放一个给你听听(看看)
但是采样什么都是看不到的。。。
于是本能驱使。。我用记事本打开了这个大概50多M的疑似音频文件。。。
在经历了N久N久的转圈圈以后。。。
我放弃了,选了一个比较小的大概20M的一个音频文件来打开,不过也是转了好久好久的圈圈。
内容大致如下,截取了一部分
RIFF?wWAVEfmt D? ? data .w ? ?? ? ?? ???? ?? ???? ? ????? ?? ? ? ? ?? ? ? ????? ? ? ? ? ? ?? ? ??? ? ?? ? ??? ? ?? ? ???? ? ? ??? ? ??? ? ?? ? ?? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ?? ? ? ?? ? ? ? ??? ? ?? ??? ? ?? ? ?? ? ??? ?? ?? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??? ? ? ?? ? ? ??? ? ? ? ? ? ? ? ? ?? ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ?? ?? ? ? ? ????? ?????? ??? ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ???????? ????????????????????????? ??????? ???? ?????????????????? ?????? ?????? ?????????????? ??? ? ????????? ? ????? ? ? ? ?? ? ? ? ?? ???????? ? ? ? ? ??? ? ???? ? ?? ???? ?? ? ? ? ???? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
重点还是文件的开头
RIFF?wWAVEfmt D? ? data .w
RIFF?wWAVEfmt D? ? data .w
我看到了啥?
关键词:
- RiFF
- WAVE
- D? ? data .w
emmm。。。什么鬼啊都是,那先百度一下吧:
哦,那是音频格式没跑了,然后接下来找到的资料更是确定了我的推测:
RIFF file format
RIFF全称为资源互换文件格式(Resources Interchange File Format),是Windows下大部分多媒体文件遵循的一种文件结构。RIFF文件所包含的数据类型由该文件的扩展名来标识,能以RIFF格式存储的数据有:
音频视频交错格式数据 .AVI
波形格式数据 .WAV
位图数据格式 .RDI
MIDI格式数据 .RMI
调色板格式 .PAL
多媒体电影 .RMN
动画光标 .ANI
其他的RIFF文件 .BND
CHUNK
chunk是RIFF文件的基本单元,其基本结构如下:
struct chunk
{
uint32_t id; // 块标志
uint32_t size; // 块大小
uint8_t data[size]; // 块数据
};
id 4字节,用以标识块中所包含的数据。如:RIFF,LIST,fmt,data,WAV,AVI等,由于这种文件结构 最初是由Microsoft和IBM为PC机所定义,RIFF文件是按照小端 little-endian字节顺序写入的。
size 块大小 存储在data域中的数据长度,不包含id和size的大小
data 包含数据,数据以字为单位存放,如果数据长度为奇数(字节为单位),则最后添加一个空字节。
chunk是可以嵌套的,但是只有块标志为RIFF或者LIST的chunk才能包含其他的chunk。
以上内容引用自:https://www.cnblogs.com/wangguchangqing/p/5957531.html
反正我就觉得你Y的就是一个波形文件,然后ren一下就读出来了:
嗯,泼墨漓江真好听!~
其实主要问题还是foorbar检测到flac就用对应解码器去读文件了,其实是个波形文件PCM方式就可以出来了。
至于酷狗嘛。。。。人家路子野。。。
foorbar关于flac和WAV文件的蛇皮走位(播放不了flac而可以用酷狗之类的播放)相关推荐
- matlab读取、播放wav文件
[x, Fs] = audioread('E:\语音信号处理\speech_signal\bluesky3.wav'); %读取wav文件 fprintf('默认抽样频率为:%d\n', Fs); % ...
- ESP32+INMP441+DHT11+OLED+网页+Arduino——“智能”语音天气站(2):INMP441录音生成wav文件
参考视频: Recording using INMP441 参考代码:学会了代码复用 Recording using INMP441 知识 什么是wav文件 可以在维基百科找到wav文件的历史渊源.这 ...
- [语音处理] .flac文件转.wav文件
在常用的英语语音识别数据库librispeech中,原始语音的格式是.flac,一般来说先要转换成.wav才能继续进行后处理. 转换工具可以使用sox (http://sox.sourceforge. ...
- linux 音频文件切割_linux下通过CUE分割APE、FLAC、WAV无损音频
背景: 无损音乐的分享,大部分通过cue文件去播放一个很大的音频文件.这个在windows要去分割音频文件是意见很轻松的事情,在linux下面就要折腾点了,要在命令行下面进行处理,ape.flac.w ...
- APE,FLAC文件转WAV文件
近日需要实现APE(Monkey's Audio)转换WAV文件,都是目前比较流行音乐格式.如果对APE感兴趣可以下载Monkey's Audio 4.11 SDK (with source code ...
- 最靠谱的tak文件转码方案(转码成flac、wav等)
tak是一种无损音频格式,有着较好的性能,但能完美支持的播放器不多(虽然tak官方说vlc.potplayer.ffplay支持,但其实都是半吊子) 最近收藏了一张CD的音频资源,文件恰好是tak格式 ...
- Android flac to wav
Android flac to wav flac格式的音频属于"无损压缩",对于我们最常说的"无损音频"来说,一般都是指传统CD格式中的16bit/44.1kH ...
- flac转换成wav的方法,flac转wav步骤
flac转换成wav的方法!如果你在工作中经常使用音频文件,那么肯定需要转换音频文件格式,音频文件的格式有很多种,多达二三十种,其中flac和wav就是重要的音频文件格式,这两种音频文件的质量都很高. ...
- 音频文件格式转换python实现——flac转wav
在做语音相关工作时,经常会遇到要转换音频文件格式.读取音频格式有很多python库,比如librosa.scipy.io.wavfile.soundfile.pydub等等,但是笔者在实现flac转w ...
最新文章
- 关于EF中ApplyCurrentValues和ApplyOriginalValues区别
- hbase安装,以及安装前置hadoop(单节点)
- mybatis if test 用法_SpringBoot整合Mybatis-Plus 实战之动态SQL,Mybatis拿得出手的功能之一...
- 一种求任意多边形内部水平方向似最大矩形的算法
- 【攻防世界011】Windows_Reverse1
- 抢滩“体验经济”,“真快乐”布局娱乐化零售的野心
- Java开发专业通过swot分析岗位_掌起智能科技 | 你们要的安卓岗位来了,还有JAVA,技术经理等岗位...
- OpenGL从入门到精通--你好三角形
- SQL HAVING 子句
- 小白信用卡提额攻略,2年轻松提额20万!
- 2019 秦皇岛 I - Invoker Gym - 102361I dp
- python ppt自动生成_如何自动化生成PPT缩略图?
- 8月28日服务器例行维护公告,天涯明月刀8月28日更新了什么-8月28日更新内容介绍...
- kotlin中的异常处理_Kotlin异常处理
- 企业信息化战略规划方法
- MiWiFi小米mini自带U-Boot恢复系统全过程
- Linux面试题1.只查看ett.txt文件(100)中的第20到第30行的内容
- 逾 200 家港企参与! GoGBA大湾区发展日(广州)圆满举行
- 【译】Distributed Deep Learning - Part 1 - An Introduction
- 【华为云技术分享】小熊派IoT开发板华为物联网操作系统LiteOS内核实战教程01-IoT-Studio介绍及安装
热门文章
- Flume采集日志数据
- python怎么实现分数形式_python分数怎么表示什么
- 战略升级|蜜拓蜜·蜜女王集团战略升级,更名“京沅”集团
- Wonderware Historian Servers 操作
- amd处理器更新zen4服务器芯片,AMD将推出64 核心Zen 4处理器,整体性能提升了40%...
- Influence Maximization影响力最大化
- (WPF)酷狗音乐播放器
- oracle查询24小时制,oracle按小时查询显示数据
- 为什么new对象以后要交给spring呢?
- Ubuntu各个版本换源方法