Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

possible advantages in using CSV files to store note data #4

Open
jhaco opened this issue Apr 9, 2023 · 0 comments
Open

possible advantages in using CSV files to store note data #4

jhaco opened this issue Apr 9, 2023 · 0 comments
Labels

Comments

@jhaco
Copy link
Owner

jhaco commented Apr 9, 2023

Have been exploring the uses of having all the note data into one csv file. Will write notes here as I mull over whether or not this is needed now...

Currently, I'm writing to individual .txt files that contain the following data:

-- title
-- bpm
-- note_data
--- difficulties
---- note:timing data for each difficulty

so the output looks something like:

-- title
-- bpm
-- note_data
--- easy
---- note + timing data for easy
--- medium
---- note + timing data for medium
--- challenge
---- note + timing data for challenge

and the user will need to manage audio files seperately.


The .csv format I am considering is:

title | bpm | audio_filename | difficulty | note_data | timing_data

As each song has multiple difficulty levels, I want it to be represented something like:

title | bpm | audio_filename | easy | easy_note_data | easy_timing_data
title | bpm | audio_filename | medium | medium_note_data | medium_timing_data
title | bpm | audio_filename | challenge | challenge_note_data | challenge_timing_data

Not sure if csv can handle writing an array of data into a single cell though, that might be tricky. Could have the whole array as one ugly string, but will need to make sure it's being parsed correctly...


Pros:

  • In-house python csv module to directly parse/write CSV files to dictionaries
  • Easier bookkeeping; no more managing individual .txt files for each song

Cons:

  • Not needed atm since current implementation is working fine with StepCOVNet
  • Possible file bloat storing note:timing data for a large number of songs
  • Will need to redo all the data processing logic since the dict being passed by csv might be different than the one being used by my DataHandler
  • Too lazy if I have to do another refactor
@jhaco jhaco added enhancement New feature or request future improvements labels Nov 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant