In [2]:
from __future__ import print_function
# We'll need numpy for some mathematical operations
import numpy as np
import scipy
# matplotlib for displaying the output
import matplotlib.pyplot as plt
import matplotlib.style as ms
ms.use('seaborn-muted')
%matplotlib inline
# and IPython.display for audio output
import IPython.display
# Librosa for audio
import librosa
# And the display module for visualization
import librosa.display
audio_path = "/Users/lineplus/Desktop/project/MusicAnalyzer/audio/Drum1.mp3"
audio_path2 = "/Users/lineplus/Desktop/project/MusicAnalyzer/audio/Odesza_Above_The_Middle.mp3"
y, sr = librosa.load( audio_path, sr=44100 )
y2, sr2 = librosa.load( audio_path2, sr=44100 )
#IPython.display.Audio(data=y, rate=sr)
print( y )
print( len( y ) )
print( len( y2 ) )
print( sr )
print( sr2 )
print( scipy.spatial.distance.cosine( y, y2[0:171648] ) )
for i in range( 0, 47 ):
print( scipy.spatial.distance.cosine( y, y2[171648 * i: 171648 * ( i + 1 )] ))
librosa.display.waveplot( y, sr=44100 )
print("zzz");
librosa.display.waveplot( y2, sr=44100 )
Out[2]:
In [5]:
# 3. Run the default beat tracker
tempo, beat_frames = librosa.beat.beat_track(y=y, sr=sr)
print('Estimated tempo: {:.2f} beats per minute'.format(tempo))
# 4. Convert the frame indices of beat events into timestamps
beat_times = librosa.frames_to_time(beat_frames, sr=sr)
print('Saving output to beat_times.csv')
librosa.output.times_csv('/Users/lineplus/Desktop/project/MusicAnalyzer/audio/result.csv', beat_times)
In [8]:
print( tempo )
print( beat_frames )
print( beat_times )
In [21]:
{frame_arr = librosa.util.frame(y, frame_length=2048, hop_length=512)
frame_arr2 = librosa.util.frame(y2, frame_length=2048, hop_length=512)
print( frame_arr )
print( frame_arr2 )
print( len( frame_arr[0] ) )
print( len( frame_arr2[0] ) )
print( len( frame_arr ) )
print( len( frame_arr2 ) )}
In [17]:
librosa.display.waveplot( y )
Out[17]:
In [20]:
librosa.display.waveplot( y2 )
Out[20]:
In [ ]:
sim = scipy.spatial.distance.cosine( frame_arr[0], frame_arr2[0] )
print( sim )