PHPackages                             ekandreas/sayit - 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. ekandreas/sayit

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

ekandreas/sayit
===============

Converts text to speech via AWS and place it in a S3 bucket folder

1.3(3y ago)193MITPHPPHP ^8.0

Since Jul 16Pushed 3y ago1 watchersCompare

[ Source](https://github.com/ekandreas/sayit)[ Packagist](https://packagist.org/packages/ekandreas/sayit)[ Docs](https://github.com/ekandreas/sayit)[ GitHub Sponsors](https://github.com/ekandreas)[ RSS](/packages/ekandreas-sayit/feed)WikiDiscussions main Synced 4w ago

READMEChangelogDependencies (8)Versions (5)Used By (0)

Sayit
=====

[](#sayit)

[![Latest Version on Packagist](https://camo.githubusercontent.com/b0fa81b8c2d211e1b7dd4e2003919e093e384d5feceb4053fef48903b4a4d627/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f656b616e64726561732f73617969742e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/ekandreas/sayit)[![GitHub Tests Action Status](https://camo.githubusercontent.com/1b423ce19c5b61c27342201e2ddf9e059984ae2d00bfc21c72f29bffd498bd48/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f776f726b666c6f772f7374617475732f656b616e64726561732f73617969742f72756e2d74657374733f6c6162656c3d7465737473)](https://github.com/ekandreas/sayit/actions?query=workflow%3ATests+branch%3Amain)[![GitHub Code Style Action Status](https://camo.githubusercontent.com/25e60371c5f55b47a436ef4b2b60aa89af28f99532fbab327319deb86a3f2ac3/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f776f726b666c6f772f7374617475732f656b616e64726561732f73617969742f436865636b253230262532306669782532307374796c696e673f6c6162656c3d636f64652532307374796c65)](https://github.com/ekandreas/sayit/actions?query=workflow%3A%22Check+%26+fix+styling%22+branch%3Amain)[![Total Downloads](https://camo.githubusercontent.com/cc2a0e67da2490c519f7885d22b09516ac60c0d479a17243aad8902778580986/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f656b616e64726561732f73617969742e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/ekandreas/sayit)

---

Converts text to speech via AWS and place it in a S3 bucket folder This package is PHP agnostic. Follow these steps to get started:

1. `composer require ekandreas/sayit`
2. Register an IAM programmatic account and set policy S3 full access and Polly Full Access to it.
3. Use the key, secret, region and bucket name with the factory helper.
4. Open a public folder in your S3 bucket and create a folder in it.

---

Code example:

```
$factory = TextToSpeech::make(
    $aws_key,
    $aws_secret,
    $aws_region,
    $aws_bucket
)
    ->voice("Elin")
    ->engine('neural')
    ->generate("Hej på dig, det här kommer att läsas upp i en mp3 efter generering.")
    ->store("your-folder");

// the url now points to a public s3 folder "your-folder" with a unique mp3 file generated from the text above.
$url = $factory->url();
```

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

[](#installation)

You can install the package via composer:

```
composer require ekandreas/sayit
```

Testing
-------

[](#testing)

```
composer test
```

Credits
-------

[](#credits)

- [Andreas Ek](https://github.com/ekandreas)

License
-------

[](#license)

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

###  Health Score

27

—

LowBetter than 46% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity60

Established project with proven stability

 Bus Factor1

Top contributor holds 100% 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 ~176 days

Total

4

Last Release

1318d ago

PHP version history (2 changes)v1.0.0PHP ^7.4|^8.0

1.3PHP ^8.0

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1794603?v=4)[Andreas Ek](/maintainers/EkAndreas)[@ekandreas](https://github.com/ekandreas)

---

Top Contributors

[![ekandreas](https://avatars.githubusercontent.com/u/1794603?v=4)](https://github.com/ekandreas "ekandreas (26 commits)")

---

Tags

ekandreassayit

###  Code Quality

TestsPest

Static AnalysisPsalm

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/ekandreas-sayit/health.svg)

```
[![Health](https://phpackages.com/badges/ekandreas-sayit/health.svg)](https://phpackages.com/packages/ekandreas-sayit)
```

###  Alternatives

[leantime/leantime

Open source project management system for non-project managers. Simple like Trello, powerful like Jira. Built with neurodiversity in mind.

10.2k4.0k](/packages/leantime-leantime)[neuron-core/neuron-ai

The PHP Agentic Framework.

2.0k832.6k51](/packages/neuron-core-neuron-ai)[ellaisys/aws-cognito

Laravel Authentication using AWS Cognito (Web and API)

121269.8k1](/packages/ellaisys-aws-cognito)[eslazarev/wildberries-sdk

Wildberries OpenAPI clients (generated).

293.1k](/packages/eslazarev-wildberries-sdk)[oat-sa/tao-core

TAO core extension

65147.9k149](/packages/oat-sa-tao-core)[keboola/storage-api-client

Keboola Storage API PHP Client

10411.9k48](/packages/keboola-storage-api-client)

PHPackages © 2026

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