Что определяет длину файлов `.wav`? - PullRequest
0 голосов
/ 14 июня 2019

В настоящее время я использую music21 и midi2audio для генерации .wav файлов с целью машинного обучения.Я наблюдал действительно странный факт.

path = '/Users/CatLover/Documents/DataScience/Insight/MusicDetector/music/'
npath = '/Users/CatLover/Documents/DataScience/Insight/MusicDetector/noise/'
nmpath = '/Users/CatLover/Documents/DataScience/Insight/MusicDetector/noisy_music/'
tpath = '/Users/CatLover/Documents/DataScience/Insight/MusicDetector/test_music/'
tnmpath = '/Users/CatLover/Documents/DataScience/Insight/MusicDetector/test_noisy_music/'

def build_dataset(char_list):
    dictionary = dict()
    for char in char_list:
        dictionary[char] = len(dictionary)
    reverse_dictionary = dict(zip(dictionary.values(), dictionary.keys()))
    return dictionary, reverse_dictionary

def repeating_music(char, length):
    preamble = 'tinyNotation: 4/4'
    for i in range(length):
        preamble = preamble + ' ' + char + '4'
    music = music21.converter.parse(preamble)
    music.write('midi', fp = tpath + 'test1' + '.midi')
    subprocess.call(["midi2audio", tpath + 'test1' + '.midi', tpath + 'test1' + '.wav'])
    test_X = segmenting(tpath + 'test1' + '.wav')
    test_y = np.full(length, dic[char])
    return test_X, test_y
char_list = ["r","CCC","CCC#","DDD","DDD#","EEE","FFF","FFF#","GGG","GGG#","AAA","AAA#","BBB","CC","CC#","DD","DD#","EE","FF","FF#","GG","GG#","AA","AA#","BB","C","C#","D","D#","E","F","F#","G","G#","A","A#","B","c","c#","d","d#","e","f","f#","g","g#","a","a#","b","c'","c'#","d'","d'#","e'","f'","f'#","g'","g'#","a'","a'#","b'","c''","c''#","d''","d''#","e''","f''","f''#","g''","g''#","a''","a''#","b''"]
dic, rdic = build_dataset(char_list)

Использование librosa.get_duration() Я вижу, что файл .wav с 2 F примечаниями только на 50% длиннее, чем файл .wav столько одна F заметка.Более того, такие соотношения не зависят от того, какие примечания используются, если не используется r.Почему это правда?

...