gnuspeech-contact
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [gnuspeech-contact] Re: what's the status?


From: Gregory John Casamento
Subject: Re: [gnuspeech-contact] Re: what's the status?
Date: Sat, 11 Feb 2006 03:06:47 -0800 (PST)

David/Eric,

My apologies for my recent silence, I've been quite busy for the past serveral months.  The problem with the GNUstep port has been due to a number of factors (not in any particular order):

1) Xcode has ability to allow you to pull in code from any number of places to build your application.  Using this ability, you can have the code placed anywhere in your project folder.   In the case of GNUspeech, there is much shared code between Monet and the tube model tool using this facility of Xcode.  Much of this code, in my opinion, should be made into a library so that we have a more traditional code organization and don't have to depend on build processes that are only present Mac OS X.  To bridge this gap, I've had to implement some copying in the makefiles, which is something of a kludge.

2) Up until now the GCC project has not had ObjC++, a necessity for integrating with C++ libraries and code with ObjC code.    This feature is present in GCC 4.1 (which is currently not released yet) and it has been anticipated in GNUstep for some time.

3) GNUspeech uses CoreAudio, which is not considered to be part of Cocoa.  As a result, I have had to look into other ways to get this code working using NSSound on GNUstep without, of course, disturbing the code that has been written and works properly for Mac OS X.

GNUstep's charter (http://www.gnustep.org/information/aboutGNUstep.html) is to provide a Cocoa compatible library for developers to port thier applications.   GNUstep does provide this, as well as many extensions.   GNUstep does not, however, promise perfect compatibility with Xcode or every library which Apple creates that falls outside of Cocoa (CoreData, CoreAudio...), in GNUspeech's case CoreAudio, that a developer might use. 

GNUspeech shouldn't be used as a gauge to determine GNUstep's completeness since GNUspeech currently uses many features of Mac OS X, which fall outside of GNUstep's charter.   GNUstep *is* complete, the port of GNUspeech is not. :)  This is my fault, for lack of time to devote sufficient effort to it.

Hopefully, in the coming weeks I will be able to find more time to contribute to GNUspeech and make Monet work properly on Linux/BSD boxes.

Thanks,
Gregory John Casamento
-- Principal Consultant, Open Logic Corp. (A MD Corp.)
## Maintainer of Gorm(IB) & GUI(AppKit) for GNUstep.


----- Original Message ----
From: David Hill <address@hidden>
To: Eric Zoerner <address@hidden>
Cc: address@hidden
Sent: Sat 11 Feb 2006 01:05:01 AM EST
Subject: [gnuspeech-contact] Re: what's the status?

Hi Eric,

Sorry!  I am the one sending confusing messages.  It is not clear  
that GnuStep is complete enough yet to do Monet.  However, Mac's  
"Cocoa" is so close to GnuStep that I am working on a Mac using Xcode  
2.2 and Cocoa on the grounds that when GnuStep is complete, the port  
should be almost a matter of re-compiling.  Greg Casamento has  
already done some of the additional conditional compilation code on  
the Monet system that was ported to Mac by Steve Nygard to move  
towards allowing the source to compile on either system (single  
source, and simply set a condition so it compiles for whichever you  
want).  That is the source that's on the savannah gnuspeech site.  To  
some extent, the way to see how complete GnuStep is we have to see  
how well Monet compiles under it, which is what Greg is supposedly  
doing (Is that accurate Greg?)

I did read somewhere that there is a straight Objective C system that  
runs under Linux, but it may simply be someone referring to GnuStep.  
A non-GnuStep Objective C would probably be useful for non-
interactive stuff, but if it didn't meet the GnuStep/Cocoa standards,  
it would not help with the interactive-intensive stuff.  However,  
real-time Monet doesn't need all the interactive stuff, but it will  
be quite an exercise stripping out what's needed from the existing  
Monet for the "real-time Monet" package.

I haven't heard from Greg for a while.  He's a GnuStep "guru" -- he's  
worked on it extensively.

I am porting "Synthesizer" because it is a basic tool for improving  
speech quality (something I am very interested in doing) and  
developing datasets for new languages (I've had enquiries), and it is  
of interest to you, of course).  It is also something to get me  
working towards a real-time Monet, and become familiar with  
everything I need to be familiar with to work more effectively on any  
part of the overall system.

I notice that your reply is a reply to a message I sent to Rob Brewer.

More below ...

On Feb 10, 2006, at 7:51 AM, Eric Zoerner wrote:

> David,
>
> I am not clear now on the target of the port you are working on.  
> You are working on a Mac but porting to GNUstep? Are you using  
> GNUstep on Mac OS X then?

Cocoa and GnuStep are very similar by design.  GnuStep is (AFAIK) not  
yet complete.

>
> I am at a point now where I would like to seriously start working  
> with gnuspeech and get everything (particularly Monet and the  
> Synthesizer App) working on the Mac (but I'm confused now about  
> whether it would be quicker to run it as a GNUstep app or not -- I  
> didn't realize until now that GNUstep runs on a Mac.

See above.

> I've noticed that there are a number of things that aren't working  
> in the Mac version of Monet that I have. The most obvious problem  
> is that changing the intonation contour doesn't seem to have any  
> effect on the output. The only synthesized output I seem to be able  
> to get has a flat intonation contour.

To get intonation, you have to bring up the Intonation Parameters  
under the Tools menu, "check" the "Intonation" box, and also "check"  
which components you want (use all until you understand what is going  
on).  "Macro" gives the basic intonation pattern according to  
Halliday's system, but with no smoothing.  "Smooth" provides a much  
better intonation contour that mimics nature better.  "Micro" is a  
fundamental effect of pitch changes due to pressure changes due to  
constrictions in the tube so it not only adds naturalness, but  
provides some addtional segmental information.  "Drift" allows the  
contour to vary a little from utterance to utterance so that repeated  
utterances of the same phonetic content are not monotonously  
repeated.  You can see the actual intonation contour in the  
"Intonation Window" -- also under tools.

Then, when you synthesize, you get intonation.

>
> I would really like to see how everything is supposed to work in  
> order to know how to fix them on the Mac. You stated previously  
> that right now everything only works on the NeXT hardware. I would  
> like to take you up on your offer to loan me your backup NeXT box.  
> When we have everything working on the Mac I would ship your NeXT  
> box back to you.

I'd appreciate you paying the shipping, and would not necessarily  
need to have it back, especially if it allows you to make a  
contribution, and you continued to find it useful.  It is a Turbo  
(33MHz) NeXT box.  It goes onto a LAN very easily, for print access,  
file transfers etc.  If you eventually decided you didn't need it/
want it, I rather have it back than have it junked.

I have the original boxes for shipping.  Fedex (by air) is likely the  
best way to ship.  You might have to pay some duty, but it should be  
much, given the going price for such equipment.  The shipping could  
be fairly expensive -- I'll try to get an estimate ahead of time.

There is the question of manuals.  I might be able to help there  
too.  Rob Blessin likely has some manuals.  I can let you know which  
would be most useful -- basically the system manual to help with  
networking.

>
> Please let me know if that offer is still there. If not, then I  
> will probably look into purchasing a NeXT box from the vender you  
> mentioned previously.
>
> Thanks,
> Eric Zoerner
>
>
>
>
>
>
> Ar 4 Feabh 2006, ag 07:37, scríobh David Hill:
>
>> Hi Rob,
>>
>> This an initial response to the second part of your email.
>>
>> On Feb 2, 2006, at 11:20 PM, Robert Brewer wrote:
>>
>>> David,
>>>
>>
>> [snip]
>>
>>>
>>> My timescale is pretty flexible.  :)
>>
>> Join the club!
>>
>>> Even so, I might
>>> be willing to help out with separating out a batch
>>> version of the real-time Monet.  I guess I'm trying
>>> to feel out what that would involve.  Though I am
>>> quite competent with C++, I have never touched
>>> ObjC or GNUstep.
>>
>> Somewhat hurried -- its late.
>>
>> Objective C is not so different from C++.  IMHO, it is cleaner.
>> Not being a C++ guru I hesitate to comment to fully, but
>> one important difference is the absence of multiple
>> inheritance.  The cognoscenti say that there is only a requirement
>> for multiple inheritance if you don't do the OO design properly in  
>> the
>> first place.  In fact, "Protocols" in Objective C allow much the
>> same sort of effects to be achieved, but in a cleaner way.
>>
>> The easiest way to get a handle on the stuff is to read some code.
>>
>> There's a useful book by Aaron Hillegass that serves as an intro
>> ("Cocoa programming for Mac OS X -- Addison Wesley 2004
>> ISBN 0-321-21314-9) and the book "Cocoa Programming" by
>> Anguish, Buck and Yacktman (SAMS 2003 ISBN 0-672-32230-7)
>> provides more detail, but has the slight disadvantage that it  
>> predated
>> the Mac Xcode system that replaced Project Builder, though that is  
>> minor).
>>
>> These books are useful because there is Mac code up on the  
>> savannah site
>> for gnuspeech (see under "Current").  Stephen Kochan's book:
>> "Programming in Objective-C" (SAMS "Developers Library 2004
>> ISBN 0-672-32586-1) is not tied to the Mac, but gives an idea of
>> the universality of the various flavours of Objective C and is a very
>> good book.  AFAIK you could develop using Objective-C under GNU/Linux
>> without worrying about GnuStep (or Mac stuff) because if you stuck to
>> a non-interactive system, you wouldn't need all the Interface Builder
>> stuff, which is why the port of the interactive apps is such a  
>> much more
>> difficult job and requires the equivalent of all the NeXTSTEP/
>> OpenStep
>> Interface Building stuff to make it reasonably doable.
>>
>> You'd have to look in the Monet code to see just what modules need
>> to be extracted and sewn together.  There's the (awful-and-needing-
>> redoing) letter-to-sound module -- OK for now, and the  
>> dictionary.  There's the parsing for
>> the text input, and the application of the rules to the parsed  
>> input to produce
>> the parameters needed by the TRM synthesiser, and tube.c which  
>> converts
>> he parameters into audio files.  The diagram on the savannah  
>> gnuspeech web
>> home page gives an idea of the real-time Monet core.
>>
>> Obviously I'm working in Xcode/Cocoa and aiming at GnuStep, but I  
>> believe there's a
>> straight Objective-C system under Linux from recent comments I've  
>> seen.  Greg
>> Casamento was working on making the Mac source compile under  
>> GnuStep, but
>> without the need for the GUIs, I am sure something independent of  
>> GnuStep could
>> be done for GNU/Linux.  I haven't heard from Greg for a while.
>>
>> I'll do some more digging and get back to you.  Sorry I'm not up  
>> to speed on this.
>>
>> Probably someone reading this list can provide some better info.
>>
>> All good wishes.
>>
>> david
>>
>>> If I were to strip some part
>>> of the codebase down to the barebones batch
>>> engine (text file in, sound file out), I would have ObjC code
>>> which relies on GNUstep, right?  Do you know off-hand
>>> in what file I would look to see the text input?
>>> I think I cant start tracing the code if I have someplace
>>> to grab on.
>>>
>>> I checked out the manuals on your site and they helpde
>>> me understand what's going on a bit better.
>>>
>>> Thanks.
>>>
>>> -Rob
>>> --
>>> Robert W. Brewer
>>>
>>>
>>> _______________________________________________
>>> gnuspeech-contact mailing list
>>> address@hidden
>>> http://lists.gnu.org/mailman/listinfo/gnuspeech-contact
>>
>>
>>
>> _______________________________________________
>> gnuspeech-contact mailing list
>> address@hidden
>> http://lists.gnu.org/mailman/listinfo/gnuspeech-contact
>



_______________________________________________
gnuspeech-contact mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/gnuspeech-contact

reply via email to

[Prev in Thread] Current Thread [Next in Thread]