MatLab AUdioVIsualizer (MLAUVI) is a tool that can create beautiful audiovisualizations of neuroimaging (and other) datasets. MLAUVI allows you to adjust a variety of parameters to create an effective audiovisualization, and even allows you to save settings if you want to tweak parameters in the future.
- MATLAB (2017 or later - previous versions have not been tested)
- ffmpeg (required for combined audio/video files)
- Some data (example data is included to help you get yours into the proper format)
- Clone or download this repository.
- Make sure you have ffmpeg installed.
- For mac/linux, ffmpeg can be easily installed using brew:
brew install ffmpeg
- For windows, you can follow this guide for a straightforward installation.
- For mac/linux, ffmpeg can be easily installed using brew:
- In order to point Matlab to your ffmpeg installation, first navigate to the
mlauvi
folder and then input:- (mac/linux) if installed with brew, run
readlink $(which ffmpeg) > ffmpegpath.txt
. Otherwise,which ffmpeg > ffmpegpath.txt
should work. - (windows)
where ffmpeg > ffmpegpath.txt
- (mac/linux) if installed with brew, run
- Open and run
mlauvi.m
. Make sure to select "Add to Path" if prompted. - You are now ready to create some cool audiovisualizations!
- Load a demo dataset by choosing
Load > from .mat
from the toolbar. - Choose a .mat file from
mlauvi/demodata/
. - When prompted
Choose Temporal Variable
, choose the variable T from the list. - Similarly, when prompted
Choose Spatial Variable
, choose the variable S from the list. - Your GUI should now update and look like this:
This box has options for adjusting:
- Framerate of the outputted video (frames per second)
- Brightness
- % Range of data you want to output.
When converting data to audio, timecourses are mapped onto a sequence of notes, with the first timecourse as the lowest note and each subsequent timecourse a higher note. These options control the parameters of that scale and when a note is played.
Threshold
, the minimum value at which a note is playedOctave shift
, an integer that increases/decreases the pitch of the outputted audioScale type
, the arrangement of notes you want- As a general rule, the note range should fit on a standard 88 key piano. You will see a warning in the
Status
box if you selected a note arrangement that does not fit within this range. - For data with very few timecourses (~10), you can spread the notes out much more than if you have a larger number of timecourses
- See the
Scale
section for more details on what these options mean.
- As a general rule, the note range should fit on a standard 88 key piano. You will see a warning in the
Key
, the note that your first component