【Educoder作业】认识数字音频

这篇具有很好参考价值的文章主要介绍了【Educoder作业】认识数字音频。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【Educoder作业】认识数字音频

T1 认识数字音频

他这个问题在于, p r i n t print print在格式化输出的时候需要注意, % \% %是要求加括号的,不然会报错。

########## Begin ##########
from pydub import AudioSegment as AS
s = AS.from_file('src/step1/record.mp3', format = 'mp3')
print('时长:%.1f秒' % (len(s) / 1000))
print('采样频率:%.1fkHz' % (s.frame_rate / 1000))
print('量化位数:%d比特' % (s.sample_width * 8))
print('声道数:%d' % (s.channels))
########## End ##########

T2 剪辑儿歌

m p 3 mp3 mp3文件可以像数组一样,直接相加表示拼接,用中括号取值是以毫秒为单位裁剪。

########## Begin ##########
from pydub import AudioSegment as AS
song = AS.from_file('src/step2/source/record.mp3', format = 'mp3')
song = song[4000 : 8500] + song[10000 : 14500]
Fl = song.export('src/step2/student/song.mp3', format = 'mp3')
Fl.close()
########## End ##########

T3 根据简谱生成配乐

首先,生成基础音的过程显然可以通过循环来实现,内容是简单的。
剩下的就是常规的拼接了。

from pydub import AudioSegment as AS
duoRuiMi = [ ]    #存放音符发音数据
########## Begin ##########
#构建列表duoRuiMi,第i号元素存放i.mp3的数据
pre = 'src/step3/source/'
for i in range(8) :
    mdl = str(i) + '.mp3'
    duoRuiMi.append(AS.from_file(pre + mdl, format = 'mp3'))
########## End ##########
notation = '012311231034503450' #简谱
music = AS.empty() #存放生成的配乐,最开始设置为空(原因与定义空列表、空字符串类似)
########## Begin ##########
#根据简谱生成music,如简谱1231是依次将duoRuiMi的第1、2、3、1号元素拼接到music最后
for i in notation :
    music = music + duoRuiMi[int(i)]
########## End ##########
file = music.export('src/step3/student/music.mp3', format='mp3')
file.close()

T4 合并儿歌与配乐

没啥难度,让干啥就干啥。
不过这个题有一个问题,就是虽然题目里说儿歌和配乐分别左右声道都相等,但是需要按照题目的要求来搭配。比如儿歌的左声道加上配乐的右声道是不对的,暂时不知道为啥。文章来源地址https://www.toymoban.com/news/detail-767711.html

from pydub import AudioSegment as AS
song = AS.from_file('src/step4/source/song.mp3', format='mp3')
music = AS.from_file('src/step4/source/music.mp3', format='mp3')
########## Begin ##########
music = music + 8
music = music[180 : 9180]
Ls = song.split_to_mono()
Lm = music.split_to_mono()
twoTigers = AS.from_mono_audiosegments(Ls[0], Lm[0])
########## End ##########
file = twoTigers.export('src/step4/student/twoTigers.mp3', format='mp3')
file.close()

到了这里,关于【Educoder作业】认识数字音频的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Educoder作业】C&C++指针实训

    不是很熟练,之前从来没用过,讲解不到位恕罪。 T1 去掉字符串首尾空格 我们需要知道两个事情,第一个事情是在函数中引用了数组指针之后,在函数内部就可以当做一个正常数组使用;第二个事情是字符串的末尾是用一个’\\0收尾的,所以我们在去掉末尾的空格时,在非空

    2024年02月09日
    浏览(55)
  • 【Educoder作业】C&C++结构实训

    学好结构体是学好对象的基础。 T1 有理数化简 知道结构体是干嘛的就能做了,注意一些地方的特判即可。 T2 有理数加法 没啥区别啊感觉,注意求 g c d gcd g c d 别弄错了,实在不行咱就直接用 C + + C++ C + + 里自带的。 T3 有理数平均数 这个题我们处理好 g c d gcd g c d 的同时,搞

    2024年02月11日
    浏览(42)
  • 【Educoder作业】C&C++数组实训

    数组是很好用的。作为一个最基本的数据结构,数组是构成高级结构的基础。简单点的比如列表的next和head指针,桶的下标,栈;复杂点的比如说线段树的节点,KD树的平面,我们都需要数组进行实现。 T1 销售波动统计 这个题目显然是容易的,注意不要从 i = = 0 i==0 i = = 0 开始

    2024年02月05日
    浏览(38)
  • CSS--头歌(educoder)实训作业题目及答案

    目录 CSS——基础知识 第1关: 初识CSS:丰富多彩的网页样式 第2关: CSS样式引入方式 CSS——基础选择器 第1关: CSS 元素选择器 第2关: CSS 类选择器 第3关: CSS id选择器 CSS——文本与字体样式 第1关: 字体颜色、类型与大小 第2关: 字体粗细与风格 第3关: 文本装饰与文本布局 CSS——

    2024年04月15日
    浏览(138)
  • 【Educoder作业】C&C++线性表实训

    第一次接触链表的话,可能会有疑惑。疑惑在于它到底比数组强在哪里。写完这次实训可能就会感受到,或者写了这10个题还是没有头绪,本篇结尾我们就稍微聊一聊。 T1 顺序构建线性表 这个题可以说是定了整个实训的基调,结构体里是包含了一个本身的数据 d a t a data d a

    2024年02月16日
    浏览(38)
  • JavaScript上部分--头歌(educoder)实训作业题目及答案

      目录 JS简介 第1关: JavaScript基础入门 第2关: JavaScript 与 HTML 第3关: JavaScript 变量 JS 数据类型 第1关: JavaScript 数据类型介绍 第2关: JavaScript 数据类型转换 JS运算符 第1关: 算术运算符 第2关: 比较和逻辑运算符 第3关: 条件和赋值运算符 第4关: 运算符的优先级和结合性 JS对象 第

    2024年02月08日
    浏览(34)
  • JavaScript下部分--头歌(educoder)实训作业题目及答案

    目录  JSON 第1关: JSON对象 第2关: JSON数组 第3关: JSON字符串 Math、日期和异常处理 第1关: Math类 第2关: Date类 第3关: JavaScript错误 HTML DOM——文档元素的操作(一) 第1关: 通过id获取文档元素 第2关: 通过类名获取文档元素 第3关: 通过标签名获取文档元素 第4关: html5中获取元素的

    2023年04月26日
    浏览(42)
  • JavaScript上部分--头歌(educoder)实训作业题目及答案 JS简介

      目录 JS简介 第1关: JavaScript基础入门 第2关: JavaScript 与 HTML 第3关: JavaScript 变量 JS 数据类型 第1关: JavaScript 数据类型介绍 第2关: JavaScript 数据类型转换 JS运算符 第1关: 算术运算符 第2关: 比较和逻辑运算符 第3关: 条件和赋值运算符 第4关: 运算符的优先级和结合性 JS对象 第

    2023年04月22日
    浏览(166)
  • 头歌(educoder)实训作业题目及答案分享 ——1-4 Java入门 - 分支结构

    📜个人简介 :  作者简介:大家好,我是Passenger.n✌️  支持一下:点赞👍+收藏🌟+留言📪 📣 系列专栏:java基础🍁 ✉️格言:花有重开日,人无再少年!🌞 万事开头难,既然迈开了这一步,那就坚持走下去! 这是我的第一篇博客,希望萌新看了有收获,大佬看了给指

    2024年02月06日
    浏览(105)
  • 头歌(educoder)实训作业题目及答案分享 ——1-7 Java入门-分支与循环练习

    📜个人简介 :  作者简介:大家好,我是Passenger.n✌️  支持一下:点赞👍+收藏🌟+留言📪 📣 系列专栏:java基础🍁 ✉️格言:花有重开日,人无再少年!🌞 万事开头难,既然迈开了这一步,那就坚持走下去! 这是我的第一篇博客,希望萌新看了有收获,大佬看了给指

    2024年02月04日
    浏览(83)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包