MicMasterFlex is a web app that allows users to configure the positions of a microphone array on an interactive grid.
Designed for audio engineers and researchers, this tool offers an intuitive interface for precise microphone placement, enabling users to simulate and optimize array setups for various acoustic applications.
- Demo
- Project motivation
- Prerequisites
- Installation
- Running the project locally
- Building the project locally
- Project structure
- Citation
mic-master-flex-demo.mov
MicMasterFlex was born out of challenges encountered during the Robots as Furniture project at Brown University Human-centered Robotics Initiative, where configuring a microphone array for sound localization required precise positioning of multiple microphones.
Given the complex arrangement, writing down positions manually without a visual guide proved inefficient and error-prone.
MicMasterFlex addresses this by offering an interactive, visual interface to configure microphone positions on a grid, making it easier to plan and visualize the array layout.
Additionally, the tool generates the necessary numpy
code for these positions, streamlining the setup process for audio processing and sound localization tasks.
In order to run the project locally, you must have Bun runtime installed.
To install the project locally, clone the git repository and install all dependencies by running the following commands in your terminal:
git clone https://github.com/nicolasperez19/mic-master-flex.git
cd mic-master-flex
bun install
To run the project locally in developer mode, run the following command in your terminal:
bun run dev
To build the project locall, run the following command in your terminal:
bun run build
The production version of the site will be available in the ./dist
folder.
Inside of your Astro project, you'll see the following folders and files:
/
├── public/
│ └── favicon.svg
├── src/
│ ├── components/
│ │ └── Card.astro
│ ├── layouts/
│ │ └── Layout.astro
│ └── pages/
│ └── index.astro
└── package.json
Astro looks for .astro
or .md
files in the src/pages/
directory. Each page is exposed as a route based on its file name.
There's nothing special about src/components/
, but that's where we like to put any Astro/React/Vue/Svelte/Preact components.
Any static assets, like images, can be placed in the public/
directory.
If you'd like to cite this project, please use this BibTex:
@article{perez2024micmasterflex,
title={MicMasterFlex},
author={Nicolas Perez},
journal={https://example.com/},
year={2024}
}