{"id":17779499,"url":"https://github.com/nicolasperez19/mic-master-flex","last_synced_at":"2025-10-28T16:30:35.442Z","repository":{"id":259563478,"uuid":"878218899","full_name":"nicolasperez19/mic-master-flex","owner":"nicolasperez19","description":"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.","archived":false,"fork":false,"pushed_at":"2024-10-30T14:57:49.000Z","size":4901,"stargazers_count":2,"open_issues_count":20,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-12-21T00:42:51.879Z","etag":null,"topics":["ai","astro","audio-processing","grid-configuration","microphone-array","numpy","numpy-arrays","productivity","react","research","robotics","tailwindcss","typescript"],"latest_commit_sha":null,"homepage":"https://nicolasperez19.github.io/mic-master-flex/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nicolasperez19.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-25T01:29:02.000Z","updated_at":"2024-11-27T06:55:57.000Z","dependencies_parsed_at":"2024-10-26T14:53:07.354Z","dependency_job_id":"b3d75f23-a4fa-412d-9151-0cd0452679e0","html_url":"https://github.com/nicolasperez19/mic-master-flex","commit_stats":null,"previous_names":["nicolasperez19/mic-master-flex"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nicolasperez19%2Fmic-master-flex","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nicolasperez19%2Fmic-master-flex/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nicolasperez19%2Fmic-master-flex/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nicolasperez19%2Fmic-master-flex/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nicolasperez19","download_url":"https://codeload.github.com/nicolasperez19/mic-master-flex/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238677008,"owners_count":19511925,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","astro","audio-processing","grid-configuration","microphone-array","numpy","numpy-arrays","productivity","react","research","robotics","tailwindcss","typescript"],"created_at":"2024-10-27T01:04:18.485Z","updated_at":"2025-10-28T16:30:29.889Z","avatar_url":"https://github.com/nicolasperez19.png","language":"TypeScript","funding_links":["https://buymeacoffee.com/nico_perez"],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n    \u003ch1\u003e\n    🎙️MicMasterFlex\n    \u003c/h1\u003e\n    \u003cp align=\"left\"\u003e\n      \u003cb\u003eMicMasterFlex\u003c/b\u003e is a web app that allows users to configure the positions of a microphone array on an interactive grid. \n    \u003c/p\u003e\n    \u003cp align=\"left\"\u003eDesigned 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.\u003c/p\u003e\n    \u003ca href=\"https://github.com/nicolasperez19/mic-master-flex/\"\u003e\u003cimg src=\"https://img.shields.io/github/stars/nicolasperez19/mic-master-flex?style=for-the-badge\u0026logo=github\u0026logoColor=white\" alt=\"Github Stars\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://buymeacoffee.com/nico_perez\"\u003e\u003cimg src=\"https://img.shields.io/badge/Buy%20Me%20a%20Coffee-%23FFDD00.svg?\u0026style=for-the-badge\u0026logo=buy-me-a-coffee\u0026logoColor=black\"\u003e\u003c/a\u003e\n\u003c/div\u003e\n\n# Table of Contents\n\n1. [Demo](#demo)\n2. [Project motivation](#project-motivation)\n3. [Prerequisites](#prerequisites)\n4. [Installation](#installation)\n5. [Running the project locally](#running-the-project-locally)\n6. [Building the project locally](#building-the-project-locally)\n7. [Project structure](#project-structure)\n8. [Citation](#citation)\n\n## 📸 Demo\nhttps://github.com/user-attachments/assets/419bda8b-d6a5-4f54-87b8-acef9d752226\n\n## 💡 Project Motivation\n**MicMasterFlex** was born out of challenges encountered during the [*Robots as Furniture*](https://github.com/robotsasfurniture/passive-sound-localization) project at [Brown University Human-centered Robotics Initiative](https://hcri.brown.edu/), where configuring a microphone array for sound localization required precise positioning of multiple microphones. \n\nGiven the complex arrangement, writing down positions manually without a visual guide proved inefficient and error-prone. \n\nMicMasterFlex 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. \n\nAdditionally, the tool generates the necessary `numpy` code for these positions, streamlining the setup process for audio processing and sound localization tasks.\n\n## 📋 Prerequisites\nIn order to run the project locally, you must have [Bun runtime](https://bun.sh/) installed.\n\n## 💾 Installation\nTo install the project locally, clone the git repository and install all dependencies by running the following commands in your terminal:\n```sh\ngit clone https://github.com/nicolasperez19/mic-master-flex.git\ncd mic-master-flex\nbun install\n```\n\n## 🏃‍♂️💨 Running the Project Locally\nTo run the project locally in developer mode, run the following command in your terminal:\n```sh\nbun run dev\n```\n\n## 🏗️ Building the Project Locally\nTo build the project locall, run the following command in your terminal:\n```sh\nbun run build\n```\n\nThe production version of the site will be available in the `./dist` folder.\n\n## 🚀 Project Structure\n\nInside of your Astro project, you'll see the following folders and files:\n\n```text\n/\n├── public/\n│   └── favicon.svg\n├── src/\n│   ├── components/\n│   │   └── Card.astro\n│   ├── layouts/\n│   │   └── Layout.astro\n│   └── pages/\n│       └── index.astro\n└── package.json\n```\n\nAstro looks for `.astro` or `.md` files in the `src/pages/` directory. Each page is exposed as a route based on its file name.\n\nThere's nothing special about `src/components/`, but that's where we like to put any Astro/React/Vue/Svelte/Preact components.\n\nAny static assets, like images, can be placed in the `public/` directory.\n\n## 📝 Citation\n\nIf you'd like to cite this project, please use this BibTex:\n\n```\n@article{perez2024micmasterflex,\n  title={MicMasterFlex},\n  author={Nicolas Perez},\n  journal={https://example.com/},\n  year={2024}\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnicolasperez19%2Fmic-master-flex","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnicolasperez19%2Fmic-master-flex","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnicolasperez19%2Fmic-master-flex/lists"}