Guiding/overseeing program

blueMasterFlows

Beta member
Messages
3
Hi everybody! New poster here, old user name, and I'm looking for something special.

I'm a second year computer science major attending University, and I'm looking to extend myself beyond the limited studies I have completed so far.

What I need is a program. I would be willing to program it myself, although I have only taken Java so far, and I feel this may extremely limit me as far as the scope of what I can do. And I'm sort of hoping that what I'm looking for already exists out there. When I think about it in my head, it seems like a program that would be extremely common. So here goes.

The program is mainly to be a guiding system. What it will do is(example): Receieve input

from the internet in the form of a single file. Inside the file will be two pieces of

information, an audio file, and a text file. All I need my guiding program to do is walk

these pieces of information along a path, where they change as they go along. So imagine

the file is receieved, and it parses the file into it's two pieces, sound and text. It then

takes the sound, and shoves it into another program that enhances the volume of the sound.

The guiding program has nothing to do with the actual enhancing of the volume, it just

shoves the audio into the existing program, and then waits at the other end for the new

changed file to come out. Basically that is the whole idea of the program I need. It just

guides something along, throughout it's changes, and then when finished, it packages it up

in a file again, and ships it back through the web to it's origin.

Is there any existing program out there that could do something like I've described here?

Like I said, I would be willing to build it from scratch, but it seems like something so

common, and I feel no reason to reinvent the wheel.

Thanks for reading, and I hope some of you have an answer for me!

Ryan Gallagher


P.S- I wasn't sure where to put this as it seems to encompass a range of topics.
 
I'm not quite sure what you're asking - you want a sound file and a text file to be modified according to a set of instructions? What format will these instructions be in, or will they be hardcoded into the program?
 
Not exactly. Forget the text file for now. I want the program to act like a conveyor belt. It would take the audio file, and move it along the conveyor belt to a station, which would then work on the audio file, and be independent of the conveyor belt. When the audio file was finished at the station, the conveyor belt would be there ready to move it along to the next station. Hope that makes it a little clearer?
 
What format are these "stations" in? Web services, programs on the PC, or what? As long as the "stations" are in recognised formats and not some obscure thing that hasn't been used in a decade then it should be pretty trivial to knock something like that together (Java would be more than up to the task.)
 
The stations would be programs on the server. So say I wanted to convert the audio to text. The guiding program takes the audio file (for example a .wav) and converts it to text by feeding it into the speech-to-text program. Then the guiding program picks up the text output and moves it along to the next station. That's a piece of my puzzle. You think that's pretty simple?
 
Yes. You're program won't actually be that complicated (in principle). All you need to do is File I/O. This could vary in complexity, but basically what you are proposing is system automation and application integration. I don't know if I would do it the way you are suggesting, but it would (in theory) work.

A couple of pitfalls with this method:
Presumably you will be dropping the received file in a directory. How do you tell the speech-to-text application that there is a file there?
Likewise, how do you know when the speech-to-text application is done with the file.

I would say for the second question the answer is to simply poll the directory the file is being placed in every x time interval. Which is fine, but if you are monitoring the file at say, 7 points and polling each time in a different directory, and then perhaps you take in more than one file at a time, or your program gets hit with several subsequent files, you may run into all kinds of nasty problems.

I don't know what system you will be running this on or if your environment is heterogeneous, but .NET (if you're looking for something to get off the ground quickly with minimal coding) would most likely be the best option. Unlike Java, it is tightly linked to System I/O (on a windows machine that is) and makes thinks like writing to the event log, notifying you of failures via e-mail as well as performance gains (as a result of the closeness of the CLR to the filesystem). That part is just my opinion and I'm sure you can do this in Java, or just about any other language you would want.

I don't know of a program that does this, but I would look for some open source libraries, or jar files if you're using java that do speech-to-text and implement that in your program. You will save a lot of headaches this way.
 
In short I agree with the above. I mentioned Java because it seems he already has an understanding of it and it'd do the job without any issues - but as Daeva said, near enough any language will accomplish this.

I also agree that finding libraries to do the text to speech bits and so forth would be a much better solution if you can do things that way (much neater and more elegant from a programming perspective too, none of that nasty polling.) Another potential stumbling block is that while the program will be able to launch these applications without a problem, it can only pass them command line arguments and won't be able to interface with them directly - so the programs you choose must be able to read in the file, process it and output it to another file without any user interaction at all. (It's possible that you could do some user interaction, yes, but it makes things a stupid amount more complicated and horrible.)
 
Back
Top Bottom