Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hassaku/audio-plot
Python library to converts a line graph to sound and return an object that can be played in Jupyter notebook or Google Colab. Values are represented by pitches, and the timeline is represented by left and right pans. It was created to make data science fun for the visually impaired.
https://github.com/hassaku/audio-plot
audio-plot colab data-science jupyter-notebook python visually-impaired
Last synced: 4 days ago
JSON representation
Python library to converts a line graph to sound and return an object that can be played in Jupyter notebook or Google Colab. Values are represented by pitches, and the timeline is represented by left and right pans. It was created to make data science fun for the visually impaired.
- Host: GitHub
- URL: https://github.com/hassaku/audio-plot
- Owner: hassaku
- License: mit
- Created: 2020-08-06T07:15:12.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2021-04-24T09:40:27.000Z (almost 4 years ago)
- Last Synced: 2025-02-14T07:37:31.966Z (7 days ago)
- Topics: audio-plot, colab, data-science, jupyter-notebook, python, visually-impaired
- Language: Jupyter Notebook
- Homepage: https://hassaku.github.io/audio-plot/
- Size: 2.49 MB
- Stars: 12
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
**This library is already unmaintained. Please check the following new library that is in development.**
https://github.com/hassaku/audio-plot-lib
----
[](https://travis-ci.org/hassaku/audio-plot)
Converts a line graph to sound and returns an object that can be played
in Jupyter notebook or Google Colab.Values are represented by pitches, and the timeline is represented by left and right pans.
It was created to make data science fun for the visually impaired.
# Dependency
ffmpeg library is needed to provide a descriptive guide to the graph.
## Google Colab
No additional installation is required.
## Linux
```
$ sudo apt-get install libavformat-dev libavfilter-dev libavdevice-dev ffmpeg
```## Others
It's under investigation. If you know of any, please make a pull request. Thanks.
# Install
```
$ pip install audio-plot # !pip install audio-plot for Colab or Notebook
```# Usage
See and run demo notebook also. [](https://colab.research.google.com/github/hassaku/audio-plot/blob/master/demo.ipynb)
```
y = np.sin(np.arange(0, np.pi*2, 0.1))
yy = np.array([y, -y]).T
plot(yy) # audio control will be appeared on notebook.
```[The audio is as follows for this example]
```
tts > minimum value is -1.0
(Low sinusoidal sound)
tts > maximum value is 1.0
(High sinusoidal sound)
tts > line 1
(Sound in response to changes in the line 1 graph)
tts > line 2
(Sound in response to changes in the line 2 graph)
```[Example Results Page](https://hassaku.github.io/audio-plot/)
# Supplement
If using Jupyter Notebook with a screen reader is inconvenient for you, you may want to consider using the following NVDA add-on.
https://github.com/mltony/nvda-browser-nav
# Use in script
```
from pydub.playback import play# generate graph sound
audio = audio_plot.plot(two_inverted_sin)# play
play(audio)# save to audio file
audio.export("graph.wav", format="wav")
```# For contributer
## Update PyPI
```
$ nosetests -vs
$ pip install twine # if necessary
$ cat ~/.pypirc # if necessary
[distutils]
index-servers = pypi[pypi]
repository: https://upload.pypi.org/legacy/
username: YOUR_USERNAME
password: YOUR_PASSWORD
$ rm -rf audio_plot.egg-info dist # if necessary
$ python setup.py sdist
$ twine upload --repository pypi dist/*
$ pip --no-cache-dir install --upgrade audio-plot
```https://pypi.org/project/audio-plot/
## Contributing
- Fork the repository on Github
- Create a named feature branch (like add_component_x)
- Write your change
- Write tests for your change (if applicable)
- Run the tests, ensuring they all pass
- Submit a Pull Request using Github# License
MIT