# syrus

Members

28

## Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

0

1. ## SAPI TTS(Text To Speach) Library

Copyright © 2007, Syrus Nemat-Nasser All rights reserved. Author: Syrus Nemat-Nasser --see readme file for contact information Description:: A simple set of Sub-VIs to efficiently implement text-to-speech in LabVIEW applications on Windows using the Microsoft Speech API (SAPI). Version History: 1.1.0: Updated SAPI Speak SubVI: SAPI Speak is now polymorphic, accepting either a text string or a file path (which should point to a text file containing text to speak). In addition, SAPI Speak now handles speech flags correctly thanks to code contributed by LAVA user 'jdunham' included in this release. 1.0.0: Initial release.

5. ## How can I set the initial value of a boolean indicator?

Another option is to go to VI Properties->Execution and select the "Clear indicators when called" option. This will set all indicators to their default values each time you run your VI.

7. ## separating two normal distributions

QUOTE(torekp @ Mar 27 2007, 04:34 AM) This is a pattern classification problem of the statistical machine learning variety. If you have the ability to collect a large amount of labeled examples, and the data source is stationary, then you can apply standard regression techniques to find an optimal parametric solution (e.g. if you assume normal distributions) or an optimal non-parametric solution (e.g. using a neural network approach). Your goal is to approximate p("good"|x) where x is an n-dimensional data vector and p("good"|x) is the probability that the data example is in class "good" given that x. In your diagram, x is a 2-dimensional vector. [in the two-class case, p("bad"|x) = 1 - p("good"|x), so it is not necessary to explicitly approximate both quantities.] Because you have an uneven cost function, you will add an additional weighting parameter to account for the different, i.e. greater, cost of labeling "bads" as "goods". If the cost was the same in each case, you would get the Bayes optimal classification accuracy by choosing the class with the maximum posterior probability, i.e. choose "good" if p("good"|x)>p("bad"|x). Reference: Neural Networks for Pattern Recognition by Chris Bishop (http://research.microsoft.com/%7Ecmbishop/nnpr.htm''>http://research.microsoft.com/%7Ecmbishop/nnpr.htm' target="_blank">http://research.microsoft.com/%7Ecmbishop/nnpr.htm)
8. ## Ergonomics and LabVIEW

I like Tomi's list. I do something else too--I use a different mouse and keyboard at work and at home. At work, I use a Microsoft 5-button optical mouse, and at home I use an earlier version of the Logitech 5-button optical mouse. I use a Dell quietkey at work, but use a Microsoft Natural Keyboard (the original MS ergonomic keyboard--not the "elite" which sucks). I find that drinking tea and water while working helps with the hourly breaks. I go to the restroom every hour by afternoon if I'm drinking enough fluids. QUOTE(Tomi Maila @ Mar 15 2007, 09:34 AM)
9. ## Time to install 8.2?

I started using 8.0.x sometime after it was available but before the 8.0.1 bugfix release. I have found 8.2 to be superior to 8.0.1. It starts up much faster for one thing, and I think a few annoyances were fixed. Two new features in 8.2 are LVOOP, which I have not yet used, and an import shared library wizard which I have used successfully (with some pain) to call functions from a proprietary C++ library under development at my company.
10. ## creating executables

Assuming you are using the Windows version of LabVIEW: Starting in LabVIEW 8.0, executables are built from a LabVIEW project. One must create a LabVIEW project that contains the top-level VI for the executable. Additional data files may be added to the project (even if they are not LabVIEW files). At the bottom of the Project->My Computer tree is a "Build Specifications" branch. Right click on "Build Specifications" and select New->Application (EXE) or New->Installer. As stated previously, you must have one of the Pro versions of LabVIEW to build executables. If you build an Installer, it will include the LabVIEW runtime engine.
11. ## Queue elements in 2D array form

In Jim's recent book, LabVIEW for Everyone (http://labviewforeveryone.com/), he provides an example of how to build your own queue using a functional global SubVI. This might be the best way to do what you want, but it's not necessarily simple unless you have experience with functional, i.e. LV2, globals. As I recall, the example is given in the appendix on graphical object-oriented programming (GOOP).
12. ## How to handle changing clusters

In addition to this, if you only bundle and unbundle "by name" in your VIs, you will not break them unless you remove something from the cluster in the typedef.
13. ## How to manage an error without stopping the vi

Yep. I have to agree that using the built-in exception handling of the General Error Handler.vi is the way to go. My little VI is not needed.
14. ## How to manage an error without stopping the vi

I have a small utility VI that allows me to trap a particular error and handle it silently. Here's a screenshot and the VI compiled for LabVIEW 8.0: Download File:post-3106-1164988495.vi
15. ## Large datalog files bug

In LabVIEW 8.20 on Windows, file pointers are 64-bit integers and files can be larger than 2GB. However, datalog files are limited to 2GB according to the release notes. Funny thing though: when I accidentally write a datalog file past the 2GB limit, no error is raised. The error occurs only when I try to read the file. If I read sequentially and reach the 2GB limit, an EOF error occurs. (I'm not going to post an example file for the obvious reason that posts over 2GB are not supported on LAVA. :laugh: ) I've been informed that R&D is aware of this issue, but that it is a low priority because not many people create large datalog files.
×