semvec/pypi-packages huggingface dataset:
dimits 0.0.31a0
Dimits is a Python library that provides an easy-to-use interface to the Piper text-to-speech (TTS) system. It utilizes the powerful Piper TTS engine, which is optimized for Raspberry Pi 4, to generate high-quality synthesized speech.
License: MIT
Requires Python: <4.0,>=3.9


# **Dimits - Python Bindings for Piper TTS**


Dimits is a Python library that provides an easy-to-use interface to the Piper text-to-speech (TTS) system. It utilizes the powerful Piper TTS engine, which is optimized for Raspberry Pi 4, to generate high-quality synthesized speech.
> 
## Features

* Simple Python bindings for Piper TTS
* Support for multiple languages and voices
* Compatible with Raspberry Pi 3/4 and desktop Linux systems

## Installation 📥

You can install Dimits via pip:

```sh
pip install dimits
```

This will automatically install the necessary dependencies

## Quick Start 🏃🏻‍♀️

Here's a simple example of using Dimits to synthesize speech:

```python
from dimits import Dimits

# Initialize Dimits with the desired voice model
dt = Dimits("en_US-amy-low")

# Convert text to audio and play it using the aplay engine
dt.text_2_speech("Hello World", engine="aplay")
```

## Voices 🔊

Dimits supports all the voices available in the Piper TTS system. To use a specific voice, simply provide  corresponding `.onnx` file namepo initializing the `Dimits` class.

For a list of available voices and their download links, refer to the [Piper TTS repository](https://github.com/rhasspy/piper/releases/tag/v0.0.2).

## Usage 📃

### Initializing Dimits

To use Dimits, first create an instance of the `Dimits` class, providing the path to the desired voice model:

```python
from dimits import Dimits

dt = Dimits("en_US-amy-low")
```

### Synthesizing Speech

To synthesize speech and play on the go, simply call the `text_2_speech` method, providing the text to be synthesized and the desired engine:

```python
dt.text_2_speech("This is a test.",engine='aplay')
```

on other hand to synthesize speech and save it to the file, call `text_2_audio_file` finction providing `file_name` `dir` and `format`

```python
dt.text_2_audio_file("Hello World", "hello_world", "/path/to/output/directory/", format="wav")
```

### Changing Voices

To change the voice used for synthesis, create a new instance of the `Dimits` class with the desired voice model:

```python
# dt = Dimits("en_US-amy-low")
dt = Dimits("en_US-danny-low")
```
## TODO 📝
* ~~Implement windows compatible executible to run the voice models~~
* Support for multiple audio player engine
* Benchmark
* Documentation


## License 🪪

This project is licensed under the [MIT License](LICENSE).

## Acknowledgements
Dimits is based on the work of the [Piper](https://github.com/rhasspy/piper) project by [Rhasspy](https://rhasspy.readthedocs.io/en/latest/), and is made possible by the contributions of its developers and the open source community. Without their hard work and dedication, this project would not be possible.
rs1090 0.4.13
Python binding to rs1090, a library to decode Mode S and ADS-B signals
License: MIT
Requires Python: >=3.10
Keywords: aircraft, ADS-B, Mode-S, decoding

# rs1090

rs1090 is a Python binding to the [rs1090](https://docs.rs/rs1090/) Rust library to decode Mode S, ADS-B and FLARM messages. It takes its inspiration from the Python [pyModeS](https://github.com/junzis/pyModeS) library.

The direction ambitioned by rs1090 boils down to:

- improving the performance of Mode S decoding in Python;
- exporting trajectory data to cross-platform formats such as JSON or parquet;
- providing efficient multi-receiver Mode S decoding;
- serving real-time enriched trajectory data to external applications.

## Installation

```sh
pip install rs1090
```

## Usage

For single messages:

```pycon
>>> import rs1090
>>> rs1090.decode("8c4841753a9a153237aef0f275be")
{'df': '17', 'icao24': '484175', 'bds': '06', 'NUCp': 7, 'groundspeed': 17.0, 'track': 92.8125, 'parity': 'odd', 'lat_cpr': 39195, 'lon_cpr': 110320}
```

For batches of messages:

```pycon
>>> import rs1090
>>> rs1090.decode(msg_list)
...
>>> rs1090.decode(msg_list, ts_list)  # includes CPR to position decoding
...
>>> rs1090.decode(msg_list, ts_list, reference=(lat0, lon0))  # useful for surface messages
...
```

For FLARM messages (also as batches):

```pycon
>>> msg = "7bf2381040ccc7e2395ecaa28e033a655d47e1d91d0bf986e1b0"
>>> rs1090.flarm(msg, 1655279476, 43.61924, 5.11755)
{'timestamp': 1655279476,
 'reference_lat': 43.61924,
 'reference_lon': 5.11755,
 'icao24': '38f27b',
 'is_icao24': True,
 'actype': 'Glider',
 'latitude': 43.6812864,
 'longitude': 5.150585599999999,
 'geoaltitude': 970,
 'vertical_speed': 1.0,
 'groundspeed': 18.698261951315153,
 'track': 29.655457935479006,
 'no_track': False,
 'stealth': False,
 'gps': 129}
```