At A Glance Main Projects Tutorials Resume


There currently is no messenger. Manually, you can contact me via:

Google Talk: palen1c at

Twitter: @Technogumbo

Say Search Show with Kinect For Windows Support

Version 1.0.1 in action.


Say Search Show Version 1.0.3 (1012k)
Windows Vista, Windows 7, Windows 8

In Summary

Say search show is a fun application that allows users to search the full plethora of Flickr with simple voice commands. It was designed for display on projectors or large format monitors in creative public spaces.

Using the display is as simple as uttering the words.. “Kinect Show” followed by any search term you can think of. A recognized command will unleash a full search of Flickr. If results are found, they are randomly displayed on the application using completely random ordering and positioning.

Say search show was designed based on experience with public displays in order to prevent screen burn in. This allows you to safely run Say Search Show for hours without worrying about your equipment.

Searching during a recognized voice command.


You're going to need:
Windows Vista or Higher
.NET Framework Version 4

Support For Kinnect For Windows

Kinect for Windows is not required, but is fully supported in this application. The microphone array in Kinect for Windows provides greatly increased voice recognition capabilities. If you don't have a Kinect For Windows, it's no big deal. A standard microphone will do the job as long as the levels are well adjusted.

Configuration Options

Setting configuration options are not necessary, but there are a few items available. Currently, configuration is handled by an xml file. In the directory that you install the application to, there will be an accompanying "SaySearchShow.exe.config" file. The available options are as follows:
  1. textDelayTimeinSec – The time that it takes the voice recognition and search text to fade off screen at the top of the application.
  2. photoDisplayTimeMinSec – The minimum amount of time in seconds a photo will be displayed before a new photo is loaded. A value is randomly chosen for each photo between the photoDisplayTimeMinSec and photoDisplayTimeMaxSec settings.
  3. photoDisplayTimeMaxSec – The maximum amount of time in seconds a photo will be displayed before a new photo is loaded. A value is randomly chosen for each photo between the photoDisplayTimeMinSec and photoDisplayTimeMaxSec settings.
  4. maximumDownloadTimeoutSec – No matter what, at times the Flicker photo servers will not respond. This is the maximum period to wait while trying to download a new photo before giving up.
  5. imageScaleMultiplier – All photos in this experience are downloaded at a 640x480 optimal size, some will differ, but for the most part that is what is targeted. On larger and higher resolution displays, photos may seem small at their default resolutions. This value can be used to enlarge or shrink photos in the application for optimal display. An example of how this value affects the size of photos is as follows: A 640x250 photo with an imageScaleMultiplier of 1.7 will make the photo be displayed at a size of: 1088x425. The same 640x250 image with an imageScaleMultiplier of 0.45 will be displayed at: 288x112.5.
How to set configuration options: Open the SaySearchShow.exe.config file in a text editor such as notepad. The configuration file has a complex structure that is important that you keep in tact.

For each setting, you will see a distinct "value" inside of the xml nodes. This is where you change the setting and save the file. For example, looking at the photoDisplayTimeMinSec setting:
<setting name="photoDisplayTimeMinSec" serializeAs="String">

Currently, it is set to 5 in my example. If I wanted to change it to 10, the entry should be changed to:

<setting name="photoDisplayTimeMinSec" serializeAs="String">

After making a change, save the "SaySearchShow.exe.config" file, and re-start the application.

External Projects Used

A recognized search for Halloween while currently showing pictures of Boston.
This application has been a fun instead of painful experience because it is built on the backs of giants. The other software used in this project are as follows:
Flikr InteractionFlikrNet 3.4
Speech RecognitionMicrosoft Speech Platform
Kinect SupportKinect For Windows



  1. Default display times reduced from upwards of 20 seconds to 2 to 5 seconds.
  2. Changed the way photos are searched to include title instead of just tags


  1. Project open sourced using Github.
  2. Added intro screen when the application starts.
  3. Commented lines removed from many files for clean up before publishing.


  1. Adds green or red coloring to search term hypothesis phrases to know if they were recognized or not.
  2. Removes the audio level indicator when using a Kinect For Windows sensor.

Known Bugs

  1. There is a bug in the 1.0 alpha release where the application randomly crashes. The root cause is unknown.
  2. When using a Kinect For Windows audio levels are not displayed.
  3. When using a Kinect For Windows the requirement of first saying "Kinect Show" before a search is preformed may not be present.
Please help improve this software by reporting anything you find out using the comments on this page.

Charles Palen has been involved in the technology sector for several years. His formal education focused on Enterprise Database Administration. He currently works as the principal software architect and manager at Transcending Digital where he can be hired for your next contract project. Charles is a full stack developer who has been on the front lines of small business and enterprise for over 10 years. Charles current expertise covers the areas of .NET, Java, PHP, Node.js, Javascript, HTML, and CSS. Charles created Technogumbo in 2008 as a way to share lessons learned while making original products.


April 24, 2013 12:05 am

Awesome Job Charles!

Comments are currently disabled.