python根据时间戳获取时分秒

python根据时间戳获取时分秒,第1张

时间戳可简单理解为自1970/01/01/ 00:00:00 到现在经过的秒数,如果要计算日期运算,因为涉及到润年,一般使用语言自带的库实现比较简单和高效。但如果只是取时间即时分秒,完全可以不用依赖库,通过模运算和取整运算的方式实现,并且性能比内部库函数效率更高。

运行结果,100万次

1000万次

性能快了接近200%,如果有涉及到大数据分析场景,百万甚至千万级别次的调用时,该算法还是有意义的

比如采样率为22050,音频文件有36s,那么x为长度为2205036=793800的float。

用到了python库 Spleeter

抽象地了解下原理吧

参考文章是这篇:Spleeter: a fast and efficient music source separation tool with pre-trained models

原理文章是这篇 SINGING VOICE SEPARATION: A STUDY ON TRAINING DATA

粗略扫了一眼,原理主要是用U-Net进行分割,然后这个Python工具主要是利用了一个pre-trained的model。

参考链接:机器之心的一篇文章

纵轴表示频率(从0到10kHz),横轴表示剪辑的时间。由于我们看到所有动作都发生在频谱的底部,我们可以将频率轴转换为对数轴。

可以对频率取对数。

感觉这个参数蛮有意思的

整个频谱被投影到12个区间,代表音乐八度音的12个不同的半音(或色度), librosafeaturechroma_stft 用于计算。

先对音频进行短时傅里叶变换

其中每行存储一个窗口的STFT,大小为10251551

这里要注意理解怎么基于stft的结果来画频谱图

没太了解,感觉就大概知道有这么个量可以用到就行。

librosafeaturespectral_centroid 计算信号中每帧的光谱质心:

1 先理解连续傅里叶变换

2 再理解离散傅里叶变换

对连续函数进行离散采样

3 最后进入短时傅里叶变换

是先把一个函数和窗函数进行相乘,然后再进行一维的傅里叶变换。并通过窗函数的滑动得到一系列的傅里叶变换结果,将这些结果竖着排开得到一个二维的表象。

import datetime as dt

now_time = str(dtdatetimenow()strftime('%F %T'))

with open('xxxxtxt','w') as t:

twrite(now_time)

缩进你调一下,这不好确定缩进“xxxxtxt”是你的文件,需要跟你的Python代码文件在一个文件夹,否则前面要写绝对路径。%f表示年月日,%t表示后面的时间。

python中要把字符串转换成日期格式需要使用time模块中的strptime函数,例子如下: import timet = timestrptime('2016-05-09 21:09:30', '%Y-%m-%d %H:%M:%S')print(t)执行结果如下: timestruct_time(tm_year=2016, tm_mon=5, tm_mday=9,

以上就是关于python根据时间戳获取时分秒全部的内容,包括:python根据时间戳获取时分秒、【小项目-1】用Python进行人声伴奏分离和音乐特征提取、python作业 获取系统时间等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10175482.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存