MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.

    MMM-Spotify

    Scheduled Pinned Locked Moved Entertainment
    249 Posts 51 Posters 276.0k Views 54 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • ? Offline
      A Former User @Cr4z33
      last edited by

      @Cr4z33
      This is not a standalone player. you need “RASPOTIFY” to play songs directly on MM.
      There is some API about standalone player, but unfortunately, RPI doesn’t support that feature.
      Your trial was not about this module on RPI. It was an original features of Google Assistant.

      Cr4z33C 1 Reply Last reply Reply Quote 0
      • Cr4z33C Offline
        Cr4z33 @Guest
        last edited by

        @Sean I want them both. ;)
        Voice commands to play Spotify songs STRAIGHT in MM.

        Thanks for confirming I am going to have some Raspotify reading now.

        1 Reply Last reply Reply Quote 0
        • ejay-ibmE Offline
          ejay-ibm Project Sponsor Module Developer
          last edited by

          @Cr4z33 if you don’t want to use gaction like me .
          I’ll share my transcription hook and command i’m using with this module and others.
          It works perfectly. with raspotify. raspotify is pretty easy to install and run.

          transcriptionHook: {
          
                  HIDE_ALL_MODULES: {
                      pattern: "standby mode",
                      command: "HIDEMODULES"
                    },
                    SHOW_ALL_MODULES: {
                      pattern: "show modules",
                      command: "SHOWMODULES"
                    },
                    SCREEN_ON: {
                      pattern: "turn on screen",
                      command: "SCREENON"
                    },
                    SCREEN_OFF: {
                      pattern: "turn off screen",
                      command: "SCREENOFF"
                    },
                    REBOOT: {
                      pattern: "reboot the mirror",
                      command: "REBOOT"
                    },
                    SHUTDOWN: {
                      pattern: "extinction totale",
                      command: "SHUTDOWN"
                    },
                    STOP_PLAY: {
                      pattern: "stop the video", // this is for youtube but it is preferable to have youtubeAutoplay: false, when running spotify so you don't get interaction with youtube player. 
                      command: "STOP_VID"
                    },
                   // STOP_PLAY2: {
                   //   pattern: "arrête la musique",
                   //   command: "STOP_VID"
                   // },
          
          	 SPOTIFY_PREVIOUS: {
                  pattern: "previous song",
                  command: "SPOTIFY_PREVIOUS"
                  },
                  SPOTIFY_PAUSE: {
                  pattern : "stop the musique",
                  command: "SPOTIFY_PAUSE"
                  },
                  SPOTIFY_PLAY: {
                  pattern : "music please",
                  command: "SPOTIFY_PLAY"
                  },
                  SPOTIFY_NEXT: {
                  pattern: "next song",
                  command: "SPOTIFY_NEXT"
                  },
                  SPOTIFY_VOLUME: {
                  pattern: "set music volume to ([0-9]{1,2}[0]?|100)",
                  command: "SPOTIFY_VOLUME"
                  },
                  SPOTIFY_SEARCH: {
                  pattern: "play (.*) on Spotify",
                  command: "SPOTIFY_SEARCH"
                  },
          	SPOTIFY_SEARCH_PLAYLIST: {
                  pattern: "playlist (.*) on Spotify",
                  command: "SPOTIFY_SEARCH_PLAYLIST"
                  },
          	SPOTIFY_MA_PLAYLIST: {
          	pattern: "(.*) my playlist",   // (.*)  is an action  eg: play my playlist / run my playlist etc... 
          	command: "SPOTIFY_MA_PLAYLIST"
          	},
          	SPOTIFY_TRANSFER: {
          	pattern: "play the music on (.*)", // (.*)  is the name of your device
          	command: "SPOTIFY_TRANSFER"
          	},
                    VOLUME_UP: {
                      pattern: "volume up",
                      command: "CMD_VOLUME_UP"
                    },
                    VOLUME_DOWN: {
                      pattern: "volume down",
                      command: "CMD_VOLUME_DOWN"
                    },
                    SET_VOLUME: {
                      pattern: "set master volume to ([0-9]{1,2}[0]?|100)",
                      command: "CMD_VOLUME_SET"
                    }
          
                  },
                  command: {
          
                    STOP_VID: {
                      moduleExec: {
                        module: ["MMM-AssistantMk2"],
                        exec: (module, params, key) => {
                          module.assistant.subdom.youtube.innerHTML = ""; 
                          module.assistant.subdom.youtube.style.display = "none";
                          module.youtubePlaying = false;
                        }
                      }
                    },
          	   SPOTIFY_TRANSFER: {
          	    notificationExec: {
                        notification: "SPOTIFY_TRANSFER",
          	         payload: (params) => {
                           console.log("SPOTIFY_TRANSFER @",params)
                          return params[1];
                                  }
              
          	}
                    },
                     SPOTIFY_PAUSE: {
                      notificationExec: {
                        notification: "SPOTIFY_PAUSE"
                      }
                    },
          
                  SPOTIFY_PLAY: {
                      notificationExec: {
                          notification: "SPOTIFY_PLAY"
                          }
                  },
          	
          	SPOTIFY_MA_PLAYLIST: {
          	    notificationExec:  {
          		notification: "SPOTIFY_PLAY",
          		payload: (params) => {
          		console.log("SPOTIFY_MA_PLAYLIST")
          		return {
          			context_uri:"spotify:playlist:0bdByehKVfdsfdsfdsOhF5t",   // Uri of a personnal playlist or album
          				}
          			},
          		notification: "SPOTIFY_SHUFFLE",  // added this to toogle shuffle
          		notification: "SPOTIFY_NEXT" // added this to not always have the same song starting first 
          		}
          	},		
                  
          	SPOTIFY_NEXT: {
                   notificationExec: {
                      notification: "SPOTIFY_NEXT"
                          }
                  },
          
                  SPOTIFY_PREVIOUS: {
                   notificationExec: {
                      notification: "SPOTIFY_PREVIOUS"
                          }
                  },
                  SPOTIFY_VOLUME: {
                   notificationExec: {
                     notification: "SPOTIFY_VOLUME",
                     payload: (params) => {
                           console.log("SPOTIFY_VOLUME @",params)
                          return params[1];
                                  }
                          }
                  },
          	SPOTIFY_SEARCH: {
                   notificationExec: {
                     notification: "SPOTIFY_SEARCH",
          
                  payload: (params) => {
                          console.log("SPOTIFY_SEARCH @",params)
                          return {
                                  type: "artist,track,album,playlist",
                                  query: params[1],
                                  random:false,
                                  }
                               }
                          }
                  },
          	 SPOTIFY_SEARCH_PLAYLIST: {
                   notificationExec: {
                     notification: "SPOTIFY_SEARCH",
          
                  payload: (params) => {
                          console.log("SPOTIFY_SEARCH_PLAYLIST @",params)
                          return {
                                  type: "playlist",
                                  query: params[1],
                                  random:true,
                                  }
                               }
                          }
                  },
          
          
                    CMD_VOLUME_UP: {
                      notificationExec: {
                        notification: "VOLUME_UP"
                      }
                    },
                    CMD_VOLUME_DOWN: {
                      notificationExec: {
                        notification: "VOLUME_DOWN"
                      }
                    },
                    CMD_VOLUME_SET: {
                      notificationExec: {
                        notification: "VOLUME_SET",
                        payload: (params, key) => {
                          console.log("@", params);
                          return params[1];
                        }
                      }
                    }
                  },
          

          hope this will help.

          @Sean let me know if you want me to update the wiki.

          Ejay

          ? Cr4z33C 2 Replies Last reply Reply Quote 1
          • ? Offline
            A Former User @ejay-ibm
            last edited by

            @ejay-ibm thanks. As your wish, my colleague.

            1 Reply Last reply Reply Quote 0
            • Cr4z33C Offline
              Cr4z33 @ejay-ibm
              last edited by

              @ejay-ibm thanks, but it came out that the module was already fine only I didn’t know I had to setup Raspotify if I want a stand-alone solution.

              Tbh you guys should state that as I guess many here would love to run Spotify completely from the mirror, but it is not so obvious. ;)

              1 Reply Last reply Reply Quote 0
              • Cr4z33C Offline
                Cr4z33
                last edited by Cr4z33

                @Sean @ejay-ibm can you please add the option to hide module commands?
                If someone like me is using MMM-AssistantMk2 to control it then buttons aren’t needed anymore. ;)

                ejay-ibmE 1 Reply Last reply Reply Quote 0
                • ejay-ibmE Offline
                  ejay-ibm Project Sponsor Module Developer @Cr4z33
                  last edited by

                  @Cr4z33 We have added an option to hide the control

                  after doing a “git pull” from : ~/MagicMirror/modules/MMM-Spotify/

                  you can set in your config file

                   control: "default", //"default", "hidden" available~
                  

                  Ejay

                  Cr4z33C 1 Reply Last reply Reply Quote 0
                  • Cr4z33C Offline
                    Cr4z33 @ejay-ibm
                    last edited by

                    @ejay-ibm nice thanks! :thumbs_up_medium_skin_tone:

                    Also I didn’t notice in your last reply the many Spotify’ MMM-AssistantMk2 commands you were sharing.
                    Thanks for that too (although GA doesn’t understand properly yet when calling a specific Playlist, but hey we can’t have everything lol). :D

                    1 Reply Last reply Reply Quote 0
                    • Cr4z33C Offline
                      Cr4z33
                      last edited by

                      @ejay-ibm @Sean I noticed only now that if using allowDevices: with the Raspotify device name I can then hear the music, but somehow the module doesn’t ‘wake up’ and keeps showing the Spotify logo only.

                      K Cr4z33C 2 Replies Last reply Reply Quote 0
                      • K Offline
                        kwaeksler @Cr4z33
                        last edited by

                        @Cr4z33 thats true. That was one of my feature request on page one. I only wanted to see the information about the song on the mirror when i play it on it. Because for other familie members the information about my playing songs arent very interessting when i am not at home. :-D

                        1 Reply Last reply Reply Quote 0
                        • K Offline
                          kwaeksler
                          last edited by

                          This post is deleted!
                          1 Reply Last reply Reply Quote 0
                          • K Offline
                            kwaeksler @Guest
                            last edited by

                            @Sean said in MMM-Spotify:

                            updated

                            1.1.0 (2019-03-25)

                            • Added: touch(click) interface
                            • Device Limitation : Now you can allow or limit devices to display its playing on MM.
                            • Some CSS structure is changed.
                            • Now this module can emit SPOTIFY_* notifications for other module.

                            @Sean that sounds very great. I will update it later, thank you very much! :-)

                            R 1 Reply Last reply Reply Quote 0
                            • Cr4z33C Offline
                              Cr4z33 @Cr4z33
                              last edited by Cr4z33

                              @Cr4z33 said in MMM-Spotify:

                              @ejay-ibm @Sean I noticed only now that if using allowDevices: with the Raspotify device name I can then hear the music, but somehow the module doesn’t ‘wake up’ and keeps showing the Spotify logo only.

                              Guys any idea why? :grimacing_face:

                              Also @ejay-ibm maybe it’s because I translated them into Italian, but the commands used with MMM-AssistantMk2 that you posted earlier this week don’t get applied.
                              Ie. I say the hotword and then ‘next song’ and nothing happens…

                              Usually GA either executes the command or replies saying he didn’t understand, but not this time… :thinking_face:

                              alt text

                              1 Reply Last reply Reply Quote 1
                              • ejay-ibmE Offline
                                ejay-ibm Project Sponsor Module Developer
                                last edited by ejay-ibm

                                @Cr4z33 1st you have a wonderfull miror
                                2nd , if you send it to me maybe i’ll give you the answer ^^… joking …
                                I’m not sure what’s wrong .

                                What I would do first is turn on verbose mode on hotword and Mk2 assistant and check .
                                1- Console log .
                                2- pm2 out logs ( see “pm2 show scriptname” )
                                3- pm2 error logs

                                Capitalization is very important in hook eg .
                                hook is like “next song”
                                when you say this to assistant if assistnat wirte " Next song" that that wikk not work .

                                All I can say for now is check the logs and share with us , that mitght help to help .

                                Ejay

                                Cr4z33C 1 Reply Last reply Reply Quote 0
                                • I Offline
                                  icripps
                                  last edited by

                                  can whatever that is playing on your phone be played by the mirror too?

                                  ? 1 Reply Last reply Reply Quote 0
                                  • ? Offline
                                    A Former User @icripps
                                    last edited by

                                    @icripps
                                    If you mean multi-speaker, It isn’t.
                                    To play Spotify on your MagicMirror(Raspberry Pi), you need to install Raspotify on your Raspberry Pi.
                                    Then, you can play Spotify on your MM directly and can control Spotify (Wherever it played on).

                                    1 Reply Last reply Reply Quote 1
                                    • Cr4z33C Offline
                                      Cr4z33 @ejay-ibm
                                      last edited by Cr4z33

                                      @ejay-ibm lol for my mirror and thanks for the suggestion. :smiling_face_with_open_mouth_closed_eyes:

                                      @icripps please note that to be able to use Raspotify a Spotify Premium account is MANDATORY. ;)

                                      1 Reply Last reply Reply Quote 0
                                      • I Offline
                                        icripps
                                        last edited by

                                        Okay thank you. Will manage what I have for now

                                        1 Reply Last reply Reply Quote 0
                                        • B Offline
                                          bolish
                                          last edited by

                                          Hi guys,
                                          Do you know which parameter to play with into the custom.css to get the module smaller in size? (it’s taking to much place on my screen).
                                          Thx

                                          ? 1 Reply Last reply Reply Quote 0
                                          • ? Offline
                                            A Former User @bolish
                                            last edited by

                                            @bolish
                                            Is style: "mini" still too big? It has only around 360px X 120px.
                                            Unfortunately, there is no single magic keypoint to modify simply.
                                            See MMM-Spotify.css and redefine values on your css/custom.css

                                            1 Reply Last reply Reply Quote 0

                                            Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                            Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                            With your input, this post could be even better 💗

                                            Register Login
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 5
                                            • 12
                                            • 13
                                            • 2 / 13
                                            • First post
                                              Last post
                                            Enjoying MagicMirror? Please consider a donation!
                                            MagicMirror created by Michael Teeuw.
                                            Forum managed by Sam, technical setup by Karsten.
                                            This forum is using NodeBB as its core | Contributors
                                            Contact | Privacy Policy