From 18fdd0ff49502a2136f40f8ae42b41547401b781 Mon Sep 17 00:00:00 2001 From: Aditya Bawankule Date: Sat, 28 Jan 2017 00:45:59 -0600 Subject: [PATCH 1/2] Added information about Stereo Mix to ReadMe Also added images to help --- README.md | 11 +++++++++++ images/stereo-enable.png | Bin 0 -> 35365 bytes images/stereo-show.png | Bin 0 -> 20929 bytes 3 files changed, 11 insertions(+) create mode 100644 images/stereo-enable.png create mode 100644 images/stereo-show.png diff --git a/README.md b/README.md index 38d765c..5dd5c57 100644 --- a/README.md +++ b/README.md @@ -164,6 +164,17 @@ defaults.ctl.card 1 defaults.pcm.card 1 ``` +On a PC, the program will default to using the defualt microphone. If your chipset supports it, you can setup Stereo Mix to easily visualize audio playing on your computer. + +![show-stereomix](images/stereo-show.png) + +Go to recording devices under Windows Sound settings, and select "Show Disabled Devices". + +![enable-stereomix](images/stereo-enable.png) + +Enable the one labelled Stereo Mix. (You may have to restart visualization.py afterwards) + +If it does not appear, your chipset may not support and you will have to use thirdparty software. [Voicemeeter](http://vb-audio.pagesperso-orange.fr/Voicemeeter/) is one option. ## Test the LED strip 1. cd rpi_ws281x/python/examples 2. sudo nano strandtest.py diff --git a/images/stereo-enable.png b/images/stereo-enable.png new file mode 100644 index 0000000000000000000000000000000000000000..e32eb90ccb97b722655dea8da34d8238d6c5bdae GIT binary patch literal 35365 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 M)w+SG(69^rC)0(!>;M1& literal 0 HcmV?d00001 From bbe8acff7763d4089ee13b080bb7e3f81223b2bd Mon Sep 17 00:00:00 2001 From: Scott Lawson Date: Sat, 28 Jan 2017 17:39:16 -0800 Subject: [PATCH 2/2] Add new section to provide into about audio device Move Stereo Mix info into a new section called "Audio Input". Add some additional information about virtual audio devices for Linux and OSX as well. Add new block diagram showing the different input topologies. --- README.md | 41 ++++++++++++++++++++++++++++++----------- 1 file changed, 30 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 5dd5c57..3564aeb 100644 --- a/README.md +++ b/README.md @@ -164,17 +164,6 @@ defaults.ctl.card 1 defaults.pcm.card 1 ``` -On a PC, the program will default to using the defualt microphone. If your chipset supports it, you can setup Stereo Mix to easily visualize audio playing on your computer. - -![show-stereomix](images/stereo-show.png) - -Go to recording devices under Windows Sound settings, and select "Show Disabled Devices". - -![enable-stereomix](images/stereo-enable.png) - -Enable the one labelled Stereo Mix. (You may have to restart visualization.py afterwards) - -If it does not appear, your chipset may not support and you will have to use thirdparty software. [Voicemeeter](http://vb-audio.pagesperso-orange.fr/Voicemeeter/) is one option. ## Test the LED strip 1. cd rpi_ws281x/python/examples 2. sudo nano strandtest.py @@ -184,6 +173,36 @@ If it does not appear, your chipset may not support and you will have to use thi ## Configure the visualization code In `config.py`, set the device to `'pi'` and configure the GPIO, LED and other hardware settings. + +# Audio Input +The visualization program streams audio from the default audio input device (set by the operating system). Windows users can change the audio input device by [following these instructions](http://blogs.creighton.edu/bluecast/tips-and-tricks/set-the-default-microphone-and-adjust-the-input-volume-in-windows-7/). + +Examples of typical audio sources: +* Audio cable connected to the audio input jack (requires USB sound card on Raspberry Pi) +* Webcam microphone, headset, studio recording microphone, etc + +## Virtual Audio Source +You can use a "virtual audio device" to transfer audio playback from one application to another. This means that you can play music on your computer and connect the playback directly into the visualization program. + +![audio-input-sources](images/audio-source.png) + +### Windows +On Windows, you can use "Stereo Mix" to copy the audio output stream into the audio input. Stereo Mix is only support on certain audio chipsets. If your chipset does not support Stereo Mix, you can use a third-party application such as [Voicemeeter](http://vb-audio.pagesperso-orange.fr/Voicemeeter/). + +![show-stereomix](images/stereo-show.png) + +Go to recording devices under Windows Sound settings (Control Panel -> Sound). In the right-click menu, select "Show Disabled Devices". + +![enable-stereomix](images/stereo-enable.png) + +Enable Stereo Mix and set it as the default device. Your audio playback should now be used as the audio input source for the visualization program. If your audio chipset does not support Stereo Mix then it will not appear in the list. + +### Linux +Linux users can use [Jack Audio](http://jackaudio.org/) to create a virtual audio device. + +### OSX +On OSX, [Loopback](https://www.rogueamoeba.com/loopback/) can be use to create a virtual audio device. + # Running the Visualization Once everything has been configured, run [visualization.py](python/visualization.py) to start the visualization. The visualization will automatically use your default recording device (microphone) as the audio input.