From SlugWiki
Jump to: navigation, search
Mural in the Bemis bathroom


Diagram of Bemix

Bemix is a complete music system designed to make music a community experience on Slugfest. This vision has been realized by installing speakers in public locations that can be controlled though a uniform interface on site or a single web interface.

Bemix version 3.0 (the current version) has five touch switches embedded in the wall of each bathroom, arranged in a + configuration. The user may start and stop the music, increase and decrease the volume, and navigate through a playlist using the touch switches. Using a web interface, one may assemble playlists that can be played on any of the Bemix speakers as well as control all the players.

Bemix 3.0 hardware and software is made to be easily modified, expanded, and adapted to other projects. The 4E Network was developed as part of Bemix but is applicable to any project requiring a connection to a computer or another project. The bemix software can handle input from any user interface with only a small amount of work.

How to Use Bemix

Bemix is currently installed in the Bemis (bemis) bathroom, the kitchen (classy), Goodale Lounge (donlanes), Walcott Lounge(cocoa), and Walcott hallway (wallcool). The music in either of these locations can be fully controlled over a web interface and partially controlled from the bathrooms (currently only Bemis).

Web Interface

Go to Log on with MIT certificates. You should see a list of all available players. From here you can select playlists, start/stop the music, change the volume, etc.

Touch Switches

Each bathroom has five touch switches arranged in a + pattern.The funtions are

Code Position Function
1 Center Play/pause
2 Top Volume up
3 Bottom Volume down
4 Left Previous song
5 Right Next song

Lay your entire hand flat over the touch switch. They are not sensitive enough to detect your finger.

Currently, you can only load playlists from the computer.

To Do

  • Integrate with hbf/pants (Currently all music comes from hbf)
  • permanent housing for electronics (Electronics are still evolving, but in a classy box)
  • replace ceiling tile with grate
  • install bemix in goodale lounge and kitchen (touch switches would be cool)
  • transmit audio as differential signal improve sound quality. Use transformers or more likely DRV134PA (IC AUDIO DIFF LINE DRIVER 8-DIP) and INA137PA (IC AUDIO DIFF RCVR 8-DIP).

Contributors For Version 1-3

Contributors For Version 4

  • Jelle van den Hooff - Actually made bemix v4 happen. Wrote original backend and player.
  • Tim Mickel - Bemix software, especially the web interface, and twisted/push nodes.
  • Isaac Hero Gutenesque - Hype Bemix software and hardware research and development. Early vlc prototype. Rebuilding 4e network.
  • Robert Johnson - Bemix hardware and firmware. Rebuilding 4e network.
  • Adrian Mullings - Has an account on hbf

If you are interested in contributing or for technical assistance/help with bemix, ask bemixdevs@mit.


Version 1

Bemix version 1.0 was created in Spring 2005. It was designed to play music in the Bemis bathroom through speakers located above the drop ceiling. Users would select music through Glirnath, a web interface.

Later, a touch switch was added to provide on/off control from the bathroom. The touch-switch was hidden in a towel rack in the Bemis bathroom. When someone touched the towel rack and the faucet at the same time, the op-amp senses the change in voltage, compares it to a referece voltage, and amplifies it. This signal is sent to a flip flop which toggles power to the speakers.

The success of Bemix led slugs to plan its expansion into other bathrooms. But, the v1.0 hardware and software had much room for technical improvement. The touch switch was finiky and there was no way to override the touch switch from the computer.

Version 2

Bemix version 2.0 was planned but not implemented (by the time the cable trays were up, version 3 was nearly completed). It would have simply built on v1.0, expanding it to the three central bathrooms and making it more robust.

Version 3

Version 3.0 is a complete redesign of version 2. It will be PIC based and will communicate with the computer over the 4E Network. This will allow a virtually unlimited number of commands to be exchanged between the bathrooms and server. The user interface in the bathroom consists of five touch switches in a + configuration.

Version 4

Version 4 has evolved from the original distributed mplayer system to use vlc, and currently a twisted-based socket system. The web interface is django based, uses certificates for authentication, stores a database using MongoDB, and runs on hbf. There are a couple git repositories for different parts of the project. Ask Isaac (igutek), Tim (tmickel), Jelle(jelle), or Rob (robj), if you are interested in working on bemix, or seeing the source. The touch switch is currently an Arduino sitting on an rs485 bus, sending commands which in turn are relayed to hbf which sends commands to the players. Rob and Isaac are developing a cheap ethernet-based board that will become the new 4e network.

Version 5

It is a continuation of the version 4. It runs on raspberry pis and has youtube support.

Cable Trays

All low voltage wiring Bemix must be run in a cable trays, because messy wires start fires. Our cable trays are from Reuse and currently being installed.

See Also