Я создаю синтаксический анализатор, который преобразует MIDI-песню в последовательность нотно-аккордовых кортежей. Для каждой песни он возвращает список кортежей, где первый элемент — это нота, а второй — набор нот. Таким образом, результирующие данные имеют форму [(note, {chords})]
, например. [(20, {21, 23}), (30, {22, 24, 26, 28})]
. Обратите внимание, что длина аккорда может быть произвольной.
Я хотел бы создать набор данных из многих песен, а затем передать их в рекуррентную нейронную сеть. Итак, мой вопрос: как проще всего сохранить эти данные в файл?
Я попробовал библиотеку h5py. К сожалению, это работает только с матрицами. Хотя и можно было бы так сохранить каждую пару, но, вероятно, это было бы очень неэффективно, так как длина хорды неограничена.