Giter Club home page Giter Club logo

roborock-glados's Introduction

GLaDOS voice pack builder

Give some personality to your Xiaomi vacuum by creating your own GLaDOS voice pack.

The script reads the text from the csv file in GLaDOS' voice and packages it for upload to your vacuum. It's been tested with a gen1 running Valetudo but should also work with other generations and with other ways of installing the voice pack. Especially combined with some original samples it can lead to some cool results.

Want to hear what she sounds like first? Check out GLaDOS voice generator.

I'm not creative, just give me a voice pack!

You're doing a great job of disappointing me. Go on, go to the releases page and download a pre-created pack.

Requirements

  • curl to call the GLaDOS voice generator API.
  • ffmpeg and ffmpeg-normalize (pip install ffmpeg-normalize) to normalize the volume of the voice files.
  • ccrypt to package the wav files.

Usage

  • git clone this repo
  • Change the lines in the csv file from the xiaomi default to something you want GLaDOS to say.
  • Run ./01-speak.sh to generate the speech.
  • Run ./02-process.sh to normalize the volume.
  • Run ./03-package.sh to package the wav files.
  • Visit Valetudo in your browser (the IP of your vacuum) and go to Settings -> Sound and voice. Upload the generated .pkg file from the output/result directory and press 'Upload Voice Pack'.
  • Done!

If you created a custom csv file, please be so kind to share it back so others can benefit from it.

Tips

Original samples

You can't beat the actual GLaDOS with her expression and cynicism, so why not replace some of the wav files with original samples from the game?

  • Find the right samples, for instance on here.
  • Download (via 'direct link') and give them the appropriate filenames (see the csv file).
  • Convert mp3 to wav like this: for i in *.mp3; do ffmpeg -i "$i" "${i%.*}.wav"; done.
  • Replace the respective files in the output/result directory and run the package script.

Speak when bumping into something

Now we have this great voice installed, wouldn't it be great if GLaDOS would speak a bit more? How about a custom voice pack and configuration for this: roborock-oucher?

Further automations

If you are using Home Assistant, you can combine the control of your vacuum with other automations. How about a soundtrack or some light effects? The only limit is your willingness to release your inner geek - you know you want to ;).

Credits

roborock-glados's People

Contributors

arner avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

roborock-glados's Issues

Fork with support for Dreame Z10

Hi, I did some research in order to support my Dreame Z10, and made a fork with the required changes (different file names and texts, different audio codec, different package format).

I also added some auto-handling of custom-downloaded samples to the stage1 script. My fork lives here:

https://github.com/mic-e/valetudo-glados

I'm not sure if/how this should be integrated into your main repo.

Roborock S5 Max "Unknown error code"

Hey,

this voice pack seems to be incompatible with the S5 Max. If I want to upload the .pkg file, I will get a "RoborockVoicePackManagementCapability: Failed to install Voicepack. Unknown error code 3" error. Sometimes it's Unknown error code 6. - No idea what this error code could be.

I am a bit confused. The original sound files have an .ogg extension, not .wav.

I also thought the voice pack could be too big to upload, I cleaned up logs to free up some space, no luck. Storage shouldn't be a problem.

Then i wanted to replace the voice files on the file system, they are located at /mnt/resources/audio_custom/sounds - but the file system is read-only, even with the root user.

Last idea would be to generate an own sound package with .ogg files instead of .wav and pack them. Maybe beginning with one or 2 replaced sounds to avoid an issue with file size, but currently I have no time to get a linux distribution running to execute the files and clone the repo.

Maybe I will update this, if I am able to fix the issue.

Otherwise: Let me know if your roborock can transform into Glados to serve cake.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.