BBC BASIC for Windows
General >> General Board >> Paid Work for Programmer Assistance
http://bb4w.conforums.com/index.cgi?board=general&action=display&num=1408701297

Paid Work for Programmer Assistance
Post by Kipper on Aug 22nd, 2014, 09:54am


Dear all,

I have some funds to pay someone to help in a variety of small software projects. So if interested, please read on, and be prepared to name a (reasonable) price! Here are three examples of things that would help me:

1. I use Nuance Dragon Naturally Speaking. This software normally takes in speech from Soundcard and converts to text. However, it also has commands which allow the user to convert text back to spoken speech using speech synthesiser. I would like to be able to force that code to do this within a BBC programme by supplying a string ($) to it. I am looking to send the string to Dragon (or to any other speech synthesiser) that has a relatively natural sounding voice. If you can suggest solution then let me know.

2. I am looking for help in creating configurable wavelet analysis which also allows me to define phase of a specified bandwidth at a precise point in time in a waveform.

3. An ULTRA fast FFT that will run on a RISC PC which enables forward and inverse solutions. I want to grab a specific frequency (e.g. 10Hz, 40Hz) from real time input to ADC and determine the phase of the incoming signal as fast as possible (I know there will logically be a delay but still want it to be ultra fast). Please note this code should run on a RISC PC! If interested I will tell you how fast my existing code runs to see if you can improve on it.

My email address is in the members area.

Thanks

Kipper






Re: Paid Work for Programmer Assistance
Post by David Williams on Aug 22nd, 2014, 1:52pm

on Aug 22nd, 2014, 09:54am, Kipper wrote:
3. An ULTRA fast FFT that will run on a RISC PC which enables forward and inverse solutions.


Is an "ULTRA fast FFT" even feasible on a RISC PC? Maybe it's just about do-able on a StrongARM-based RPC, but an ARM6/700? Is there sufficient horsepower? I would doubt there's anyone around any more with the ARM coding skills to achieve such a thing, but I may well be wrong. 99% of the top-flight coders left the RISC OS scene years ago. One possibility is to see if the C source code for FFTW (Fastest Fourier Transform in the West) could be compiled for your specific ARM CPU, perhaps using Acorn's C compiler which was (reputedly) very good, but surely couldn't generate the quality of code that modern compilers can. ARM's C compiler might (and probably will) do a good job, but I did read a year or so ago that GCC (which can emit ARM instructions) produces relatively poor quality ARM code. Things may have changed since then, though.

Anyway, good luck in finding someone to produce the specified solution. smiley

FFTW:

www.fftw.org


Personally, I was always a crap ARM coder.


Regards,

David.
--


PS. Try going over to the Stardot (formerly Stairway To Hell) forums, there's still some excellent ARM coders around who may be able to help. Steve Harrison is pretty damned good (he wrote the QTM music player routine), maybe someone of his calibre might be available.
Re: Paid Work for Programmer Assistance
Post by JGHarston on Aug 27th, 2014, 9:01pm

on Aug 22nd, 2014, 09:54am, Kipper wrote:
However, it also has commands which allow the user to convert text back to spoken speech using speech synthesiser. I would like to be able to force that code to do this within a BBC programme by supplying a string ($) to it.

When I had access to some Dragon installations I did some experimentation, and all my investigations show that it is impossible to programatically instruct Dragon to "speak" a file. All of Dragon's commands are only available to the user via Dragon's GUI, none of them are available to other programs. This is confirmed by the manual:
Quote:
Text-to-speech is available only in the DragonPad, Microsoft Word, and Corel WordPerfect. You can, however, copy and paste text from other programs and then use text-to-speech (by...) select Read That from the Advanced submenu (or right-click in your document and click Read That from the shortcut menu).

So, it's one of those frustrating cases where your program would have to pop up a box and tell the user: "drag your file into the Dragon box, then click the 'Read' button in the Dragon menu", where a program goes out of its way to destroy the entire point of computers, that is, to automate processes and remove human interaction.

The best option is, as you mention, look for another speech synthesiser, specifically one that can be programatically instructed. Oh, for being able to just do: *SAY hello smiley

Re: Paid Work for Programmer Assistance
Post by JGHarston on Aug 27th, 2014, 11:25pm

on Aug 27th, 2014, 9:01pm, JGHarston wrote:
Oh, for being able to just do: *SAY hello :)

And as if by magic...

Martin Krolik has written just such a command, and it's even called SAY. Download SayStatic.exe or SayDynamic.exe. Rename it to Say.exe (or use the original filename), and then you can do: SAY Hello world.

It 'says' the string on the command line, so to 'say' a file a quick bit of BASIC code would be something like:
Code:
in%=OPENIN(in$)
REPEAT
  text$=GET$#in%
  OSCLI(path_to_say$+"SAY "+text$)
UNTIL EOF#in% 


Re: Paid Work for Programmer Assistance
Post by JGHarston on Aug 28th, 2014, 12:56pm

I've just had this read out my CV. Sounds weird! ;)
Code:
      REM > SayFile
      REM Use Martin Krolik's SAY command to read text from a file
      :
      say$=@dir$+"saydynamic.exe"
      in%=OPENIN("")
      REPEAT
        line$=GET$#in%
        IF line$<>"" THEN
          REPEAT
            A%=INSTR(line$," ",72):IF A%=0:A%=LEN line$+1
            text$=LEFT$(line$,A%-1):line$=MID$(line$,A%+1)
            PRINT text$:OSCLI say$+" "+text$
          UNTIL line$=""
        ENDIF
      UNTIL EOF#in%
      CLOSE#in% 


It pauses at the end of every SAY command, so an improvement would be to collect lines together until a semicolon, comma or full stop is encountered and SAY each part.

Otherwise it sounds.
Like the speaker.
Is falling asleep.
Every few seconds.


Re: Paid Work for Programmer Assistance
Post by Edja on Aug 29th, 2014, 08:21am

Quote:
It 'says' the string on the command line, so to 'say' a file a quick bit of BASIC code would be something like .. .
What is the solution explained here doing differently from the method explained in the WIKI article "Speaking the contents of a file by Richard Russell, October 2008" ?
The WIKI explains how to speak a string or the content of a file. What am I missing here ?
Eddy

Re: Paid Work for Programmer Assistance
Post by JGHarston on Aug 29th, 2014, 3:02pm

on Aug 29th, 2014, 08:21am, Edja wrote:
What is the solution explained here doing differently from the method explained in the WIKI article "Speaking the contents of a file by Richard Russell, October 2008" ?

Absolutely nothing. It's just as the question had been asked here I automatically assumed that a solution had not actually been found and written up, so it never occurred to me to check the Wiki as the very fact the question was being asked made me subconciously assume that looking in the Wiki would be useless as otherwise, why would the questioner be asking the question?

The lesson to be learned - always check the Wiki before posting.
Re: Paid Work for Programmer Assistance
Post by KenDown on Sep 3rd, 2014, 8:22pm

It must be pointed out, however, that the quality of the text ouput by the speak command demonstrated in Richard Russell's SPEAK example program does depend heavily on the voice you have installed. I recently upgraded my computer and had to reinstall all programs. The speech was awful - almost unintelligible - until I installed an early version of Microsoft Autoroute which comes with quite a nice female voice.
Re: Paid Work for Programmer Assistance
Post by rtr2 on Sep 3rd, 2014, 9:20pm

on Sep 3rd, 2014, 8:22pm, KenDown wrote:
I recently upgraded my computer and had to reinstall all programs. The speech was awful

You say you upgraded, but you omitted the most important piece of information - to what version of Windows? On English versions of Windows Vista and Windows 7 the default voice is Microsoft Anna; no male voice is included as standard. On Windows 8 Microsoft David (male), Microsoft Hazel (female, UK) and Microsoft Zira (female, US) are supplied.

It's worth bearing in mind that the SAPI5 command syntax allows you not only to use a specific voice (if available) but also to specify that a female or male voice is preferentially used. This can be useful when you don't know which voices will be available.