Add files via upload
This commit is contained in:
parent
1d370456c3
commit
a909794f65
|
@ -0,0 +1,25 @@
|
|||
---
|
||||
permalink: /404.html
|
||||
layout: default
|
||||
---
|
||||
|
||||
<style type="text/css" media="screen">
|
||||
.container {
|
||||
margin: 10px auto;
|
||||
max-width: 600px;
|
||||
text-align: center;
|
||||
}
|
||||
h1 {
|
||||
margin: 30px 0;
|
||||
font-size: 4em;
|
||||
line-height: 1;
|
||||
letter-spacing: -1px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div class="container">
|
||||
<h1>404</h1>
|
||||
|
||||
<p><strong>Page not found :(</strong></p>
|
||||
<p>The requested page could not be found.</p>
|
||||
</div>
|
|
@ -0,0 +1,5 @@
|
|||
source "https://rubygems.org"
|
||||
|
||||
# Dependências principais do Jekyll
|
||||
gem "jekyll", "~> 4.3.3"
|
||||
gem "minima", "~> 2.5"
|
|
@ -0,0 +1,81 @@
|
|||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
addressable (2.8.6)
|
||||
public_suffix (>= 2.0.2, < 6.0)
|
||||
colorator (1.1.0)
|
||||
concurrent-ruby (1.2.3)
|
||||
em-websocket (0.5.3)
|
||||
eventmachine (>= 0.12.9)
|
||||
http_parser.rb (~> 0)
|
||||
eventmachine (1.2.7)
|
||||
ffi (1.16.3)
|
||||
forwardable-extended (2.6.0)
|
||||
google-protobuf (3.24.4-x86_64-linux)
|
||||
http_parser.rb (0.8.0)
|
||||
i18n (1.14.4)
|
||||
concurrent-ruby (~> 1.0)
|
||||
jekyll (4.3.3)
|
||||
addressable (~> 2.4)
|
||||
colorator (~> 1.0)
|
||||
em-websocket (~> 0.5)
|
||||
i18n (~> 1.0)
|
||||
jekyll-sass-converter (>= 2.0, < 4.0)
|
||||
jekyll-watch (~> 2.0)
|
||||
kramdown (~> 2.3, >= 2.3.1)
|
||||
kramdown-parser-gfm (~> 1.0)
|
||||
liquid (~> 4.0)
|
||||
mercenary (>= 0.3.6, < 0.5)
|
||||
pathutil (~> 0.9)
|
||||
rouge (>= 3.0, < 5.0)
|
||||
safe_yaml (~> 1.0)
|
||||
terminal-table (>= 1.8, < 4.0)
|
||||
webrick (~> 1.7)
|
||||
jekyll-feed (0.17.0)
|
||||
jekyll (>= 3.7, < 5.0)
|
||||
jekyll-sass-converter (3.0.0)
|
||||
sass-embedded (~> 1.54)
|
||||
jekyll-seo-tag (2.8.0)
|
||||
jekyll (>= 3.8, < 5.0)
|
||||
jekyll-watch (2.2.1)
|
||||
listen (~> 3.0)
|
||||
kramdown (2.4.0)
|
||||
rexml
|
||||
kramdown-parser-gfm (1.1.0)
|
||||
kramdown (~> 2.0)
|
||||
liquid (4.0.4)
|
||||
listen (3.9.0)
|
||||
rb-fsevent (~> 0.10, >= 0.10.3)
|
||||
rb-inotify (~> 0.9, >= 0.9.10)
|
||||
mercenary (0.4.0)
|
||||
minima (2.5.1)
|
||||
jekyll (>= 3.5, < 5.0)
|
||||
jekyll-feed (~> 0.9)
|
||||
jekyll-seo-tag (~> 2.1)
|
||||
pathutil (0.16.2)
|
||||
forwardable-extended (~> 2.6)
|
||||
public_suffix (5.0.4)
|
||||
rake (13.1.0)
|
||||
rb-fsevent (0.11.2)
|
||||
rb-inotify (0.10.1)
|
||||
ffi (~> 1.0)
|
||||
rexml (3.2.6)
|
||||
rouge (4.1.3)
|
||||
safe_yaml (1.0.5)
|
||||
sass-embedded (1.69.3)
|
||||
google-protobuf (~> 3.23)
|
||||
rake (>= 13.0.0)
|
||||
terminal-table (3.0.2)
|
||||
unicode-display_width (>= 1.1.1, < 3)
|
||||
unicode-display_width (2.5.0)
|
||||
webrick (1.8.1)
|
||||
|
||||
PLATFORMS
|
||||
x86_64-linux
|
||||
|
||||
DEPENDENCIES
|
||||
jekyll (~> 4.3.3)
|
||||
minima (~> 2.5)
|
||||
|
||||
BUNDLED WITH
|
||||
2.4.20
|
|
@ -0,0 +1,57 @@
|
|||
# Welcome to Jekyll!
|
||||
#
|
||||
# This config file is meant for settings that affect your whole blog, values
|
||||
# which you are expected to set up once and rarely edit after that. If you find
|
||||
# yourself editing this file very often, consider using Jekyll's data files
|
||||
# feature for the data you need to update frequently.
|
||||
#
|
||||
# For technical reasons, this file is *NOT* reloaded automatically when you use
|
||||
# 'bundle exec jekyll serve'. If you change this file, please restart the server process.
|
||||
#
|
||||
# If you need help with YAML syntax, here are some quick references for you:
|
||||
# https://learn-the-web.algonquindesign.ca/topics/markdown-yaml-cheat-sheet/#yaml
|
||||
# https://learnxinyminutes.com/docs/yaml/
|
||||
#
|
||||
# Site settings
|
||||
# These are used to personalize your new site. If you look in the HTML files,
|
||||
# you will see them accessed via {{ site.title }}, {{ site.email }}, and so on.
|
||||
# You can create any custom variable you would like, and they will be accessible
|
||||
# in the templates via {{ site.myvariable }}.
|
||||
|
||||
title: Your awesome title
|
||||
email: your-email@example.com
|
||||
description: >- # this means to ignore newlines until "baseurl:"
|
||||
Write an awesome description for your new site here. You can edit this
|
||||
line in _config.yml. It will appear in your document head meta (for
|
||||
Google search results) and in your feed.xml site description.
|
||||
baseurl: "" # the subpath of your site, e.g. /blog
|
||||
url: "" # the base hostname & protocol for your site, e.g. http://example.com
|
||||
twitter_username: jekyllrb
|
||||
github_username: jekyll
|
||||
|
||||
# Build settings
|
||||
theme: minima
|
||||
plugins:
|
||||
- jekyll-feed
|
||||
baseurl: /~jotachina/mmpSearch/mmpSearch/_site
|
||||
|
||||
|
||||
# Exclude from processing.
|
||||
# The following items will not be processed, by default.
|
||||
# Any item listed under the `exclude:` key here will be automatically added to
|
||||
# the internal "default list".
|
||||
#
|
||||
# Excluded items can be processed by explicitly listing the directories or
|
||||
# their entries' file path in the `include:` list.
|
||||
#
|
||||
# exclude:
|
||||
# - .sass-cache/
|
||||
# - .jekyll-cache/
|
||||
# - gemfiles/
|
||||
# - Gemfile
|
||||
# - Gemfile.lock
|
||||
# - node_modules/
|
||||
# - vendor/bundle/
|
||||
# - vendor/cache/
|
||||
# - vendor/gems/
|
||||
# - vendor/ruby/
|
|
@ -0,0 +1,18 @@
|
|||
---
|
||||
layout: page
|
||||
title: About
|
||||
permalink: /about/
|
||||
---
|
||||
|
||||
This is the base Jekyll theme. You can find out more info about customizing your Jekyll theme, as well as basic Jekyll usage documentation at [jekyllrb.com](https://jekyllrb.com/)
|
||||
|
||||
You can find the source code for Minima at GitHub:
|
||||
[jekyll][jekyll-organization] /
|
||||
[minima](https://github.com/jekyll/minima)
|
||||
|
||||
You can find the source code for Jekyll at GitHub:
|
||||
[jekyll][jekyll-organization] /
|
||||
[jekyll](https://github.com/jekyll/jekyll)
|
||||
|
||||
|
||||
[jekyll-organization]: https://github.com/jekyll
|
|
@ -0,0 +1,14 @@
|
|||
import subprocess
|
||||
|
||||
def run_script(script_path):
|
||||
subprocess.run(['python', script_path])
|
||||
|
||||
def main():
|
||||
script_path = 'scripts/indexa.py'
|
||||
run_script(script_path)
|
||||
|
||||
script_path = 'scripts/statistics.py'
|
||||
run_script(script_path)
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
|
@ -0,0 +1,6 @@
|
|||
---
|
||||
# Feel free to add content and custom Front Matter to this file.
|
||||
# To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults
|
||||
|
||||
layout: home
|
||||
---
|
|
@ -0,0 +1,66 @@
|
|||
{
|
||||
"file": "mmp/JoãoVitorSimão-2023008380-megaMainSong.mmp",
|
||||
"bpm": "160",
|
||||
"tracks": [
|
||||
{
|
||||
"track_name": "main base",
|
||||
"type": "bassline",
|
||||
"instruments": [
|
||||
{
|
||||
"instrument_name": "bass1"
|
||||
},
|
||||
{
|
||||
"instrument_name": "noise1"
|
||||
},
|
||||
{
|
||||
"instrument_name": "snare"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"track_name": "End Drums",
|
||||
"type": "plugin",
|
||||
"instruments": []
|
||||
},
|
||||
{
|
||||
"track_name": "Middle Bass",
|
||||
"type": "plugin",
|
||||
"instruments": []
|
||||
},
|
||||
{
|
||||
"track_name": "Melody 1",
|
||||
"type": "plugin",
|
||||
"instruments": []
|
||||
},
|
||||
{
|
||||
"track_name": "Melody 2",
|
||||
"type": "plugin",
|
||||
"instruments": []
|
||||
},
|
||||
{
|
||||
"track_name": "Chords",
|
||||
"type": "plugin",
|
||||
"instruments": []
|
||||
},
|
||||
{
|
||||
"track_name": "Menu base",
|
||||
"type": "plugin",
|
||||
"instruments": []
|
||||
},
|
||||
{
|
||||
"track_name": "Menu Melody",
|
||||
"type": "plugin",
|
||||
"instruments": []
|
||||
},
|
||||
{
|
||||
"track_name": "Menu Start",
|
||||
"type": "plugin",
|
||||
"instruments": []
|
||||
},
|
||||
{
|
||||
"track_name": "Menu Bass",
|
||||
"type": "plugin",
|
||||
"instruments": []
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,71 @@
|
|||
{
|
||||
"file": "mmp/Samanta Freire.mmp",
|
||||
"bpm": "140",
|
||||
"tracks": [
|
||||
{
|
||||
"track_name": "TripleOscillator",
|
||||
"type": "plugin",
|
||||
"instruments": []
|
||||
},
|
||||
{
|
||||
"track_name": "Sample track",
|
||||
"type": "sample",
|
||||
"instruments": []
|
||||
},
|
||||
{
|
||||
"track_name": "Beat/Bassline 0",
|
||||
"type": "bassline",
|
||||
"instruments": [
|
||||
{
|
||||
"instrument_name": "Kicker"
|
||||
},
|
||||
{
|
||||
"instrument_name": "bassdrum01.ogg"
|
||||
},
|
||||
{
|
||||
"instrument_name": "hihat_closed05.ogg"
|
||||
},
|
||||
{
|
||||
"instrument_name": "chorus01.ogg"
|
||||
},
|
||||
{
|
||||
"instrument_name": "kick01.ogg"
|
||||
},
|
||||
{
|
||||
"instrument_name": "Drone Arp"
|
||||
},
|
||||
{
|
||||
"instrument_name": "vapo.wav"
|
||||
},
|
||||
{
|
||||
"instrument_name": "OpulenZ"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"track_name": "Beat/Bassline 1",
|
||||
"type": "bassline",
|
||||
"instruments": []
|
||||
},
|
||||
{
|
||||
"track_name": "Beat/Bassline 2",
|
||||
"type": "bassline",
|
||||
"instruments": []
|
||||
},
|
||||
{
|
||||
"track_name": "Beat/Bassline 3",
|
||||
"type": "bassline",
|
||||
"instruments": []
|
||||
},
|
||||
{
|
||||
"track_name": "Beat/Bassline 4",
|
||||
"type": "bassline",
|
||||
"instruments": []
|
||||
},
|
||||
{
|
||||
"track_name": "Beat/Bassline 5",
|
||||
"type": "bassline",
|
||||
"instruments": []
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,67 @@
|
|||
{
|
||||
"file": "mmp/SonsAlignígenas.mmp",
|
||||
"bpm": "140",
|
||||
"tracks": [
|
||||
{
|
||||
"track_name": "TripleOscillator",
|
||||
"type": "plugin",
|
||||
"instruments": []
|
||||
},
|
||||
{
|
||||
"track_name": "Sample track",
|
||||
"type": "sample",
|
||||
"instruments": []
|
||||
},
|
||||
{
|
||||
"track_name": "Batida/Linha de Baixo 0",
|
||||
"type": "bassline",
|
||||
"instruments": [
|
||||
{
|
||||
"instrument_name": "Kicker"
|
||||
},
|
||||
{
|
||||
"instrument_name": "OpulenZ"
|
||||
},
|
||||
{
|
||||
"instrument_name": "snare01.ogg"
|
||||
},
|
||||
{
|
||||
"instrument_name": "clap01.ogg"
|
||||
},
|
||||
{
|
||||
"instrument_name": "tom01.ogg"
|
||||
},
|
||||
{
|
||||
"instrument_name": "tom02.ogg"
|
||||
},
|
||||
{
|
||||
"instrument_name": "zap02.ogg"
|
||||
},
|
||||
{
|
||||
"instrument_name": "hihat_opened01.ogg"
|
||||
},
|
||||
{
|
||||
"instrument_name": "metronome01.ogg"
|
||||
},
|
||||
{
|
||||
"instrument_name": "metronome02.ogg"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"track_name": "Batida/Linha de Baixo 3",
|
||||
"type": "bassline",
|
||||
"instruments": []
|
||||
},
|
||||
{
|
||||
"track_name": "Batida/Linha de Baixo 2",
|
||||
"type": "bassline",
|
||||
"instruments": []
|
||||
},
|
||||
{
|
||||
"track_name": "Batida/Linha de Baixo 1",
|
||||
"type": "bassline",
|
||||
"instruments": []
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,91 @@
|
|||
{
|
||||
"file": "mmp/Um começo.mmp",
|
||||
"bpm": "143",
|
||||
"tracks": [
|
||||
{
|
||||
"track_name": "TripleOscillator",
|
||||
"type": "plugin",
|
||||
"instruments": []
|
||||
},
|
||||
{
|
||||
"track_name": "Sample track",
|
||||
"type": "sample",
|
||||
"instruments": []
|
||||
},
|
||||
{
|
||||
"track_name": "Violino (Verso 2)",
|
||||
"type": "bassline",
|
||||
"instruments": [
|
||||
{
|
||||
"instrument_name": "bassdrum04.ogg"
|
||||
},
|
||||
{
|
||||
"instrument_name": "hihat_closed04.ogg"
|
||||
},
|
||||
{
|
||||
"instrument_name": "snare_hiphop01.ogg"
|
||||
},
|
||||
{
|
||||
"instrument_name": "snare_muffled02.ogg"
|
||||
},
|
||||
{
|
||||
"instrument_name": "snare_muffled01.ogg"
|
||||
},
|
||||
{
|
||||
"instrument_name": "bassslap01.ogg"
|
||||
},
|
||||
{
|
||||
"instrument_name": "violin_pizzicato01.ogg"
|
||||
},
|
||||
{
|
||||
"instrument_name": "steel_guitar01.ogg"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"track_name": "Violino (Verso 1 - 1)",
|
||||
"type": "bassline",
|
||||
"instruments": []
|
||||
},
|
||||
{
|
||||
"track_name": "Guitarra (Verso 1)",
|
||||
"type": "bassline",
|
||||
"instruments": []
|
||||
},
|
||||
{
|
||||
"track_name": "Guitarra (Ponte)",
|
||||
"type": "bassline",
|
||||
"instruments": []
|
||||
},
|
||||
{
|
||||
"track_name": "Baixo (Verso 2)",
|
||||
"type": "bassline",
|
||||
"instruments": []
|
||||
},
|
||||
{
|
||||
"track_name": "Baixo (Refrão)",
|
||||
"type": "bassline",
|
||||
"instruments": []
|
||||
},
|
||||
{
|
||||
"track_name": "Bateria (Ponte)",
|
||||
"type": "bassline",
|
||||
"instruments": []
|
||||
},
|
||||
{
|
||||
"track_name": "Bateria (Refrão)",
|
||||
"type": "bassline",
|
||||
"instruments": []
|
||||
},
|
||||
{
|
||||
"track_name": "Bateria (Verso 1)",
|
||||
"type": "bassline",
|
||||
"instruments": []
|
||||
},
|
||||
{
|
||||
"track_name": "Base",
|
||||
"type": "bassline",
|
||||
"instruments": []
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,81 @@
|
|||
{
|
||||
"file": "mmp/VitorAugusto.mmp",
|
||||
"bpm": "140",
|
||||
"tracks": [
|
||||
{
|
||||
"track_name": "TripleOscillator",
|
||||
"type": "plugin",
|
||||
"instruments": []
|
||||
},
|
||||
{
|
||||
"track_name": "Sample track",
|
||||
"type": "sample",
|
||||
"instruments": []
|
||||
},
|
||||
{
|
||||
"track_name": "Piano",
|
||||
"type": "bassline",
|
||||
"instruments": [
|
||||
{
|
||||
"instrument_name": "Kicker"
|
||||
},
|
||||
{
|
||||
"instrument_name": "kick_distorted01.ogg"
|
||||
},
|
||||
{
|
||||
"instrument_name": "clap01.ogg"
|
||||
},
|
||||
{
|
||||
"instrument_name": "snare05.ogg"
|
||||
},
|
||||
{
|
||||
"instrument_name": "hihat_closed01.ogg"
|
||||
},
|
||||
{
|
||||
"instrument_name": "hihat_opened01.ogg"
|
||||
},
|
||||
{
|
||||
"instrument_name": "Analog Piano 1"
|
||||
},
|
||||
{
|
||||
"instrument_name": "Synth Violin 2 Fat"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"track_name": "Kick",
|
||||
"type": "bassline",
|
||||
"instruments": []
|
||||
},
|
||||
{
|
||||
"track_name": "Kick_distorted",
|
||||
"type": "bassline",
|
||||
"instruments": []
|
||||
},
|
||||
{
|
||||
"track_name": "Clap",
|
||||
"type": "bassline",
|
||||
"instruments": []
|
||||
},
|
||||
{
|
||||
"track_name": "Snare",
|
||||
"type": "bassline",
|
||||
"instruments": []
|
||||
},
|
||||
{
|
||||
"track_name": "Hihat_closed",
|
||||
"type": "bassline",
|
||||
"instruments": []
|
||||
},
|
||||
{
|
||||
"track_name": "Hihat_opened",
|
||||
"type": "bassline",
|
||||
"instruments": []
|
||||
},
|
||||
{
|
||||
"track_name": "Violino",
|
||||
"type": "bassline",
|
||||
"instruments": []
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,48 @@
|
|||
{
|
||||
"file": "mmp/Wesley_Silva_Guimarães.mmp",
|
||||
"bpm": "140",
|
||||
"tracks": [
|
||||
{
|
||||
"track_name": "TripleOscillator",
|
||||
"type": "plugin",
|
||||
"instruments": []
|
||||
},
|
||||
{
|
||||
"track_name": "Sample track",
|
||||
"type": "sample",
|
||||
"instruments": []
|
||||
},
|
||||
{
|
||||
"track_name": "bassdrum01.ogg",
|
||||
"type": "plugin",
|
||||
"instruments": []
|
||||
},
|
||||
{
|
||||
"track_name": "Beat/Bassline 0",
|
||||
"type": "bassline",
|
||||
"instruments": [
|
||||
{
|
||||
"instrument_name": "Kicker"
|
||||
},
|
||||
{
|
||||
"instrument_name": "bassdrum01.ogg"
|
||||
},
|
||||
{
|
||||
"instrument_name": "bassdrum02.ogg"
|
||||
},
|
||||
{
|
||||
"instrument_name": "bassdrum04.ogg"
|
||||
},
|
||||
{
|
||||
"instrument_name": "clap01.ogg"
|
||||
},
|
||||
{
|
||||
"instrument_name": "kick02.ogg"
|
||||
},
|
||||
{
|
||||
"instrument_name": "hihat_closed01.ogg"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,76 @@
|
|||
{
|
||||
"file": "mmp/leandro_souza_atvd1.mmp",
|
||||
"bpm": "145",
|
||||
"tracks": [
|
||||
{
|
||||
"track_name": "Áudio Amostras",
|
||||
"type": "sample",
|
||||
"instruments": []
|
||||
},
|
||||
{
|
||||
"track_name": "Áudio Amostras",
|
||||
"type": "sample",
|
||||
"instruments": []
|
||||
},
|
||||
{
|
||||
"track_name": "Áudio Amostras",
|
||||
"type": "sample",
|
||||
"instruments": []
|
||||
},
|
||||
{
|
||||
"track_name": "clap",
|
||||
"type": "bassline",
|
||||
"instruments": [
|
||||
{
|
||||
"instrument_name": "Kicker"
|
||||
},
|
||||
{
|
||||
"instrument_name": "forshaw - clap 1 .wav"
|
||||
},
|
||||
{
|
||||
"instrument_name": "forshaw - kick 1.wav"
|
||||
},
|
||||
{
|
||||
"instrument_name": "forshaw - snare 6.wav"
|
||||
},
|
||||
{
|
||||
"instrument_name": "forshaw - hh 6.wav"
|
||||
},
|
||||
{
|
||||
"instrument_name": "forshaw - OHITHAT (6).wav"
|
||||
},
|
||||
{
|
||||
"instrument_name": "forshaw - 808 2.wav"
|
||||
},
|
||||
{
|
||||
"instrument_name": "forshaw - 808 1.wav"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"track_name": "kick",
|
||||
"type": "bassline",
|
||||
"instruments": []
|
||||
},
|
||||
{
|
||||
"track_name": "snare",
|
||||
"type": "bassline",
|
||||
"instruments": []
|
||||
},
|
||||
{
|
||||
"track_name": "hithat",
|
||||
"type": "bassline",
|
||||
"instruments": []
|
||||
},
|
||||
{
|
||||
"track_name": "open hat",
|
||||
"type": "bassline",
|
||||
"instruments": []
|
||||
},
|
||||
{
|
||||
"track_name": "808",
|
||||
"type": "bassline",
|
||||
"instruments": []
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,72 @@
|
|||
{
|
||||
"file": "mmp/tp1 - Luiz Filipe Almada.mmp",
|
||||
"bpm": "140",
|
||||
"tracks": [
|
||||
{
|
||||
"track_name": "Kick",
|
||||
"type": "bassline",
|
||||
"instruments": [
|
||||
{
|
||||
"instrument_name": "Kicker"
|
||||
},
|
||||
{
|
||||
"instrument_name": "kick04.ogg"
|
||||
},
|
||||
{
|
||||
"instrument_name": "hihat_closed04.ogg"
|
||||
},
|
||||
{
|
||||
"instrument_name": "hihat_closed03.ogg"
|
||||
},
|
||||
{
|
||||
"instrument_name": "hihat_closed01.ogg"
|
||||
},
|
||||
{
|
||||
"instrument_name": "hihat_opened01.ogg"
|
||||
},
|
||||
{
|
||||
"instrument_name": "steel_guitar01.ogg"
|
||||
},
|
||||
{
|
||||
"instrument_name": "TripleOscillator"
|
||||
},
|
||||
{
|
||||
"instrument_name": "clap01.ogg"
|
||||
},
|
||||
{
|
||||
"instrument_name": "piano01.ogg"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"track_name": "Hihat - continuo",
|
||||
"type": "bassline",
|
||||
"instruments": []
|
||||
},
|
||||
{
|
||||
"track_name": "HiHat2",
|
||||
"type": "bassline",
|
||||
"instruments": []
|
||||
},
|
||||
{
|
||||
"track_name": "HiHat - passagem",
|
||||
"type": "bassline",
|
||||
"instruments": []
|
||||
},
|
||||
{
|
||||
"track_name": "Clap",
|
||||
"type": "bassline",
|
||||
"instruments": []
|
||||
},
|
||||
{
|
||||
"track_name": "Melody1",
|
||||
"type": "bassline",
|
||||
"instruments": []
|
||||
},
|
||||
{
|
||||
"track_name": "Bass",
|
||||
"type": "bassline",
|
||||
"instruments": []
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
{
|
||||
"file": "mmp/tp1_MarcoAntonio.mmp",
|
||||
"bpm": "140",
|
||||
"tracks": [
|
||||
{
|
||||
"track_name": "e_piano_accord01.ogg",
|
||||
"type": "plugin",
|
||||
"instruments": []
|
||||
},
|
||||
{
|
||||
"track_name": "hihat_closed01.ogg",
|
||||
"type": "plugin",
|
||||
"instruments": []
|
||||
},
|
||||
{
|
||||
"track_name": "clap04.ogg",
|
||||
"type": "plugin",
|
||||
"instruments": []
|
||||
},
|
||||
{
|
||||
"track_name": "Snare03.ogg",
|
||||
"type": "plugin",
|
||||
"instruments": []
|
||||
},
|
||||
{
|
||||
"track_name": "kick02.ogg",
|
||||
"type": "plugin",
|
||||
"instruments": []
|
||||
},
|
||||
{
|
||||
"track_name": "hihat_opened01.ogg",
|
||||
"type": "plugin",
|
||||
"instruments": []
|
||||
}
|
||||
]
|
||||
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,30 @@
|
|||
---
|
||||
layout: default
|
||||
title: Arquivos MMP Processados
|
||||
---
|
||||
|
||||
<h2>Arquivos MMP disponíveis:</h2>
|
||||
|
||||
<ul>
|
||||
{% for files in site.data %}
|
||||
{% assign file_data = files %}
|
||||
{% for item in file_data %}
|
||||
{% if item.file %}
|
||||
<li>File path: <strong>{{ item.file }}</strong></li>
|
||||
{% endif %}
|
||||
{% if item.bpm %}
|
||||
<li>BPM: {{ item.bpm }}</li>
|
||||
{% endif %}
|
||||
<ul>
|
||||
{% for track in item.tracks %}
|
||||
<li>{{ track.track_name }} ({{ track.type }})</li>
|
||||
<ul>
|
||||
{% for instrument in track.instruments %}
|
||||
<li>{{ instrument.instrument_name }}</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
</ul>
|
|
@ -0,0 +1,17 @@
|
|||
---
|
||||
layout: default
|
||||
title: Instrumentos Similares
|
||||
---
|
||||
|
||||
<h2>Arquivos que possuem instrumentos similares:</h2>
|
||||
<ul>
|
||||
{% for item in site.data.processed_data %}
|
||||
<li>{{ item.instrument_name }}:
|
||||
<ul>
|
||||
{% for file_name in item.files %}
|
||||
<li>{{ file_name }}</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
|
@ -0,0 +1,30 @@
|
|||
---
|
||||
layout: default
|
||||
title: Quantidade de repetições de instrumentos
|
||||
---
|
||||
|
||||
<h2>Quantidade de vezes que cada instrumento é utilizado:</h2>
|
||||
<ul id="instrument-list">
|
||||
{% for item in site.data.processed_data %}
|
||||
<li data-count="{{ item.count }}">{{ item.instrument_name }}: {{ item.count }}</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
|
||||
<script>
|
||||
// Apenas para deixar em ordem decrescente
|
||||
document.addEventListener("DOMContentLoaded", function() {
|
||||
var instrumentList = document.getElementById('instrument-list');
|
||||
var items = Array.from(instrumentList.children);
|
||||
|
||||
items.sort(function(a, b) {
|
||||
var countA = parseInt(a.getAttribute('data-count'));
|
||||
var countB = parseInt(b.getAttribute('data-count'));
|
||||
return countB - countA; // Ordenação decrescente
|
||||
});
|
||||
|
||||
instrumentList.innerHTML = '';
|
||||
items.forEach(function(item) {
|
||||
instrumentList.appendChild(item);
|
||||
});
|
||||
});
|
||||
</script>
|
|
@ -0,0 +1,149 @@
|
|||
import os
|
||||
import json
|
||||
import yaml
|
||||
import subprocess
|
||||
import xml.etree.ElementTree as ET
|
||||
import shutil
|
||||
|
||||
def parse_mmp_file(file_path):
|
||||
try:
|
||||
#abrindo o .mmp, navegando até os instrumentos
|
||||
tree = ET.parse(file_path)
|
||||
root = tree.getroot()
|
||||
bpm = root.find('./head').attrib.get('bpm', 'N/A')
|
||||
tracks = root.findall('./song/trackcontainer/track')
|
||||
track_info = []
|
||||
|
||||
#coletando as informações
|
||||
for track in tracks:
|
||||
track_name = track.attrib.get('name', 'N/A')
|
||||
track_type = track.attrib.get('type')
|
||||
|
||||
if track_name:
|
||||
instruments = []
|
||||
|
||||
if track_type == '0': # Faixa do tipo plugin
|
||||
track_info.append({
|
||||
'track_name': track_name,
|
||||
'type': 'plugin',
|
||||
'instruments': [],
|
||||
})
|
||||
|
||||
elif track_type == '1': # Faixa do tipo Beat/Bassline
|
||||
bbtrack = track.find('./bbtrack')
|
||||
if bbtrack is not None:
|
||||
trackcontainers = bbtrack.findall('./trackcontainer')
|
||||
for container in trackcontainers:
|
||||
instrument_tracks = container.findall('./track')
|
||||
for instrument_track in instrument_tracks:
|
||||
instrument_name = instrument_track.attrib.get('name', 'N/A')
|
||||
instruments.append({
|
||||
'instrument_name': instrument_name,
|
||||
})
|
||||
|
||||
track_info.append({
|
||||
'track_name': track_name,
|
||||
'type': 'bassline',
|
||||
'instruments': instruments,
|
||||
})
|
||||
|
||||
elif track_type == '2': # Faixa do tipo Sample Track
|
||||
track_info.append({
|
||||
'track_name': track_name,
|
||||
'type': 'sample',
|
||||
'instruments': [],
|
||||
})
|
||||
|
||||
return {
|
||||
'file': file_path,
|
||||
'bpm': bpm,
|
||||
'tracks': track_info
|
||||
}
|
||||
|
||||
except ET.ParseError as e:
|
||||
print(f'Erro ao analisar o arquivo XML {file_path}: {e}')
|
||||
return None
|
||||
|
||||
def process_mmps_in_folder(folder_path):
|
||||
#coletando os arquivos .mmpz e/ou .mmp
|
||||
mmp_files = [f for f in os.listdir(folder_path) if f.endswith('.mmp') or f.endswith('.mmpz')]
|
||||
all_data = []
|
||||
|
||||
#caso não haja, criando a pasta dos arquivos mmpz
|
||||
mmpz_folder = os.path.join(folder_path, 'mmpz')
|
||||
if not os.path.exists(mmpz_folder):
|
||||
os.makedirs(mmpz_folder)
|
||||
|
||||
#caso não haja, criando a pasta dos arquivos wav
|
||||
wav_folder = os.path.join(folder_path, 'wav')
|
||||
if not os.path.exists(wav_folder):
|
||||
os.makedirs(wav_folder)
|
||||
|
||||
#processamento dos arquivos
|
||||
for file in mmp_files:
|
||||
file_path = os.path.join(folder_path, file)
|
||||
print(f'Processando arquivo: {file_path}')
|
||||
|
||||
if file.endswith('.mmpz'):
|
||||
destination_path = os.path.join(mmpz_folder, file)
|
||||
shutil.move(file_path, destination_path)
|
||||
print(f'Arquivo {file} movido para {destination_path}')
|
||||
|
||||
file_name = os.path.basename(destination_path)
|
||||
file_name = os.path.splitext(file_name)[0] + ".mmp"
|
||||
output_file_path = os.path.join(folder_path, file_name)
|
||||
lmms_mmpz_convert = f'lmms --dump "{destination_path}" > "{output_file_path}"'
|
||||
|
||||
try:
|
||||
#desabilitando os servidores gráficos
|
||||
os.environ['QT_DEBUG_PLUGINS'] = '1'
|
||||
os.environ['QT_QPA_PLATFORM'] = 'offscreen'
|
||||
#rodando o comando para converter os arquivos .mmpz em .mmp
|
||||
subprocess.run(lmms_mmpz_convert, shell=True, check=True)
|
||||
print("Comando executado com sucesso!")
|
||||
except subprocess.CalledProcessError as e:
|
||||
print(f"Ocorreu um erro ao executar o comando: {e}")
|
||||
wav_path = '/nethome/jotachina/public_html/mmpSearch/mmpSearch/mmp/mmpz/'+file_name.split('.')[0]
|
||||
file_name = file_name.split('.')
|
||||
#"C:\Program Files\LMMS\lmms.exe" -r beatJulioCesardeSousa.mmp -o C:\Users\bacteria\wav -f wav
|
||||
lmms_wav_convert = f'lmms -r "{wav_path}.mmpz" -o /nethome/jotachina/public_html/mmpSearch/mmpSearch/mmp/wav/{file_name[0]} -f wav'
|
||||
try:
|
||||
#desabilitando os servidores gráficos
|
||||
os.environ['QT_DEBUG_PLUGINS'] = '1'
|
||||
os.environ['QT_QPA_PLATFORM'] = 'offscreen'
|
||||
#rodando o comando para converter os arquivos .mmpz em .mmp
|
||||
subprocess.run(lmms_wav_convert, shell=True, check=True)
|
||||
print("Comando executado com sucesso!")
|
||||
except subprocess.CalledProcessError as e:
|
||||
print(f"Ocorreu um erro ao executar o comando: {e}")
|
||||
mmp_data = parse_mmp_file(output_file_path)
|
||||
#caso tenha algum arquivo .mmp perdido na pasta
|
||||
elif file.endswith('.mmp'):
|
||||
mmp_data = parse_mmp_file(file_path)
|
||||
|
||||
#guardando as informações dos arquivos no arquivo json
|
||||
#/metadata (json) e /_data(yml)
|
||||
if mmp_data:
|
||||
all_data.append(mmp_data)
|
||||
|
||||
json_file_name = os.path.splitext(file)[0] + ".json"
|
||||
json_file_path = os.path.join('metadata', json_file_name)
|
||||
save_to_json(mmp_data, json_file_path)
|
||||
|
||||
yaml_file_name = os.path.splitext(file)[0] + ".yml"
|
||||
yaml_file_path = os.path.join('_data', yaml_file_name)
|
||||
save_to_yaml(mmp_data, yaml_file_path)
|
||||
|
||||
return all_data
|
||||
|
||||
def save_to_json(data, output_file):
|
||||
with open(output_file, 'w', encoding='utf-8') as f:
|
||||
json.dump(data, f, ensure_ascii=False, indent=4)
|
||||
|
||||
def save_to_yaml(data, output_file):
|
||||
with open(output_file, 'w', encoding='utf-8') as f:
|
||||
yaml.dump(data, f)
|
||||
|
||||
mmp_folder_path = 'mmp'
|
||||
processed_data = process_mmps_in_folder(mmp_folder_path)
|
||||
print("Processamento concluído.")
|
|
@ -0,0 +1,50 @@
|
|||
import os
|
||||
import yaml
|
||||
import json
|
||||
from collections import defaultdict
|
||||
|
||||
current_dir = os.path.dirname(__file__)
|
||||
data_dir = os.path.abspath(os.path.join(current_dir, '..', '_data'))
|
||||
if not os.path.exists(data_dir):
|
||||
raise FileNotFoundError(f'O diretório {data_dir} não foi encontrado.')
|
||||
|
||||
instruments_count = defaultdict(int)
|
||||
similar_files = defaultdict(list)
|
||||
|
||||
def load_yaml(file_path):
|
||||
with open(file_path, 'r') as f:
|
||||
return yaml.safe_load(f)
|
||||
|
||||
for filename in os.listdir(data_dir):
|
||||
if filename.endswith('.yml') or filename.endswith('.yaml'):
|
||||
file_path = os.path.join(data_dir, filename)
|
||||
data = load_yaml(file_path)
|
||||
|
||||
bpm = data.get('bpm', 'N/A')
|
||||
file_name = data.get('file', 'N/A')
|
||||
tracks = data.get('tracks', [])
|
||||
|
||||
for track in tracks:
|
||||
track_name = track.get('track_name', 'N/A')
|
||||
instruments = track.get('instruments', [])
|
||||
|
||||
for instrument in instruments:
|
||||
instrument_name = instrument.get('instrument_name', 'N/A')
|
||||
instruments_count[instrument_name] += 1
|
||||
if file_name not in similar_files[instrument_name]:
|
||||
similar_files[instrument_name].append(file_name)
|
||||
output_data = []
|
||||
for instrument_name, count in instruments_count.items():
|
||||
output_data.append({
|
||||
'instrument_name': instrument_name,
|
||||
'count': count,
|
||||
'files': similar_files[instrument_name]
|
||||
})
|
||||
|
||||
current_dir = os.path.dirname(__file__)
|
||||
data_dir = os.path.abspath(os.path.join(current_dir, '..', '_data'))
|
||||
output_file = os.path.join(data_dir, 'processed_data.json')
|
||||
|
||||
with open(output_file, 'w') as outfile:
|
||||
json.dump(output_data, outfile, indent=4)
|
||||
print(f"Dados processados e salvos em {output_file}")
|
|
@ -0,0 +1,21 @@
|
|||
---
|
||||
layout: default
|
||||
title: Músicas
|
||||
permalink: /musicas/
|
||||
---
|
||||
|
||||
# Músicas
|
||||
|
||||
Aqui estão as músicas exportadas:
|
||||
|
||||
{% for music in site.static_files %}
|
||||
{% if music.path contains 'mmp/wav' %}
|
||||
<div>
|
||||
<h2>{{ music.name }}</h2>
|
||||
<audio controls>
|
||||
<source src="{{ music.path | relative_url }}" type="audio/wav">
|
||||
Your browser does not support the audio element.
|
||||
</audio>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endfor %}
|
Loading…
Reference in New Issue