Skip to content

Sound player to imitate acoustics in the designed spaces. It is an addition to the architectural model.

License

Notifications You must be signed in to change notification settings

Fysek/ArchSound

Repository files navigation

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. License
  5. Contact
  6. Acknowledgements

About The Project

Idea

This is a sound player for architectural model and can be used in any other application as well. At the end it became a part of the model for master thesis: Sonic relation as a design tool.

The idea of a sound player is to imitate acoustics in the designed spaces. User can touch a membrane which is a potentiometer. Produced analog value is then converted by MCP3008 to digital and used in the application. Based on reading's location, a particular, characteristic to the area sound is played. Additionally, there is algorithm implemented which plays and stops a sound of footsteps if the user is moving on the membrane. Mind that only one direction of movement (forward) is supported.

Schematic

Main part of the system is Raspberry Pi. It works as a microcontroller which gets readings from two MCP3008s and plays a sound through audio port. Wiring between RPi and MCPs is shown on the picture below.

Note that wiring is missing pull-down resistors. These resistors are not needed if regular potentioneters are connected to the MCP. Pull-down resistors are used with ultraflat membrane potentiometer because when the membrane is not pressed, the end of MCP is floating thus these resistors are needed.

Software

General idea of the system is pretty simple: read the values from the potentiometers and play the sound according to the configuration.

if __name__ == "__main__":
  sliderScanner = SliderScanner()
  soundPlayer = SoundPlayer()
  while True:
      try:
          sliderScanner.readValues()
          zone, move = sliderScanner.evaluateValues()
          soundPlayer.playSounds(zone, move)
      except KeyboardInterrupt:
          print('Interrupted')
          sys.exit(0)

See the diagram below to visualize execution of functions over time.

Result

  1. First prototype board

  1. Extending the board with pull-down resistors

  1. Making a custom connector to connect with raspberry pi

  1. Full prototype with different types of membrane stripes

  1. Working on the model

  1. Connecting the board to the model

  1. Final result

Getting Started

This chapter contains all information to easily and fast start the application.

Prerequisites

For the software point of view, only python packages are needed to run the application.

  • execute this command to install all required python packages
    python -m pip install -r requirements

Usage

To run the application, simply execute the command below:

python ./main.py 

License

Distributed under the MIT License. See LICENSE for more information.

Contact

Mateusz Dyrdol - @Mateusz Dyrdol - [email protected]

Project Link: https://github.com/Fysek/ArchSound/

Acknowledgements

About

Sound player to imitate acoustics in the designed spaces. It is an addition to the architectural model.

Topics

Resources

License

Stars

Watchers

Forks

Languages