zoukankan      html  css  js  c++  java
  • 【Python图像特征的音乐序列生成】关于音乐生成的思路转变

    在前几天的讨论会上,有师兄指出原来的方法实在是很难训练,所以我改进了音乐生成的思路。

    首先,我用LSTM生成的一定是一段音乐的序列化表达,那么我就可以用成型的一些数据集去训练LSTM。为了避免生成的音乐与现有的音乐有大量重复,我们可以考虑更改LSTM使其更加“健忘”,这样应该能解决一部分问题。接下来肯定还会暴露出更多的问题,我会持续阐述我的思路。

    首先找到一个合适的数据集。打开

    http://www.mln.io/resources/datasets/

    之后我讲解一下这些数据集的用法:

    第一个Classical Music Datasets,储存了很多的MIDI古典音乐。结合abc与midi格式的转换工具,可以从中提取出一个序列化的格式,ABC格式。

    转换工具地址如下:https://github.com/leesavide/abcmidi

    第二个是我打算采集的,叫做Nottingham Music Database,只是可惜数据下载已经失效了,我找到的数据集如下:

    http://www.chezfred.org.uk/freds/music/tunes/index.htm

    是用特殊的格式保存的。

    第三个MuseData也是音乐数据集,官网介绍如下:

    The MuseData database is a project of the Center for Computer Assisted Research in the Humanities (CCARH). The database was created by Walter Hewlett. Data entry has been primarily done by Frances Bennion, Edmund Correia, Walter Hewlett, and Steve Rasmussen.

    提供了多种格式存储,多为古典音乐。

    第四个似乎是挂了。

    第五个主要是做音乐推荐的,似乎无法知道原来的旋律序列。

    =====================

    初步决定是Nottingham Music Database,有两种格式可以选,第一种是ABC格式,如下:

    X: 1
    T:A and D
    % Nottingham Music Database
    S:EF
    M:4/4
    K:A
    M:6/8
    P:A
    f|"A"ecc c2f|"A"ecc c2f|"A"ecc c2f|"Bm"BcB "E7"B2f|
    "A"ecc c2f|"A"ecc c2c/2d/2|"D"efe "E7"dcB| [1"A"Ace a2:|
     [2"A"Ace ag=g||
    K:D
    P:B
    "D"f2f Fdd|"D"AFA f2e/2f/2|"G"g2g ecd|"Em"efd "A7"cBA|
    "D"f^ef dcd|"D"AFA f=ef|"G"gfg "A7"ABc |1"D"d3 d2e:|2"D"d3 d2||

    ASCII码:

    .MS
    title= "f3A and DfP";
    rtitle = "f2EFfP";
    key = a;
    bps = 16;
    autobeam;
    chords;
    bars = 18;
    timesig = 6 8.
    
    f^'A' |
    e^"A" c^ c^ c^>  f^ |  e^"A"  c^ c^	c^> f^  |
    e^"A" c^ c^ c^ b a  |  b"Bm"  c^ b b>"E7" f^ |
    e^"A" c^ c^ c^>  f^ |  e^"A"  c^ c^  c^> c^< d^<	 |
    e^"D" f^ e^  d^"E7" c^ b  |
    a"A"'1st.'  c^ e^ a^> :|
    a"A"'2nd.'  c^ e^ a^ g^ g=^ |! endstave.
    
    key = d.
    
     f^>'B' "D" f^	      d^>  d^  | a"D"	    f  a    f^> e^< f^< |
     g^>"G" g^  e^  c^ d^  | e^"Em"  f^ d^   c^"A7"  b   a	  |
    f^"D" e+^ f^ d^ c^ d^  | a"D"	 f  a	   f^ e^  f^ |
     g^"G"  f^ g^	 a"A7"	 b	 c^ |
    d^>. '1st.' "D" d^> e^ :|
    d^>. '2nd.' "D" d^> |! endstave.
    
    .ME

    这个解析还有待我的研究。

  • 相关阅读:
    MySQL 安装和配置
    其它 Google Chrome 已停止工作
    VUE 父组件和子组件相互传值 组件之间的数据传递
    SpringBlade 源码 个性化修改 添加字典时 自动填充字典值
    MyBatis-Plus SpringBlade 生成代码时 啥内容都没有 只有目录
    Oracle IIS部署报错
    pycharm连接sqlite后打开db文件不显示表的问题
    Hbase集群搭建以及启动(单点启动,群起)
    Flume的put和take事务
    稀疏数组学习
  • 原文地址:https://www.cnblogs.com/ldzhangyx/p/7157847.html
Copyright © 2011-2022 走看看