Coder Social home page Coder Social logo

beatmapsynthesizer's People

Contributors

tbalta avatar wvsharber avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

beatmapsynthesizer's Issues

Expert file not loading

Hi, i just want to tell you did an amazing, job, even though there is a small mistake in the code, when i tried to load expert / hard / expert plus, song it couldn't because the difficulty rank was: null
it's came from the lines 69 / 73 /77 where there is 2 equals instead of one.

Only red cubes

Hi Wyatt,
i have a question i try to generate a 15 min and 45 min map when i use
python beatmapsynth.py '/Volumes/bs/Hangingtree.ogg' 'Example Song' 'normal' 'segmented_HMM' -k 12 --version 1
or
python beatmapsynth.py '/Volumes/bs/Hangingtree.ogg' 'Example Song' 'normal' 'rate_modulated_segmented_HMM' -k 4 --version 1

i get only red cubes und no blue ?
do you have an idea why?
best york

import pandas?

Traceback (most recent call last):
File "beatmapsynth.py", line 3, in
import pandas as pd
ModuleNotFoundError: No module named 'pandas'

This happened after I did 'python beatmapsynth.py "location of song :>" "Song name" expertPlus rate_modulated_segmented_HMM -k 4 --version 1

I also tried random also didn't work did I do something wrong. (Yes, I did git clone it)

DLL load failed while importing _typeconv

Using anaconda 4.8.2 and python 3.8.2 on a new Windows 10 Pro version 1909 (build 18363.836) installation.
'pip install numba' reports numba (0.49.0) and its requirements are installed.

Here's the command prompt and result:

(BSMapSynth-env) D:\Downloads\Utilities\BeatMapSynthesizer-master>python beatmapsynth.py "Music/Ehrling---Sthlm-Sunset.mp3" "Sthlm Sunset" segmented_HMM
Traceback (most recent call last):
File "E:\anaconda3\envs\BSMapSynth-env\lib\site-packages\numba\core\typeconv\typeconv.py", line 4, in
from numba.core.typeconv import _typeconv
ImportError: DLL load failed while importing _typeconv: The specified module could not be found.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "beatmapsynth.py", line 4, in
import librosa
File "E:\anaconda3\envs\BSMapSynth-env\lib\site-packages\librosa_init_.py", line 12, in
from . import core
File "E:\anaconda3\envs\BSMapSynth-env\lib\site-packages\librosa\core_init_.py", line 125, in
from .time_frequency import * # pylint: disable=wildcard-import
File "E:\anaconda3\envs\BSMapSynth-env\lib\site-packages\librosa\core\time_frequency.py", line 11, in
from ..util.exceptions import ParameterError
File "E:\anaconda3\envs\BSMapSynth-env\lib\site-packages\librosa\util_init_.py", line 77, in
from .utils import * # pylint: disable=wildcard-import
File "E:\anaconda3\envs\BSMapSynth-env\lib\site-packages\librosa\util\utils.py", line 10, in
import numba
File "E:\anaconda3\envs\BSMapSynth-env\lib\site-packages\numba_init_.py", line 20, in
from numba.misc.special import (
File "E:\anaconda3\envs\BSMapSynth-env\lib\site-packages\numba\misc\special.py", line 3, in
from numba.core.typing.typeof import typeof
File "E:\anaconda3\envs\BSMapSynth-env\lib\site-packages\numba\core\typing_init_.py", line 1, in
from .context import BaseContext, Context
File "E:\anaconda3\envs\BSMapSynth-env\lib\site-packages\numba\core\typing\context.py", line 11, in
from numba.core.typeconv import Conversion, rules
File "E:\anaconda3\envs\BSMapSynth-env\lib\site-packages\numba\core\typeconv\rules.py", line 2, in
from .typeconv import TypeManager, TypeCastingRules
File "E:\anaconda3\envs\BSMapSynth-env\lib\site-packages\numba\core\typeconv\typeconv.py", line 17, in
raise ImportError(msg % (url, reportme, str(e), sys.executable))
ImportError: Numba could not be imported.
If you are seeing this message and are undertaking Numba development work, you may need to re-run:

python setup.py build_ext --inplace

(Also, please check the development set up guide http://numba.pydata.org/numba-doc/latest/developer/contributing.html.)

If you are not working on Numba development:

Please report the error message and traceback, along with a minimal reproducer
at: https://github.com/numba/numba/issues/new

If more help is needed please feel free to speak to the Numba core developers
directly at: https://gitter.im/numba/numba

Thanks in advance for your help in improving Numba!

The original error was: 'DLL load failed while importing _typeconv: The specified module could not be found.'

If possible please include the following in your error report:

sys.executable: E:\anaconda3\envs\BSMapSynth-env\python.exe

(BSMapSynth-env) D:\Downloads\Utilities\BeatMapSynthesizer-master>

Difficulty Request

Is there a plan for doing multiple difficulties? Currently I'm having to do 4 to 5 runs of this to get each individual version, then splice them all together by editing the info.dat. Is there currently a way to do this/planned way, or do I have to continue to individually combine the difficulties? Sorry if there is already a way, and I'm just not seeing it.

Cannot load mkl_intel_thread.dll

Hello, I am trying to run this program and have followed the steps you provided on the readme. However when I run the beatbeatmapsynth.py file, I get the error "Intel MKL FATAL ERROR: Cannot load mkl_intel_thread.dll".
The command promt tells me that this file should be in "C:\ProgramData\Anaconda3\envs\BSMapSynth-env\Library\bin\mkl_intel_thread.dll"
I went to check and it is there, so I don't know what is happening.
Could I get some help?
Thanks in advance.

FileNotFoundError on startupinfo

I ran pip install ffmpeg, but installing that lib didn't remove the warning.

(base) D:\Downloads\Utilities\BeatMapSynthesizer-master>python beatmapsynth.py "Music/Ehrling - Sthlm-Sunset.wav" "Sthlm Sunset by Ehrling" Hard rate_modulated_segmented_HMM
E:\anaconda3\lib\site-packages\pydub\utils.py:170: RuntimeWarning: Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work
warn("Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work", RuntimeWarning)
Loading Song...
Song loaded successfully!
Mapping with rate modulated segmented Hidden Markov Model...
E:\anaconda3\lib\site-packages\pandas\core\reshape\merge.py:1108: UserWarning: You are merging on int and float columns where the float values are not equal to their int representation
UserWarning,
Mapping done!
Writing files to disk...
Converting music file...
Traceback (most recent call last):
File "beatmapsynth.py", line 719, in
beat_map_synthesizer(args.song_path, args.song_name, args.difficulty, args.model, args.k, args.version)
File "beatmapsynth.py", line 50, in beat_map_synthesizer
rate_modulated_segmented_HMM_mapper(song_path, song_name, difficulty, version = version, k = k)
File "beatmapsynth.py", line 512, in rate_modulated_segmented_HMM_mapper
music_file_converter(song_path)
File "beatmapsynth.py", line 125, in music_file_converter
AudioSegment.from_wav(song_path).export('song.egg', format='ogg')
File "E:\anaconda3\lib\site-packages\pydub\audio_segment.py", line 904, in export
p = subprocess.Popen(conversion_command, stdin=devnull, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
File "E:\anaconda3\lib\subprocess.py", line 800, in init
restore_signals, start_new_session)
File "E:\anaconda3\lib\subprocess.py", line 1207, in _execute_child
startupinfo)
FileNotFoundError: [WinError 2] The system cannot find the file specified

error in making the song

image
heres an image of what i got, all the errors i got before with the python modules i just installed manually and i use the command to start it and i got this. have i done something wrong with installation. if so can you help me or make a video outlining how to install this because i believe it would help

Potential invalid json data

On Line 85 the songAuthorName should have some value. See Info.dat schema for more info.

Also, on Line 308, Line 498, and Line 714, there it should read int(num) rather than just num, because when writing the difficulty.dat file it will sometimes put quotes around the note type. This goes against the schema as well, see difficulty.dat schema for more info.

You can use https://jsonschemalint.com/ to test some maps, but I've found that sometimes a map won't be playable inside of Beat Saber because of this.

Song Mapping

Once you map your songs how do you combine the difficulties for one song into a single entry on Beatsaber? Right now I have a separate entry on beatsaber for each difficulty of a song rather than just selecting song and seeing all difficulty levels associated with it. I tried putting them all into one folder and that didn't work and neither did modifying the info.dat to include the code from each difficulty into one file. I dont know what I am missing can you help me please?

Applying environment

I'm getting the following when enabling the environment:

ResolvePackageNotFound:

  • cffi==1.13.2=py36hb5b8e2f_0
  • sip==4.19.8=py36h0a44026_0
  • libffi==3.2.1=h475c297_4
  • zlib==1.2.11=h1de35cc_3
  • ncurses==6.1=h0a44026_1
  • send2trash==1.5.0=py36_0
  • pcre==8.43=h0a44026_0
  • pysocks==1.7.1=py36_0
  • dbus==1.13.12=h90a0687_0
  • freetype==2.9.1=hb4e5f40_0
  • glib==2.63.1=hd977a24_0
  • pyopenssl==19.1.0=py36_0
  • libiconv==1.15=hdd342a3_7
  • libcxxabi==4.0.1=hcfea43d_1
  • pandocfilters==1.4.2=py36_1
  • markupsafe==1.1.1=py36h1de35cc_0
  • nbconvert==5.6.1=py36_0
  • ipython==7.11.1=py36h39e3cac_0
  • libcxx==4.0.1=hcfea43d_1
  • traitlets==4.3.3=py36_0
  • six==1.14.0=py36_0
  • tbb==2019.8=h04f5b5a_0
  • icu==58.2=h4b95b61_1
  • kiwisolver==1.1.0=py36h0a44026_0
  • tk==8.6.8=ha441bb4_0
  • pyrsistent==0.15.7=py36h1de35cc_0
  • llvm-openmp==4.0.1=hcfea43d_1
  • jsonschema==3.2.0=py36_0
  • notebook==6.0.3=py36_0
  • setuptools==45.1.0=py36_0
  • ipython_genutils==0.2.0=py36_0
  • audioread==2.1.8=py36_1
  • libsodium==1.0.16=h3efe00b_0
  • bleach==3.1.0=py36_0
  • tornado==6.0.3=py36h1de35cc_0
  • libedit==3.1.20181209=hb402a30_0
  • ptyprocess==0.6.0=py36_0
  • scikit-learn==0.22=py36h27c97d8_0
  • qt==5.9.7=h468cd18_1
  • matplotlib==3.1.1=py36h54f8f79_0
  • mkl_random==1.1.0=py36ha771720_0
  • jedi==0.16.0=py36_0
  • libogg==1.3.2=h1de35cc_0
  • numpy-base==1.17.4=py36h6575580_0
  • scipy==1.3.2=py36h1410ff5_0
  • cycler==0.10.0=py36hfc81398_0
  • llvmlite==0.31.0=py36h1341992_0
  • cryptography==2.8=py36ha12b0ac_0
  • libgfortran==3.0.1=h93005f0_2
  • pip==20.0.2=py36_1
  • mistune==0.8.4=py36h1de35cc_0
  • mkl_fft==1.0.15=py36h5e564d8_0
  • openssl==1.1.1d=h1de35cc_3
  • pandas==0.25.3=py36h0a44026_0
  • blas==1.0=mkl
  • idna==2.8=py36_0
  • urllib3==1.25.8=py36_0
  • zeromq==4.3.1=h0a44026_3
  • mkl-service==2.3.0=py36hfbe908c_0
  • intel-openmp==2019.4=233
  • python==3.6.9=h359304d_0
  • sqlite==3.30.1=ha441bb4_0
  • requests==2.22.0=py36_1
  • libvpx==1.7.0=h378b8a2_0
  • pycparser==2.19=py36_0
  • gettext==0.19.8.1=h15daf44_3
  • ipykernel==5.1.3=py36h39e3cac_0
  • openh264==1.8.0=hd9629dc_0
  • widgetsnbextension==3.5.1=py36_0
  • wheel==0.34.1=py36_0
  • pexpect==4.8.0=py36_0
  • pyzmq==18.1.0=py36h0a44026_0
  • readline==7.0=h1de35cc_5
  • numpy==1.17.4=py36h890c691_0
  • pickleshare==0.7.5=py36_0
  • backcall==0.1.0=py36_0
  • gmp==6.1.2=hb37e062_1
  • jupyter_client==5.3.4=py36_0
  • libsndfile==1.0.26=0
  • libflac==1.3.1=h0a44026_1002
  • ca-certificates==2020.1.1=0
  • libopus==1.3=h1de35cc_0
  • chardet==3.0.4=py36_1003
  • importlib_metadata==1.4.0=py36_0
  • lame==3.100=h1de35cc_0
  • mkl==2019.4=233
  • bzip2==1.0.8=h1de35cc_0
  • libpng==1.6.37=ha441bb4_0
  • jupyter==1.0.0=py36_7
  • webencodings==0.5.1=py36_1
  • numba==0.48.0=py36h6c726b0_0
  • appnope==0.1.0=py36hf537a9a_0
  • entrypoints==0.3=py36_0
  • asn1crypto==1.3.0=py36_0
  • jpeg==9b=he5867d9_2
  • xz==5.2.4=h1de35cc_4
  • expat==2.2.6=h0a44026_0
  • certifi==2019.11.28=py36_0
  • x264==1!152.20180806=h1de35cc_0
  • jupyter_core==4.6.1=py36_0
  • wcwidth==0.1.7=py36_0
  • pyqt==5.9.2=py36h655552a_2
  • pandoc==2.2.3.2=0
  • ffmpeg==4.2=h677a3f5_0
  • terminado==0.8.3=py36_0

How to make rate_modulated_segmented_HMM to behave more (or less like segmented_hmm)

Heya I'm giving BeatMapSynthesizer a go. Nice work thanks so much!

I was wondering, How can I toggle rate_modulated_segmented_HMM to behave more like segmented_HMM?

I like the variation of rate_moduled, but the breaks are too much and I want 70% of the song to go by the beat. I was wondering how I could start with rate_modulated_segmented_HMM and taper off on it's variation power?

Please help me!!!!

i am extremely confused and i am clueless at python please take me through this step by step thanks

KeyError when using segmented_HMM

I don't know if this is related to the FileNotFoundError I get when using other models.

(base) D:\Downloads\Utilities\BeatMapSynthesizer-master>python beatmapsynth.py "Music/Ehrling - Sthlm-Sunset.wav" "Sthlm Sunset by Ehrling" Hard segmented_HMM
E:\anaconda3\lib\site-packages\pydub\utils.py:170: RuntimeWarning: Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work
warn("Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work", RuntimeWarning)
Loading Song...
Song loaded successfully!
Mapping with segmented Hidden Markov Model...
Traceback (most recent call last):
File "beatmapsynth.py", line 719, in
beat_map_synthesizer(args.song_path, args.song_name, args.difficulty, args.model, args.k, args.version)
File "beatmapsynth.py", line 48, in beat_map_synthesizer
segmented_HMM_mapper(song_path, song_name, difficulty, k = k, version = version)
File "beatmapsynth.py", line 330, in segmented_HMM_mapper
notes_list = segmented_HMM_notes_writer(y, sr, k, difficulty, version)
File "beatmapsynth.py", line 468, in segmented_HMM_notes_writer
preds = segment_predictions(segments_df, MC)
File "beatmapsynth.py", line 434, in segment_predictions
pred = HMM_model.walk(init_state = tuple(preds.iloc[-5:, 0]))
File "E:\anaconda3\lib\site-packages\markovify\chain.py", line 137, in walk
return list(self.gen(init_state))
File "E:\anaconda3\lib\site-packages\markovify\chain.py", line 126, in gen
next_word = self.move(state)
File "E:\anaconda3\lib\site-packages\markovify\chain.py", line 112, in move
choices, weights = zip(*self.model[state].items())
KeyError: ('0,2,0,7,1,3,0,7,999,999,999,999', '0,0,0,6,999,999,999,999,999,999,999,999', '0,1,2,5,1,2,0,6,999,999,999,999', '0,2,0,7,999,999,999,999,999,999,999,999', '999,999,999,999,1,3,1,3,999,999,999,999')

Getting TypeError

Getting this TypeError:
beat_track() takes 0 positional arguments but 2 positional arguments (and 1 keyword-only argument) were given

Any thoughts? Would love to use this program!

question

Is the macos file compatible with Ubuntu

Adding to model

if I want to add to / improve the model using specific mappings that appeal to my playstyle, how would I do so ? I am very new to the whole ML & python thing, but if you could point me in the right direction of where to look in the code, I would appreciate it.

[Q] Was the data cleaned in any way prior to being processed?

You said that you only used mappings with user ratings above 90% and 70% for the two datasets, but did you also sort out the mappings that have a low number of ratings? If not, I would suggest finding a reasonable cut-off for the number of ratings required to eliminate any "high" ratings because the maps haven't been played or rated by that many people.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.