1SPECTROGRAPHIC(1)               spectrographic               SPECTROGRAPHIC(1)
2
3
4

NAME

6       spectrographic - spectrographic unknown
7
8       This is the documentation of spectrographic.
9
10       NOTE:
11          This is the main page of your project's Sphinx documentation.  It is
12          formatted in reStructuredText.  Add  additional  pages  by  creating
13          rst-files  in  docs  and adding them to the toctree below.  Use then
14          references in order to link them from this page, e.g.   authors  and
15          changes.
16
17          It  is  also  possible to refer to the documentation of other Python
18          packages with the Python domain syntax. By default you can reference
19          the  documentation  of  Sphinx,  Python,  NumPy,  SciPy, matplotlib,
20          Pandas, Scikit-Learn. You can  add  more  by  extending  the  inter‐
21          sphinx_mapping in your Sphinx's conf.py.
22
23          The pretty useful extension autodoc is activated by default and lets
24          you include documentation from docstrings. Docstrings can be written
25          in Google style (recommended!), NumPy style and classical style.
26

CONTENTS

28   License
29       The MIT License (MIT)
30
31       Copyright (c) 2019 Levi Borodenko
32
33       Permission is hereby granted, free of charge, to any person obtaining a
34       copy of this software and associated documentation  files  (the  "Soft‐
35       ware"),  to deal in the Software without restriction, including without
36       limitation the rights to use, copy, modify, merge, publish, distribute,
37       sublicense,  and/or  sell copies of the Software, and to permit persons
38       to whom the Software is furnished to do so, subject  to  the  following
39       conditions:
40
41       The above copyright notice and this permission notice shall be included
42       in all copies or substantial portions of the Software.
43
44       THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
45       OR  IMPLIED,  INCLUDING  BUT  NOT  LIMITED  TO  THE  WARRANTIES OF MER‐
46       CHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN
47       NO  EVENT  SHALL  THE  AUTHORS  OR  COPYRIGHT HOLDERS BE LIABLE FOR ANY
48       CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN  ACTION  OF  CONTRACT,
49       TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFT‐
50       WARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
51
52   Contributors
53       • Levi Borodenko <Levi.borodenko@gmail.com>
54
55   Changelog
56   Version 0.8.0
57
58
59         The core implementation is done
60
61                • base.py contains a working implementation
62
63                of the spetrographic idea.
64
65       • Created some examples.
66
67       • Adding requirements
68
69   Version 0.8.1
70       • Wrote README.md
71
72       • test upload to testpypi
73
74       • create demonstrational video
75
76   Version 0.8.5
77       • quick fix of centering in README.md
78
79   Version 0.8.6
80       • added gitpython as dependency
81
82   Version 0.8.7
83       • removed dependencies from config file and moved to requirements
84
85   Version 0.9.0
86       • Release
87
88       • upload to the official pypi and making github repo public.
89
90   Version 0.9.3
91       • Put dependencies into setup.cfg so pip can pull them while installing
92
93   spectrographic
94   spectrographic package
95   Submodules
96   spectrographic.base module
97       class spectrographic.base.ColumnToSound(duration: int, sample_rate: int
98       =  44100,  min_freq:  int = 10000, max_freq: int = 17000, y_resolution:
99       int = 1000, num_tones: int = 3, contrast: float = 5)
100              Bases: object
101
102              Class to turn grey-scale image columns into a sound.
103
104              It takes a numpy array of grey intensities (in the range 0 to 1)
105              of  length  Y_RESOLUTION  and turns them into a DURATION seconds
106              long sound in the frequency range between MIN_FREQ and MAX_FREQ.
107
108              Parameters
109                     {int} -- Duration of sound in seconds (duration) --
110
111              Keyword Arguments
112
113{int} -- Sample rate of sound (default (sample_rate) --
114                       {44100})
115
116{int}   --   Minimal   frequency  in  the  spectrograph
117                       (min_freq) --
118
119(default -- {10000})
120
121{int}  --  Maximal  frequency   in   the   spectrograph
122                       (max_freq) --
123
124(default -- {17000})
125
126{int}  --  Number of pixels to plot (default (y_resolu‐
127                       tion) -- {1000})
128
129{int} -- Number of tones to use to fill out each  pixel
130                       (num_tones) --
131
132(default -- {3})
133
134{float} -- Contrast between loud and quiet pixels (con‐
135                       trast) --
136
137(default -- {5})
138
139              gen_soundwall(column: numpy.ndarray)
140                     Takes a column of pixels and generates the sound wall.
141
142                     [description]
143
144                     Parameters
145
146{np.ndarray}  --  Y_RESOLUTION  long  column  of
147                              (column) --
148
149pixels (values between 0 and 1) --
150
151                     Returns
152                            np.ndarray -- soundwall
153
154              pixel_to_sound(y: int, intensity: float = 1)
155                     Takes  a  pixel  in  a imagae column at the y'th position
156                     from the top and turns it into a sound at a corresponding
157                     position in the spectrum.
158
159                     [description]
160
161                     Parameters
162                            {int} -- position of pixel in column from the top.
163                            (y) --
164
165                     Keyword Arguments
166                            {float} -- [description] (default  (intensity)  --
167                            {1})
168
169                     Returns
170                            np.ndarray -- sound array
171
172                     Raises ValueError --
173
174       class  spectrographic.base.SpectroGraphic(path:  pathlib.Path,  height:
175       int = 100, duration: int = 20, min_freq: int = 1000,  max_freq:  int  =
176       8000,  sample_rate:  int = 44100, num_tones: int = 3, contrast: float =
177       5, use_black_and_white: bool = False)
178              Bases: object
179
180              Takes an image file and creates a sound that draws that image on
181              a spectrogram.
182
183              [description]   :param  path  {Path}  --  Path  to  file  (e.g.:
184              {"./data/python.png"})
185
186              Keyword Arguments
187
188{int} -- y-resolution in spectrogram (default  (height)
189                       -- {100})
190
191{int}  --  duration of sound in seconds (default (dura‐
192                       tion) -- {20})
193
194{int} -- minimal freq. for image (default (min_freq) --
195                       {1000})
196
197{int} -- maximal freq. for image (default (max_freq) --
198                       {8000})
199
200{int} -- Sample rate (default (sample_rate) -- {44100})
201
202{int} -- Number of tones to used to fill in each  pixel
203                       (num_tones) --
204
205(default -- {3})
206
207{float} -- Contrast between loud and quiet pixels (con‐
208                       trast) --
209
210(default -- {5})
211
212              play() Plays the SpectroGraphic sound.
213
214              save(wav_file: pathlib.Path = 'SpectroGraphic.wav')
215                     saves the spectrographic to a .wav file
216
217                     We use the wavio module
218
219              property sound_array
220
221   spectrographic.cli module
222       This is a skeleton file that can serve as a starting point for a Python
223       console script. To run this script uncomment the following lines in the
224       [options.entry_points] section in setup.cfg:
225
226          console_scripts =
227                 spectrographic = spectrographic.cli:run
228
229       Then run python setup.py install which will install the  command  spec‐
230       trographic inside your current environment.
231
232       spectrographic.cli.main(args)
233              Main entry point allowing external calls
234
235              Parameters
236                     args ([str]) -- command line parameter list
237
238       spectrographic.cli.parse_args(args)
239              Parse command line parameters
240
241              Parameters
242                     args  ([str])  --  command  line  parameters  as  list of
243                     strings
244
245              Returns
246                     command line parameters namespace
247
248              Return type
249                     argparse.Namespace
250
251       spectrographic.cli.run()
252              Entry point for console_scripts
253
254   Module contents

INDICES AND TABLES

256       • genindex
257
258       • modindex
259
260       • search
261

AUTHOR

263       unknown
264
266       2021, Levi Borodenko
267
268
269
270
271unknown                          Jan 27, 2021                SPECTROGRAPHIC(1)
Impressum