Omi3
is an open-source project focused on building audio processing and playback capabilities for web applications.
Omi3
aims to provide developers with a comprehensive set of tools and components for handling audio in web applications. From low-level audio processing to high-level UI components, Omi3 covers a wide range of audio-related functionalities.
- Core Audio Engine (
@omi3/audio
): Robust audio playback management using the Web Audio API, featuring play/pause/seek/volume controls, an event-driven architecture (addEventListener
), buffering status, error handling, and audio analysis capabilities (AnalyserNode
). - Media Session API Integration: Automatic integration with the browser's Media Session API for native media controls and metadata display.
- UI Components (
@omi3/ui
): Reusable React components for building audio interfaces (details TBD). - Utility Functions (
@omi3/utils
): Shared helper functions, including audio time formatting.
The project is organized as follows:
.
├── apps/ # Main applications
│ └── site/ # Main website and demo
├── packages/ # Shared packages
│ ├── audio/ # Core audio processing library & React integration
│ ├── ui/ # Reusable UI components registry, including audio player elements.
│ └── utils/ # Utility functions
└── tools/ # Development tools and configurations
└── typescript/ # TypeScript configurations
@omi3/audio
: (packages/audio/README.md) Core audio engine and React hooks/provider for state management.@omi3/ui
: Reusable UI components registry, including audio player elements.@omi3/utils
: Shared utility functions (e.g., time formatting).
- Ensure you have
Node.js (>=22)
,pnpm
, andmake
installed. - Clone the repository.
- Install dependencies:
pnpm install
- Start the development server:
pnpm dev
We use make
to simplify common development tasks like updating branches, cleaning up, and more.
For a full list of commands and detailed instructions, please refer to the Development Workflow section in CONTRIBUTING.md or run make help
in your terminal.
We welcome contributions from the community! Please read our Contributing Guidelines for more information on how to get involved.
Omi3
is open-source software licensed under the MIT License. See the LICENSE file for more details.