PHPackages                             ruelluna/filament-voice-textarea - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. ruelluna/filament-voice-textarea

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

ruelluna/filament-voice-textarea
================================

A filament plugin to use microphone to Textarea fields.

1.1(10mo ago)1172↓85.7%[6 issues](https://github.com/ruelluna/filament-voice-textarea/issues)[3 PRs](https://github.com/ruelluna/filament-voice-textarea/pulls)MITPHPPHP ^8.1CI passing

Since Jul 14Pushed 1w agoCompare

[ Source](https://github.com/ruelluna/filament-voice-textarea)[ Packagist](https://packagist.org/packages/ruelluna/filament-voice-textarea)[ Docs](https://github.com/ruelluna/filament-voice-textarea)[ GitHub Sponsors](https://github.com/ruelluna)[ RSS](/packages/ruelluna-filament-voice-textarea/feed)WikiDiscussions main Synced 2d ago

READMEChangelog (3)Dependencies (13)Versions (9)Used By (0)

Filament Voice Textarea Plugin
==============================

[](#filament-voice-textarea-plugin)

[![Latest Version on Packagist](https://camo.githubusercontent.com/96638202e698b9bda0a23b50aa5f6a7c54539167acc463570e08d3e417ab08b2/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f7275656c6c756e612f66696c616d656e742d766f6963652d74657874617265612e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/ruelluna/filament-voice-textarea)[![GitHub Tests Action Status](https://camo.githubusercontent.com/309320d64e231284bb6e3fe8f8d9bec42728ee6903ebfd1597c930d6ab8a1705/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f7275656c6c756e612f66696c616d656e742d766f6963652d74657874617265612f72756e2d74657374732e796d6c3f6272616e63683d6d61696e266c6162656c3d7465737473267374796c653d666c61742d737175617265)](https://github.com/ruelluna/filament-voice-textarea/actions?query=workflow%3Arun-tests+branch%3Amain)[![GitHub Code Style Action Status](https://camo.githubusercontent.com/03c914e6c46e69cd44cb715df62c66da076e52b5a9d8a2376d9687477ef0b9be/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f7275656c6c756e612f66696c616d656e742d766f6963652d74657874617265612f6669782d7068702d636f64652d7374796c652d6973737565732e796d6c3f6272616e63683d6d61696e266c6162656c3d636f64652532307374796c65267374796c653d666c61742d737175617265)](https://github.com/ruelluna/filament-voice-textarea/actions?query=workflow%3A%22Fix+PHP+code+styling%22+branch%3Amain)[![Total Downloads](https://camo.githubusercontent.com/f0b55e3e6ec45534ba5cef5ed1af44889f3dd7a029d0e34641d8cc625511e361/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f7275656c6c756e612f66696c616d656e742d766f6963652d74657874617265612e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/ruelluna/filament-voice-textarea)

A Filament plugin that provides a VoiceTextarea field component, allowing users to fill textarea fields using their microphone (voice-to-text) via the browser's built-in speech recognition API.

🚀 Quick Start
-------------

[](#-quick-start)

1. **Install the package:**

    ```
    composer require ruelluna/filament-voice-textarea
    ```
2. **Use in your forms:**

    ```
    use Ruelluna\FilamentVoiceTextarea\Forms\Components\VoiceTextarea;

    VoiceTextarea::make('description')
        ->label('Description')
        ->enableVoice()
        ->required();
    ```
3. **That's it!** The microphone button will automatically appear in the lower right corner of your textarea.

Features
--------

[](#features)

- 🎤 **Voice Recognition**: Use your microphone to dictate text into textarea fields
- 🔄 **Real-time Transcription**: See your speech converted to text in real-time
- 🎯 **Filament Integration**: Seamlessly integrates with Filament Forms
- 🌐 **Browser Support**: Works with Chrome, Edge, and other Web Speech API compatible browsers
- 🎨 **Customizable UI**: Clean, accessible interface with visual feedback

Browser Support
---------------

[](#browser-support)

This plugin uses the Web Speech API, which is currently supported in:

- ✅ Chrome (version 25+)
- ✅ Edge (version 79+)
- ✅ Safari (version 14.1+)
- ❌ Firefox (not supported)

Installation
------------

[](#installation)

You can install the package via composer:

```
composer require ruelluna/filament-voice-textarea
```

### Automatic Asset Loading

[](#automatic-asset-loading)

The package automatically loads all required assets (JavaScript, CSS, and views) when installed. **No manual asset publishing is required!**

**What happens automatically:**

- ✅ JavaScript and CSS assets are registered with Filament
- ✅ Views are automatically available via the `filament-voice-textarea` namespace
- ✅ Assets are loaded on-demand for optimal performance
- ✅ Service provider is auto-discovered by Laravel

**For package developers:**If you're developing the package locally, you can build the assets:

```
npm install
npm run build
```

### Quick Installation

[](#quick-installation)

Run the installation command to set up everything automatically:

```
php artisan filament-voice-textarea:install
```

This command will:

- Publish the configuration file
- Run any migrations (if applicable)
- Ask if you want to star the repository on GitHub

### Manual Installation (Optional)

[](#manual-installation-optional)

If you prefer to install components manually:

1. **Publish the config file (optional):**

```
php artisan vendor:publish --tag="filament-voice-textarea-config"
```

2. **Publish the views (optional):**

```
php artisan vendor:publish --tag="filament-voice-textarea-views"
```

**Note:** Assets are automatically loaded and do not need to be published manually.

Usage
-----

[](#usage)

### Basic Usage

[](#basic-usage)

Use the `VoiceTextarea` component in your Filament forms:

```
use Ruelluna\FilamentVoiceTextarea\Forms\Components\VoiceTextarea;

// In your Filament form
public function form(Form $form): Form
{
    return $form
        ->schema([
            VoiceTextarea::make('description')
                ->label('Description')
                ->enableVoice()
                ->helperText('Click the microphone icon to start voice recognition')
                ->required(),
        ]);
}
```

### Advanced Usage

[](#advanced-usage)

```
VoiceTextarea::make('content')
    ->label('Article Content')
    ->enableVoice()
    ->rows(10)
    ->placeholder('Start typing or click the microphone to dictate...')
    ->helperText('Use voice recognition for faster content creation')
    ->required()
    ->columnSpanFull();
```

### In Filament Resources

[](#in-filament-resources)

```
use Ruelluna\FilamentVoiceTextarea\Forms\Components\VoiceTextarea;

class PostResource extends Resource
{
    public static function form(Form $form): Form
    {
        return $form
            ->schema([
                TextInput::make('title')
                    ->required(),

                VoiceTextarea::make('content')
                    ->enableVoice()
                    ->required(),

                // ... other fields
            ]);
    }
}
```

How It Works
------------

[](#how-it-works)

1. **Enable Voice**: Call the `enableVoice()` method on your VoiceTextarea field
2. **Microphone Button**: A microphone icon appears next to the textarea
3. **Click to Start**: Click the microphone button to begin voice recognition
4. **Speak**: Your speech is converted to text in real-time
5. **Auto-append**: Recognized text is automatically added to the textarea
6. **Form Integration**: Changes are automatically detected by Filament/Livewire

Configuration
-------------

[](#configuration)

The plugin publishes a configuration file at `config/voice-textarea.php`:

```
return [
    // Default language for speech recognition
    'default_language' => 'en-US',

    // Whether to enable continuous recognition by default
    'continuous_recognition' => true,

    // Whether to show interim results
    'interim_results' => true,
];
```

Troubleshooting
---------------

[](#troubleshooting)

### Microphone Access Denied

[](#microphone-access-denied)

If you see a "Please allow microphone access" error:

1. Check your browser's microphone permissions
2. Click the microphone icon in the address bar
3. Allow microphone access for your site

### Speech Recognition Not Working

[](#speech-recognition-not-working)

- Ensure you're using a supported browser (Chrome, Edge, Safari)
- Check that your microphone is working and properly connected
- Try refreshing the page and granting microphone permissions again

### No Speech Detected

[](#no-speech-detected)

- Speak clearly and at a normal volume
- Ensure your microphone is not muted
- Try moving closer to your microphone

Contributing
------------

[](#contributing)

Please see [CONTRIBUTING](.github/CONTRIBUTING.md) for details.

Security Vulnerabilities
------------------------

[](#security-vulnerabilities)

Please review [our security policy](../../security/policy) on how to report security vulnerabilities.

Credits
-------

[](#credits)

- [Ruel Luna](https://github.com/ruelluna)
- [All Contributors](../../contributors)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

36

—

LowBetter than 79% of packages

Maintenance58

Moderate activity, may be stable

Popularity15

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity51

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 69.2% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~18 days

Total

3

Last Release

319d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/1f36b7ca408511a362849c31ab6b1f2da4c609373dd827edf33d612e28764be9?d=identicon)[ruelluna](/maintainers/ruelluna)

---

Top Contributors

[![ruelluna](https://avatars.githubusercontent.com/u/982036?v=4)](https://github.com/ruelluna "ruelluna (9 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (2 commits)")[![github-actions[bot]](https://avatars.githubusercontent.com/in/15368?v=4)](https://github.com/github-actions[bot] "github-actions[bot] (2 commits)")

---

Tags

laravelRuelLunafilament-voice-textarea

###  Code Quality

TestsPest

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/ruelluna-filament-voice-textarea/health.svg)

```
[![Health](https://phpackages.com/badges/ruelluna-filament-voice-textarea/health.svg)](https://phpackages.com/packages/ruelluna-filament-voice-textarea)
```

###  Alternatives

[codewithdennis/filament-select-tree

The multi-level select field enables you to make single selections from a predefined list of options that are organized into multiple levels or depths.

329530.5k29](/packages/codewithdennis-filament-select-tree)[awcodes/richer-editor

A collection of extensions and tools to enhance the Filament Rich Editor field.

3912.9k9](/packages/awcodes-richer-editor)[rawilk/filament-password-input

Enhanced password input component for filament.

52263.4k14](/packages/rawilk-filament-password-input)[stephenjude/filament-feature-flags

Filament implementation of feature flags and segmentation with Laravel Pennant.

122177.8k1](/packages/stephenjude-filament-feature-flags)[schmeits/filament-character-counter

This is a Filament character counter TextField and Textarea form field for Filament v4 and v5

34226.4k13](/packages/schmeits-filament-character-counter)[biostate/filament-menu-builder

An Elegant Menu Builder for FilamentPHP

6528.1k2](/packages/biostate-filament-menu-builder)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
