mirror of
				https://github.com/yashhere/BeautifyMP3.git
				synced 2025-10-31 06:33:52 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			101 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			101 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| import sys
 | |
| import os
 | |
| import mutagen
 | |
| from os.path import basename
 | |
| import acoustid
 | |
| import discogs_client as discogs
 | |
| from string import digits
 | |
| 
 | |
| 
 | |
| def improve_song_names(songs):
 | |
|     text_file = open("blacklist.txt", "r")
 | |
|     blacklistWords = text_file.read().splitlines()
 | |
|     blacklistWords = [word.lower() for word in blacklistWords]
 | |
| 
 | |
|     improved_names = []
 | |
|     for song in songs:
 | |
|         searchText = song[0:-4]
 | |
|         remove_digits = searchText.maketrans('', '', digits)
 | |
|         searchText = searchText.translate(remove_digits)
 | |
|         for word in song[0:-4].split(' '):
 | |
|             if word.lower() in blacklistWords:
 | |
|                 searchText = searchText.replace(word, '')
 | |
| 
 | |
|         improved_names.append(searchText)
 | |
| 
 | |
|     return improved_names
 | |
| 
 | |
| 
 | |
| def get_metadata_acoustid(song):
 | |
| 
 | |
|     API_KEY = 'GkQibmzT1u'
 | |
|     try:
 | |
|         results = acoustid.match(API_KEY, song)
 | |
|     except acoustid.NoBackendError:
 | |
|         print("chromaprint library/tool not found", file=sys.stderr)
 | |
|         sys.exit(1)
 | |
|     except acoustid.FingerprintGenerationError:
 | |
|         print("fingerprint could not be calculated", file=sys.stderr)
 | |
|         sys.exit(1)
 | |
|     except acoustid.WebServiceError as exc:
 | |
|         print("web service request failed:", exc.message, file=sys.stderr)
 | |
|         sys.exit(1)
 | |
|     except acoustid.FingerprintSubmissionError:
 | |
|         print("Error")
 | |
| 
 | |
|     first = True
 | |
|     for result in results:
 | |
|         if first:
 | |
|             first = False
 | |
|         else:
 | |
|             print(result)
 | |
| 
 | |
|     if first is True:
 | |
|         print("No Data found for " + song + " .... Skipping it")
 | |
| 
 | |
| 
 | |
| def get_metadata_musicbrainz(song):
 | |
|     return
 | |
| 
 | |
| 
 | |
| def add_metadata(files):
 | |
|     return
 | |
| 
 | |
| 
 | |
| def list_files():
 | |
|     files = []
 | |
|     return [f for f in os.listdir('.') if f.endswith('.mp3')]
 | |
| 
 | |
| 
 | |
| def get_metadata_discogs(song_name):
 | |
|     d = discogs.Client('ExampleApplication/0.1',
 | |
|                        user_token="mbNSnSrqdyJOKorCDBXjzzeYNhgulysWNJbwgBmk")
 | |
|     results = d.search(song_name, type="release")
 | |
|     first_result = results.page(1)[0]
 | |
| 
 | |
|     title = first_result.title
 | |
| 
 | |
|     print(dir(first_result.artists[0]))
 | |
|     print(title)
 | |
|     print(first_result.artists[0].name)
 | |
| 
 | |
| 
 | |
| def main():
 | |
|     files = list_files()
 | |
| 
 | |
|     # title, artist =
 | |
|     # get_metadata_discogs(
 | |
|     #     "Jonas Blue - By Your Side (Feat Raye)")
 | |
| 
 | |
|     # files = improve_song_names(files)
 | |
|     for file in files:
 | |
|         print("-------------" + file + "------------------")
 | |
|         print()
 | |
|         get_metadata_acoustid(file)
 | |
|         print()
 | |
|     print(files)
 | |
| 
 | |
| 
 | |
| if __name__ == "__main__":
 | |
|     main()
 |