File size: 1,539 Bytes
a8cb0a6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import numpy as np
import librosa
import audioread
import soundfile as sf

def read_audio(path):
    try:
        if path[-4:] == '.ogg':
            y, sr_native = sf.read(path)
        else:
            buf = []
            with audioread.audio_open(path) as input_file:
                sr_native = input_file.samplerate
                n_channels = input_file.channels
                for frame in input_file:
                    frame = (1.0 / float(1 << 15)) * np.frombuffer(frame, f"<i{2:d}").astype(np.float32)
                    buf.append(frame)
                y = np.concatenate(buf)
                if n_channels > 1:
                    y = y.reshape((-1, n_channels)).T
                y = np.mean(y, axis=tuple(range(y.ndim - 1)))
        y = librosa.resample(y, orig_sr=sr_native, target_sr=22050, res_type="soxr_hq")
        return y, 22050
    except Exception as e:
        print(f"Error reading audio file: {e}")
        return None, None

# print(audioread.audio_open('MusicAnalyzer/Instruments/banjo.ogg'))
print(read_audio('/Users/personal/Desktop/minecraft_noteblock_music_generator/MusicAnalyzer/Instruments/banjo.ogg'))
print(read_audio('/Users/personal/Desktop/minecraft_noteblock_music_generator/ExtraSounds/gettysburg.wav'))
print(read_audio('/Users/personal/Desktop/minecraft_noteblock_music_generator/ExtraSounds/KneeSocks.m4a'))
print(read_audio('/Users/personal/Desktop/minecraft_noteblock_music_generator/Audios/DilKyuYeMera/original.mp3'))
print(read_audio("Audios/RiverFlowsInYou/processed-Mean.mp3"))