House of Tweets is an art/computer science project that took place at the Saarland University.
We do not want to bother anyone with unnecessarily many words, so feel free to play around with our project and leave feedback if you like. Make sure, your sound is turned on!
Note that the project has been put on ice,
and instructions on how to revive it are in CONTINUE.md
.
For the tersest but also most platform-specific instructions, read the .travis.yml
script.
To be able to establish a connection to twitter, you need to provide information about your twitter account in the backend/credentials.py
files. This is a short Python "module" that defines a map CREDENTIALS
.
Refer to backend/credentials_TEMPLATE.py
for an example and follow the format.
You can obtain the necessary values by creating a twitter app.
Large binary files are stored in a separate repository. To download the files run git submodule update --init .heavy
.
This repository includes all sounds and images which have appropriate licensing such that they can be made public.
In general, you'll need:
sudo apt-get install -qq libav-tools rabbitmq-server
(python, pip, and bsdutils?)sudo apt-get install -qq libav-tools npm nodejs-legacy rabbitmq-server python3-dev python3-pip bsdutils
Some systems (Ubuntu and Debian, at least) install the node
binary in
a way that is incompatible with npm. To resolve this, do this on Ubuntu:
sudo ln -s /usr/bin/nodejs /usr/bin/node
Debian provides the package nodejs-legacy
to do this.
Note that npm
is not available in all distributions.
In case you have not installed homebrew yet, run
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
to install homebrew and brew install rabbitmq node python3 libav bsdutils
to install the dependencies.
It wouldn't be Windows if there weren't a graphical installer for most of the required programs.
ffmpeg/bin
directory to your PATH variable (instructions).As it is windows, you most certainly have to restart your system, potentially several times during the installations.
Thankfully, you can avoid npm, coffee-script, and other JS-related steps, because Windows is just for running the final product.
FrontEnd-dependencies will be installed automatically by running
make install_dependencies
.
This will install the npm packages stompjs, browserify, coffee-script, coffeescript-concat, less
and pip packages pika, pydub, tweepy, typing
.
Note 1: In Ubuntu the pip3
package is simply called pip
.
Check with --version
which Python version it is addressing and make sure it is Python 3.
Note 2: Under Debian, you may need to install the pip packages as sudo.
Also, you may need to sudo pip3 install setuptools
first.
Note 3: Under Windows you need to install the dependencies manually.
Use the command line with administrator rights for pip
.
If you need to make frontend
on Windows, use the GUI for npm
.
Both are shipped with the aforementioned installers.
Get RabbitMQ running:
sudo rabbitmq-server -detached
(the -detached
part starts it "into the background")load plugin: sudo rabbitmq-plugins enable --online rabbitmq_web_stomp rabbitmq_management
Explanation:
--online
means: fail if rabbitmq isn't runningrabbitmq_web_stomp
enables communication with the frontendrabbitmq_management
is optional, and provides a web interfaceIn Windows use the rabbit-mq console shipped with the installer or the GUI.
Build the frontend:
make frontend
or just make
Run the backend:
( cd backend && ./startBackend.py ${SOME_KEY})
with SOME_KEY
being a key defined in credentials.py
.Run the tests:
MANUAL_TESTS
in tests.py
)( cd backend && ./tests.py ${SOME_KEY})
Run the project / presentation:
out/main.html
The application is developed and maintained by
Sounds are extracted from xeno-canto, thank you very much! Images can be extracted from wikipedia, for legal reasons, they are not included online.
The first version was additionally developed by
In case there are any troubles developing on windows, we do not intend to fix it. The workflow is designed for Unix systems.
A fully built project will run on Windows, as well as Unix systems. However, the FrontEnd is designed for and only fully tested on Chrome for Windows 7 and Mac OS 10.10 or later.