Add fuzzy and text-classification light model #1
					 3 changed files with 42 additions and 21 deletions
				
			
		Add play genre action
				commit
				
					
					
						aa512535aa
					
				
			
		|  | @ -4,10 +4,12 @@ from rapidfuzz import process, fuzz, utils | |||
| ROOMS = ["cuisine", "salon", "chambre", "bureau"] | ||||
| 
 | ||||
| 
 | ||||
| MUSIQUE_GENRE_SHORT = ["synthpop", "jazz classique", "jazz manouche", "classique", "rock", "jazz", "blues", "film", "francaise", "pop",  "reggae", "folk", | ||||
| MUSIQUE_GENRE_SHORT = ["synthpop", "jazz classique", "jazz manouche", "latine", "classique", "rock", "jazz", | ||||
|                        "blues", "film", "francaise", "pop",  "reggae", "folk", | ||||
|                        "électro", "punk", "corse", "arabe", "persane",  "piano", "rap", "slam"] | ||||
| 
 | ||||
| MUSIQUE_GENRE_LONG = ["synthpop", "jazz classique", "jazz manouche", "classique", "rock", "jazz", "blues", "musique de film", "chanson francaise", "pop",  "reggae", "folk", | ||||
| MUSIQUE_GENRE_LONG = ["synthpop", "jazz classique", "jazz manouche", "chanson latine", "classique", "rock", "jazz", | ||||
|                       "blues", "musique de film", "chanson francaise", "pop",  "reggae", "folk", | ||||
|                       "électro", "punk", "chanson corse", "chanson arabe", "chanson persane",  "piano", "rap", "slam", "chanson classique"] | ||||
| 
 | ||||
| 
 | ||||
|  |  | |||
							
								
								
									
										46
									
								
								src/mpd.py
									
										
									
									
									
								
							
							
						
						
									
										46
									
								
								src/mpd.py
									
										
									
									
									
								
							|  | @ -2,17 +2,18 @@ import logging | |||
| import random | ||||
| from mpd import MPDClient | ||||
| 
 | ||||
| 
 | ||||
| class Mpd(): | ||||
| 
 | ||||
|     def __init__(self, ip, yoda): | ||||
|         self.ip = ip | ||||
|         self.port = 6600 | ||||
|         self.client = MPDClient()               # create client object | ||||
|         self.client.timeout = 10                # network timeout in seconds (floats allowed), default: None | ||||
|         # network timeout in seconds (floats allowed), default: None | ||||
|         self.client.timeout = 10 | ||||
|         self.client.idletimeout = None | ||||
|         self.yoda = yoda | ||||
| 
 | ||||
| 
 | ||||
|         self.client.connect(ip, self.port) | ||||
|         logging.debug(self.client.mpd_version) | ||||
|         self.client.close() | ||||
|  | @ -36,7 +37,8 @@ class Mpd(): | |||
|         logging.debug('Listing '+self.normalize_genre(genre)) | ||||
|         try: | ||||
|             # todo: select only one album instead of the artist | ||||
|             list_album = self.client.lsinfo("Files/Genres/"+self.normalize_genre(genre)) | ||||
|             list_album = self.client.lsinfo( | ||||
|                 "Subsonic/Genre/"+self.normalize_genre(genre)) | ||||
|         except: | ||||
|             list_album = [] | ||||
| 
 | ||||
|  | @ -61,17 +63,31 @@ class Mpd(): | |||
|         return NORMALIZED_GENRE[genre.lower()] | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| NORMALIZED_GENRE = { | ||||
|     'classique': 'classique', | ||||
|     'musique classique': 'classique', | ||||
|     'jazz': 'jazz', | ||||
|     'chanson française': 'chanson francaise', | ||||
|     'chanson anglaise': 'chanson anglaise', | ||||
|     'musique de film': 'musique de film', | ||||
|     'électro': 'electro', | ||||
|     'musique électronique': 'electro', | ||||
|     'rock': 'rock', | ||||
|     'pop': 'pop', | ||||
|     'chanson latine': 'chanson latine', | ||||
|     'classique': 'Classique', | ||||
|     'musique classique': 'Classique', | ||||
|     'jazz': 'Jazz', | ||||
|     'chanson française': 'Chanson Francaise', | ||||
|     'francaise': 'Chanson Francaise', | ||||
|     'chanson anglaise': 'Chanson anglaise', | ||||
|     'reggae': 'Reggae', | ||||
|     'folk': 'Folk', | ||||
|     'électro': 'Electro', | ||||
|     'musique électronique': 'Electro', | ||||
|     'punk': 'Punk', | ||||
|     'rock': 'Rock', | ||||
|     'pop': 'Pop', | ||||
|     'latine': 'Latin', | ||||
|     'arabe': 'Arabic', | ||||
|     'corse': 'Chants Corse', | ||||
|     'persane': 'Chanson Persane', | ||||
|     'piano': 'Piano', | ||||
|     'rap': 'Rap', | ||||
|     'slam': 'Slam', | ||||
|     'synthpop': 'Synthpop', | ||||
|     'jazz classique': 'Classique Jazz', | ||||
|     'jazz manouche': 'Jazz Manouche', | ||||
|     'blues': 'Blues', | ||||
|     'film': 'Soundtrack', | ||||
|     'musique de film': 'Soundtrack', | ||||
| } | ||||
|  |  | |||
|  | @ -68,6 +68,9 @@ class Ratatouille(): | |||
|             return self.light_on_single(payload['intentArg'][0]) | ||||
|         elif command == "LightOff": | ||||
|             return self.light_off_single(payload['intentArg'][0]) | ||||
|         elif command == "PlayMusicGenre": | ||||
|             return self.play_genre(payload['intentArg'][0]) | ||||
|         return '42' | ||||
| 
 | ||||
|     def weather_query(self, entities): | ||||
|         if any(a in entities['B-weather_descriptor'] for a in TEMPERATURE_KEYWORD): | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue