<h1 align="center">
WaveWhisper
</h1>
<p align="center">
<a href="https://pypi.org/project/WaveWhisper/"><img src="https://img.shields.io/pypi/dm/wavewhisper?label=PyPi downloads"/></a>
<a href="https://github.com/maxmmueller/WaveWhisper/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-Apache%202-blue"/></a>
</p>
<p align="center" style="font-size: 18px;">WaveWhisper is a lightweight Python library for steganographic encryption of text within the spectrogram of audio files.</p>
<p align="center">
<img src="https://raw.githubusercontent.com/maxmmueller/WaveWhisper/main/images/screenshot.png">
</p>
## Note
This project was originally created for the German competition [*Explore Science Mannheim 2022*](https://www.explore-science.info/downloads/esma2022datensicherheit.pdf) in the category *data security* where it was ranked 2nd. I then made some small changes to turn it into this open source library.
In my attempt to make this library as lightweight as possible, it can currently operate without any external dependencies.
## Installation
To access this library in Python, install the latest release from PyPi:
```
pip install wavewhisper
```
## Usage
Only capital letters of the english alphabet and spaces are supported.
#### Code example:
```python
from wavewhisper import Message
# Create a Message object with the desired text
message = Message("My secret text")
# Encrypt the message into an audio file by specifying the carrier path and output path
message.encrypt("song.wav", "encrypted.wav")
```
See the [documentation](https://github.com/maxmmueller/WaveWhisper/blob/main/docs.md) for more detailed usage instructions.
## Contributing
Contributions to this project are welcome!
If you encounter any problems, find a bug or have feature requests, please open an [issue](https://github.com/maxmmueller/wavewhisper/issues/new).
## Support
If you find this project helpful, consider supporting its development by making a donation:
<a href="https://www.buymeacoffee.com/maxmmueller" target="_blank">
<img src="https://raw.githubusercontent.com/maxmmueller/WaveWhisper/main/images/bmac.png" alt="Buy Me A Coffee" style="width: 140px;">
</a>
Raw data
{
"_id": null,
"home_page": "https://github.com/maxmmueller/wavewhisper",
"name": "WaveWhisper",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "audio, python, encryption, waveform, wav, steganography",
"author": "Maximilian M\u00fcller",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/67/2b/9ae293121867c0561f5ddbd6bdf2d223fb6386dac373a54809e8fb8e468d/wavewhisper-1.0.2.tar.gz",
"platform": null,
"description": "<h1 align=\"center\">\r\nWaveWhisper\r\n</h1>\r\n\r\n<p align=\"center\">\r\n<a href=\"https://pypi.org/project/WaveWhisper/\"><img src=\"https://img.shields.io/pypi/dm/wavewhisper?label=PyPi downloads\"/></a>\r\n<a href=\"https://github.com/maxmmueller/WaveWhisper/blob/main/LICENSE\"><img src=\"https://img.shields.io/badge/license-Apache%202-blue\"/></a>\r\n</p>\r\n\r\n<p align=\"center\" style=\"font-size: 18px;\">WaveWhisper is a lightweight Python library for steganographic encryption of text within the spectrogram of audio files.</p>\r\n\r\n\r\n<p align=\"center\">\r\n<img src=\"https://raw.githubusercontent.com/maxmmueller/WaveWhisper/main/images/screenshot.png\">\r\n</p>\r\n\r\n\r\n## Note\r\nThis project was originally created for the German competition [*Explore Science Mannheim 2022*](https://www.explore-science.info/downloads/esma2022datensicherheit.pdf) in the category *data security* where it was ranked 2nd. I then made some small changes to turn it into this open source library.\r\n\r\nIn my attempt to make this library as lightweight as possible, it can currently operate without any external dependencies.\r\n\r\n\r\n## Installation\r\nTo access this library in Python, install the latest release from PyPi:\r\n```\r\npip install wavewhisper\r\n```\r\n\r\n## Usage\r\nOnly capital letters of the english alphabet and spaces are supported.\r\n\r\n#### Code example:\r\n```python\r\nfrom wavewhisper import Message\r\n\r\n# Create a Message object with the desired text\r\nmessage = Message(\"My secret text\")\r\n\r\n# Encrypt the message into an audio file by specifying the carrier path and output path\r\nmessage.encrypt(\"song.wav\", \"encrypted.wav\")\r\n```\r\n\r\nSee the [documentation](https://github.com/maxmmueller/WaveWhisper/blob/main/docs.md) for more detailed usage instructions.\r\n\r\n\r\n## Contributing\r\nContributions to this project are welcome!\r\n\r\nIf you encounter any problems, find a bug or have feature requests, please open an [issue](https://github.com/maxmmueller/wavewhisper/issues/new).\r\n\r\n\r\n## Support\r\nIf you find this project helpful, consider supporting its development by making a donation:\r\n\r\n<a href=\"https://www.buymeacoffee.com/maxmmueller\" target=\"_blank\">\r\n <img src=\"https://raw.githubusercontent.com/maxmmueller/WaveWhisper/main/images/bmac.png\" alt=\"Buy Me A Coffee\" style=\"width: 140px;\">\r\n</a>\r\n",
"bugtrack_url": null,
"license": "Apache License 2.0",
"summary": "Steganographic encryption within audio spectrograms",
"version": "1.0.2",
"project_urls": {
"Homepage": "https://github.com/maxmmueller/wavewhisper"
},
"split_keywords": [
"audio",
" python",
" encryption",
" waveform",
" wav",
" steganography"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "a66437c9e0865101faeab7b279b2a7502b9d8948d7e1e7d80e4076fe63b72137",
"md5": "6bf00969995e1f8c580edbfe922619d8",
"sha256": "27ec8b1280ff4ebfdb72fa7555ea8eec1f606af1663986f63d1e8bc5532d97f5"
},
"downloads": -1,
"filename": "WaveWhisper-1.0.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "6bf00969995e1f8c580edbfe922619d8",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 9460,
"upload_time": "2024-08-21T08:14:08",
"upload_time_iso_8601": "2024-08-21T08:14:08.162472Z",
"url": "https://files.pythonhosted.org/packages/a6/64/37c9e0865101faeab7b279b2a7502b9d8948d7e1e7d80e4076fe63b72137/WaveWhisper-1.0.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "672b9ae293121867c0561f5ddbd6bdf2d223fb6386dac373a54809e8fb8e468d",
"md5": "c83e93fc8d7d0e50ed62dc139b6ec57a",
"sha256": "f26454a8230f56db136a1d39d6e7935d5a94a1702ba5da153e4ec61fdc5c2b15"
},
"downloads": -1,
"filename": "wavewhisper-1.0.2.tar.gz",
"has_sig": false,
"md5_digest": "c83e93fc8d7d0e50ed62dc139b6ec57a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 8489,
"upload_time": "2024-08-21T08:14:09",
"upload_time_iso_8601": "2024-08-21T08:14:09.336683Z",
"url": "https://files.pythonhosted.org/packages/67/2b/9ae293121867c0561f5ddbd6bdf2d223fb6386dac373a54809e8fb8e468d/wavewhisper-1.0.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-08-21 08:14:09",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "maxmmueller",
"github_project": "wavewhisper",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "wavewhisper"
}