Package: wav2bin
# Kodimer_Project (or WAV2BIN)<img alt=”WAV2BIN” src=”https://user-images.githubusercontent.com/22926257/36070629-58ab0984-0ebc-11e8-96fe-b7bbd684c1e5.gif” width=”200” height=”200” />Program to be used concurrently with Dennis Kodimer’s CEC 222 lab. Features include:Drawing / Creating WaveformsManipulating WaveformsStoring Multiple WaveformsExporting Waveforms## Getting StartedThese instructions will help get you a copy of the project up and running on your local machine.### PrerequisitesThis program runs onPython 3.xwith the following required packages (also inrequirements.txt:` matplotlib numpy scipy `For Mac Users: Included is aMakefile, which can be used to download the dependencies by simply executingmake init### InstallingTo run this, simply use:#### Windowspy -3 wav2binsrc#### Macpython3 wav2binsrcFor Mac Users: Included is aMakefile, which can be used to run the program by simply executingmake run## Usage
Here are some helpful tips and pointers on how to use the software.### Drawing / Creating Waveforms
When the program is first run, a window should appear like this:![Starting Screen](https://user-images.githubusercontent.com/22926257/36080118-9f369f12-0f48-11e8-98ad-2049f3d4775b.png)There are two ways to generate a waveform:DrawingCreating#### Drawing Waveforms
Simply move the mouse from left-to-right on the plot to begin drawing a waveform.Example:![Currently Drawing Waveform](https://user-images.githubusercontent.com/22926257/36080162-1cb9955c-0f49-11e8-9aa5-4f3a41a5df9b.png)When the right-edge is reached, a complete waveform should be visible.![Finished Drawing Waveform](https://user-images.githubusercontent.com/22926257/36080199-ad47d1ec-0f49-11e8-9a2d-03f67ed8404f.png)Note:Drawing is disabled when a waveform has been drawn or created. To re-enable this, simplyClearthe waveform.#### Creating Waveforms
Using the premade options at the bottom (located underUtilize Other Graphs) …![screen shot 3](https://user-images.githubusercontent.com/22926257/36080220-f3f29258-0f49-11e8-962e-c61458bcf796.png)It is possible to create different pre-made waveforms. All that is required is:Enter value forCycles(Positive Float)Select eitherMix FunctionorOverwrite FunctionMix Functionis additive (will add waveform on top of currently made waveform).Overwrite Functionis replacement (will overwrite waveform in place of currently made waveform).Example:Sine: 3 Cycles with Overwrite Function![Sine: 3 Cycles with Overwrite Function](https://user-images.githubusercontent.com/22926257/36080270-cfac879a-0f4a-11e8-964e-baf9675182ba.png)Example:Random: 2.5 Cycles with Mix Function![Random: 2.5 Cycles with Mix Function](https://user-images.githubusercontent.com/22926257/36080282-0650a7f4-0f4b-11e8-9f84-ec5c5dd880d6.png)### Manipulating Waveforms
The basic properties of a waveform can be manipulated as well. These can be found underBasic Graph Properties:Frequency (Positive Integer)Amplitude (Float)Level (Float)Simply enter a value and hit the return key.Example:Level: -105![Level: -105](https://user-images.githubusercontent.com/22926257/36080359-39f43b7e-0f4c-11e8-8fe8-2c8a29248e6a.png)Example:Frequency: 3![Frequency: 3](https://user-images.githubusercontent.com/22926257/36080367-58e06f4e-0f4c-11e8-8908-e401794af41f.png)In both cases, theClearoption should reset the waveforms to nothing.### Storing Multiple Waveforms
Many waveforms can be stored and manipulated in this program (up to 32 total). Each is unique and separate from one another:![Multiple Waveforms](https://user-images.githubusercontent.com/22926257/36080388-a1db50d8-0f4c-11e8-803f-14c01fdd309b.png)WhenCreating Waveforms, another waveform can be referenced for usage.Example:Let’s say that this waveform is drawn underWaveform 1:![Waveform 1](https://user-images.githubusercontent.com/22926257/36080416-02cd22c2-0f4d-11e8-9866-7de3ebb5ed6b.png)Going toUtilize Other Graphs→Functions, by selectingWaveform, another option box appears with values 0 - 31; these are the other waveforms that can be accessed.Make sure thatWaveform 0is selected and enter2 Cycles. SelectMix Functionand the result should be as follows:![Mix Another Waveform](https://user-images.githubusercontent.com/22926257/36080476-fef6df20-0f4d-11e8-9cb2-9a5caaa30234.png)### Exporting Graphs
Once satisfied with the waveforms, they can all be exported to a.binfile. Simply selectExportat the bottom. (There’s an option to print to.pdffollowing selectingExport).When exporting, there should be a screen of all the binary being sent to the file in hexadecimal form:![Binary Waveforms](https://user-images.githubusercontent.com/22926257/36080508-7848e3e6-0f4e-11e8-8353-bfca71e7147f.png)Followed by the produced.binfile.If a.pdfwas generated, it should look something like this:![Pdf Waveforms](https://user-images.githubusercontent.com/22926257/36080557-0445dce6-0f4f-11e8-8455-339d21ef0002.png)## AuthorsJoshua Van Deren-Initial work- [jvanderen1](https://github.com/jvanderen1)## LicenseThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details