Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/shreyazh/shrudio

My OwnAudio App
https://github.com/shreyazh/shrudio

Last synced: 22 days ago
JSON representation

My OwnAudio App

Awesome Lists containing this project

README

        

# [🎡 Shrudio: Your Ultimate Audio Lab](https://shrudio-by-shreyash.vercel.app/)

**Author: Shreyash Srivastva**

## Shrudio is your all-in-one audio tool: play music, generate melodies, create sound effects, and tune instrumentsβ€”all in a sleek, intuitive interface powered by the Web Audio API. 🎢✨
## Inspiration
Shrudio was inspired by the desire to create an all-in-one audio tool that allows musicians, creators, and sound enthusiasts to generate, play, and experiment with different audio features in a seamless environment. We wanted to bring together the power of music creation, sound effects, and real-time pitch detection into one platform.

---

## 🌟 Features
- **Music Player**
- Upload and play local audio files.
- Seek through tracks, adjust volume, and control playback.

- **Music Generator**
- Generate melodies using customizable parameters (scale, tempo, octave, and instrument).

- **Sound Effects**
- Play various effects like laser, explosion, power-up, and more.

- **Tuner**
- Tune your instrument with real-time pitch and note detection using your microphone.

---

## πŸš€ Getting Started

1. Clone the repository:
```bash
git clone https://github.com/shreyazh/shrudio.git
```

2. Install dependencies:
```bash
npm install
```

3. Start the development server:
```bash
npm run dev
```

4. Open the app in your browser at `http://localhost:3000`.

---

## πŸ› οΈ Technologies Used

- **Frontend:** React, TypeScript
- **Audio API:** Web Audio API
- **UI Components:** Tailwind CSS

---

## 🎀 How It Works

1. **Music Player:**
Upload an audio file to play. Use intuitive controls for seeking and adjusting volume.

2. **Music Generator:**
Select a scale, tempo, and instrument to generate unique melodies.

3. **Sound Effects:**
Instantly play sound effects with predefined settings.

4. **Tuner:**
Use your microphone to detect pitch and tune instruments with ease.

---

## What it does
Shrudio is a versatile audio application offering four main features:
- **Music Player**: Upload and play local audio files with intuitive controls.
- **Music Generator**: Create melodies by customizing scale, tempo, octave, and instrument.
- **Sound Effects**: Play a variety of sound effects like laser, explosion, and power-up instantly.
- **Tuner**: Tune your instrument in real-time using your microphone for pitch and note detection.

---

## How we built it
Shrudio was developed using:
- **Frontend**: React and TypeScript to create a dynamic and responsive interface.
- **Audio API**: The Web Audio API powers all audio functionalities, enabling sound manipulation and real-time tuning.
- **UI Components**: Tailwind CSS was used to build a clean and minimalist design that provides a smooth user experience.

---

## Challenges we ran into
- Integrating real-time audio manipulation with the Web Audio API required deep understanding and careful implementation to ensure a seamless user experience.
- Handling various audio formats in the music player and ensuring compatibility across devices posed some challenges.
- Fine-tuning the pitch detection algorithm for the tuner was tricky, but we managed to get it working accurately.

---

## Accomplishments that we're proud of
- Successfully integrating multiple audio features into one platform, allowing users to seamlessly generate, play, and explore sounds.
- Creating an easy-to-use and aesthetically pleasing interface that enhances user experience.
- Building a functional real-time pitch tuner that works across a variety of instruments.

---

## What we learned
- The Web Audio API is incredibly powerful but requires careful management of resources for smooth performance.
- Tailwind CSS significantly streamlines UI development, enabling rapid design iteration without sacrificing quality.
- Fine-tuning real-time features like pitch detection can be more complex than expected, but it’s immensely rewarding when it works.

---

## What's next for Shrudio
- Implementing additional sound effects and audio manipulation tools.
- Adding a cloud sync feature for music files, enabling users to access their audio library across devices.
- Enhancing the music generator with more customizable features, like advanced harmony and rhythm options.
- Expanding the tuner to support more instruments and provide additional tuning modes.

---

## 🀝 Contributing

Feel free to open issues or submit pull requests for any features or improvements you'd like to add.

---

## πŸ“„ License

This project is licensed under the MIT License.

---