Skip to content

MatthewPortman/galaxymusic

Repository files navigation

galaxymusic

Making galaxies with music and hopefully... eventually... music with galaxies.

Example Galaxy Mosaic

This image brought to you by the Brown University Alma Mater.

Overview

galaxymusic is the prototype of a Python library that allows you to create visualizations of galaxies as informed by GALFIT and synchronize them with music. The library provides tools to generate animations, process images, and integrate audio to create a fun audiovisual experience.

galaxymusic is dependent on a copy of the galfitlib local to the repository as denoted by the _ preceeding it. The main galfitlib repository is currently private but is a work in progress. Upon its completion, this repo will be updated to correctly import it.

Features

  • Generate galaxy mosaics and animations.
  • Integrate music with galaxy visualizations.
  • Support for parallel processing to speed up image processing tasks.

Installation

To install galaxymusic, clone the repository and install the required dependencies:

git clone https://github.com/matthewportman/galaxymusic.git

cd galaxymusic

pip install -r requirements.txt

galaxymusic also needs ffmpeg to generate the final mosaic video.

Usage

Creating a Galaxy Mosaic

To create a galaxy mosaic, open the galaxy_music.ipynb notebook in a jupyter installation of your choice. Modify the hyperparameter music_filename to select the music file you would like to process. Then run the notebook to generate a galaxy mosaic synchronized and informed by the music.

For more details, see the documentation inside galaxy_music.ipynb.

Note, galaxymusic contains some utilization of the galfitlib library, which is not yet ready for distribution. A local copy is included in the repository. A few of the modules used in galaxy_music.ipynb can be found there in the utilities/music directory. Any additional utility used throughout is from functionality included in the library itself.

Contributing

Contributions are welcome! Please fork the repository and submit a pull request with your changes.

License

This project is licensed under the GPL-3.0 license. See the LICENSE file for more details.

Contact

For any questions or inquiries, please contact portmanm@uci.edu.

Acknowledgements

Special thanks to Matthew Hopkins for his help with the FFT/Signal Processing code and several others of the original hack day team that helped to inform the initial versions of this script.

About

Making galaxies with music and music with galaxies

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •