Skip to main content

PyLips

Downloads PyPI version License: MIT

The PyLips Logo

PyLips is a Python-based interface for developing screen-based conversational agents. It is designed to make developing socially assistive robotics easier by providing a simple, expressive, and customizable framework for developing conversational agents.

PyLips is easy to install, simple to use, and open-source. It comes ready to use with your system's speech synthesis tools, and uses other free and open-source software for turning these sounds into facial expressions.

The PyLips Faces

To Install from PyPI

You can install PyLips using pip. To install PyLips, run this command in your terminal:

python3 -m pip install pylips

If you are running PyLips on a Linux Distribution, you may need to also install the following packages:

sudo apt update && sudo apt install espeak-ng ffmpeg libespeak1

PyLips Quickstart

Here is a quick example to test your installation. This code will make your computer face say "Hello, welcome to pylips!". The voice will be the default system voice, but this is something we can change later.

First, we will have to start the PyLips server. This is a simple flask sever that can serve several faces at the same time. To start the server, run the following command:

python3 -m pylips.face.start

This will start the server on port 8000. Do not worry about the warning message, the package will still work. You can connect any web browser to the urls printed, even across computers on the local network. For now, just open a browser and go to http://localhost:8000/face to see the face.

Now open a new terminal tab and run the following code:

from pylips.speech import RobotFace

face = RobotFace()
# you may need to wait here for a minute or two to let allosaurus download on the first run

face.say("Hello, welcome to pylips!")

If all goes well, the face should have said the message!

If you use PyLips in an academic publication, please use this

@inproceedings{dennler2024pylips,
  title={PyLips: an Open-Source Python Package to Expand Participation in Embodied Interaction},
  author={Dennler, Nathaniel Steele and Torrence, Evan and Yoo, Uksang and Nikolaidis, Stefanos and Mataric, Maja},
  booktitle={Adjunct Proceedings of the 37th Annual ACM Symposium on User Interface Software and Technology},
  pages={1--4},
  year={2024}
}

History

0.0.17

  • adds support for moving keypoints directly via RobotFace.set_component_offsets().
  • adds optional parameter to turn off default viseme animation if desired in RobotFace.say(), RobotFace.say_file(), and RobotFace.stream_file_to_browser().

0.0.16

  • adds support for playing audio through browser instead of through pygame.

0.0.0 (2024-03-24)

  • pylips begins

Metadata

Release files for pylips 0.0.17

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pylips 0.0.17
File Size Uploaded
pylips-0.0.17.tar.gz 63.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pylips 0.0.17
File Interpreter ABI Platform
pylips-0.0.17-py3-none-any.whl Python 3 none any Details

Total release size: 125.1 kB

Release files / pylips-0.0.17.tar.gz

Download URL pylips-0.0.17.tar.gz
Size 63.0 kB
Tags Source
SHA-256 checksum
How to use checksums
8dac9a2043f2a32e06f934ce6681b44cb8d3bb4d376c9110cdc78b4e84b2647d
BLAKE2b-256 checksum
How to use checksums
081099d4e2c5b8c61a68a8e3995572a7bbdc2c8aab17f72c12b7cc50d04f8416
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.10

Release files / pylips-0.0.17-py3-none-any.whl

Download URL pylips-0.0.17-py3-none-any.whl
Size 62.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0288538d5c7557b368bcd4cec9e0f5f712afcfed17938df254ff76b2c3190745
BLAKE2b-256 checksum
How to use checksums
4318eff6f178fe15f1db9b7f4ed6328dc776244ee14aef6b09055764e5e4db32
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.10

Release history Release notifications | RSS feed

This release

0.0.17 This release

2 release files

0.0.15

2 release files

0.0.13

2 release files

0.0.12

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page