Skip to content

EitanWong/com.eitan.easymic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

20 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Easy Mic Icon

๐ŸŽ™๏ธ Easy Mic for Unity

Professional Real-time Audio Recording & Processing Plugin

Unity Version License Platform

๐Ÿ‡จ๐Ÿ‡ณ ไธญๆ–‡็‰ˆ | ๐Ÿ‡บ๐Ÿ‡ธ English

Latest Version: 0.1.3-exp.1 (2026-02-16) ยท View Changelog

Highlights: Added Mono component stack (`EasyMicrophone`, `VoiceMicrophone`, `PlaybackAudioSourceBehaviour`, `SpeechSynthesizer`), refactored playback/recording subsystems, and refreshed bilingual docs.

Perfect for AI Digital Humans โ€ข Voice Interactive Applications โ€ข Real-time Audio Processing


๐ŸŽฏ What is Easy Mic?

Easy Mic is a professional real-time audio recording and processing plugin designed specifically for Unity developers working on voice-interactive applications, AI digital humans, and real-time audio processing projects.


๐Ÿค–
AI Digital Humans
Voice interaction systems


๐Ÿ—ฃ๏ธ
Real-time Voice Chat
Live conversation systems


๐ŸŽ™๏ธ
Voice Commands
Recognition systems


๐Ÿ“ž
VoIP & Comms
Communication apps


๐ŸŽฎ
Voice Gaming
Voice-controlled games

Easy Mic provides the low-latency, high-quality audio foundation your application needs.


๐ŸŽฌ See It In Action

Watch Demo

Unity Digital Human Microphone Recording Plugin
Solving Echo Cancellation for Conversational AI

This video demonstrates how Easy Mic solves critical audio challenges in AI conversation systems, particularly the conversation interruption problem caused by echo and audio feedback.


โœจ Key Features

๐ŸŽค Ultra-Low Latency Recording

  • โœ… Native backend for minimal audio delay
  • โœ… Real-time processing for live systems
  • โœ… Cross-platform support

โ›“๏ธ Programmable Audio Pipeline

  • โœ… Modular design with chainable processors
  • โœ… Dynamic runtime configuration
  • โœ… Built-in & custom processors

๐Ÿ›ก๏ธ Type-Safe & Performance-First

  • โœ… Zero-GC audio processing
  • โœ… Compile-time safety
  • โœ… Thread-safe operations

๐Ÿ”ง Developer-Friendly

  • โœ… Simple API design
  • โœ… Comprehensive documentation
  • โœ… Active community support

๐Ÿ’Ž EasyMic APM Extension - Professional 3A Audio Processing

APM Solution

For developers working on Unity AI digital human projects, we offer the EasyMic APM (Audio Processing Module) extension.

๐Ÿ”‡
AEC
Acoustic Echo Cancellation
Eliminates echo and feedback
๐Ÿ“ข
AGC
Automatic Gain Control
Maintains consistent audio levels
๐ŸŽฏ
ANS
Acoustic Noise Suppression
Reduces background noise

๐Ÿ“ง Contact: unease-equity-5c@icloud.com | ๐Ÿ’ฌ Bilibili: Send private message

Demo Video

๐Ÿš€ Quick Start

๐Ÿ“ฆ Installation

  1. Open Unity Package Manager
  2. Click + โ†’ Add package from git URL...
  3. Enter: https://github.com/EitanWong/com.eitan.easymic.git#upm
  4. Click Add

๐Ÿ“‹ Import Sample Scene

  1. After importing Easy Mic, go to Package Manager
  2. Find EasyMic in "In Project" packages
  3. Expand Samples section
  4. Click Import next to "Recording Example"
  5. Open the imported scene to see microphone recording demo
How to Import Samples

Import the Recording Example sample scene via Package Manager

โšก Basic Usage

// Ensure permission (Android triggers system request)
if (!PermissionUtils.HasPermission()) return;

// Refresh device list EasyMicAPI.Refresh();

// Define processor blueprints var bpCapture = new AudioWorkerBlueprint(() => new AudioCapturer(10), key: "capture"); var bpDownmix = new AudioWorkerBlueprint(() => new AudioDownmixer(), key: "downmix");

// Start recording (auto-selects default device/channel) var handle = EasyMicAPI.StartRecording(SampleRate.Hz16000);

// Attach processors EasyMicAPI.AddProcessor(handle, bpDownmix); EasyMicAPI.AddProcessor(handle, bpCapture);

// ... later: stop and get captured clip EasyMicAPI.StopRecording(handle); var clip = EasyMicAPI.GetProcessor(handle, bpCapture)?.GetCapturedAudioClip();


๐Ÿงช Sample Projects Overview

EasyMic includes ready-to-run samples under EasyMic/Packages/com.eitan.easymic/Samples~/ so developers can quickly validate workflows.

Sample Purpose Best For
Recording Example Basic microphone recording flow and WAV persistence. First-time integration and device/permission checks.
Playback Example Core playback flow using EasyMic playback stack. Verifying low-latency output and playback controls.
AudioPlayback API Example Programmatic playback API usage and queue-style audio feeding. Building custom runtime audio playback logic.
SherpaONNXUnity ASR Example Real-time speech recognition pipeline with Sherpa ONNX + EasyMic input. Speech-to-text applications and voice command prototypes.
SherpaONNXUnity KWS Example Keyword spotting / wake-word workflow with Sherpa ONNX. Wake-word activation and always-listening assistants.
AIChat Example End-to-end AI voice chat sample (ASR + LLM + TTS + playback orchestration). Direct starting point for digital human / AI avatar apps.

AIChat Sample Notes

  • The AIChat Example is designed as a production-oriented reference pipeline for conversational digital humans.
  • It demonstrates end-to-end flow from microphone input to speech recognition, LLM response generation, and speech synthesis playback.
  • Install com.eitan.sherpa-onnx-unity before importing/running this sample.

๐Ÿ“š Documentation


๐ŸŽฏ Use Cases

๐Ÿค–
AI Digital Humans
  • Real-time voice interaction
  • Conversation AI with echo cancellation
  • Natural language processing
๐ŸŽฎ
Gaming Applications
  • Voice chat in multiplayer
  • Voice commands for control
  • Real-time audio effects
๐Ÿ“ž
Communication Apps
  • VoIP applications
  • Video conferencing tools
  • Real-time audio streaming
๐ŸŽ™๏ธ
Content Creation
  • Podcast recording tools
  • Voice-over applications
  • Audio content workflows

๐Ÿ“‹ System Requirements

Unity
2021.3 LTS or higher
Platforms
Windows, macOS, Linux
Android, iOS
Dependencies
.NET Standard 2.1+
Permissions
Microphone access required

๐Ÿ“„ License

This project is licensed under the GPLv3 License - see the LICENSE.md file for details.

โœ… Open Source Friendly

  • Free to use in open source projects
  • Commercial use allowed with GPL compliance

โš ๏ธ Commercial Projects

  • Source code disclosure required
  • GPL compliance mandatory for distribution

๐Ÿค Community & Support

๐Ÿ›
Issues & Bug Reports
GitHub Issues
Check Troubleshooting first
๐Ÿ’ฌ
Community Discussion
GitHub Discussions
Share projects & get help
๐Ÿ“ง
Professional Support
Email | Bilibili PM
Provide technical support

๐ŸŒŸ Why Choose Easy Mic?

โœ…
Developer-Focused
Extensive documentation, examples, and community support
โœ…
Performance-Optimized
Zero-GC audio processing for maximum performance
โœ…
Flexible Architecture
Modular design allows easy customization and extension
โœ…
Cross-Platform
Single API works across all major Unity platforms

๐Ÿš€ Ready to Build Amazing Voice-Interactive Applications?

Get Started View Examples Contact APM


Made with โค๏ธ by Eitan
Star โญ this repo if Easy Mic helps your project!

GitHub stars GitHub forks

About

A simple Unity plugin for low-latency raw audio capture with a modular real-time processing pipeline.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

 
 
 

Contributors

Generated from EitanWong/upm-template