FLEx and Phonology Assistant

183 views
Skip to first unread message

Toby A

unread,
Mar 9, 2015, 7:31:22 AM3/9/15
to flex...@googlegroups.com
I've seen comments in this group to the effect that Phonology Assistant's main developer is not working on it any more and that some are in favour of PA being rolled into FLEx. As a programmer I've had a quick think about this and on first reflection I feel that it wouldn't be too difficult (though I must qualify that I haven't done any FLEx of PA programming or even used .NET) It would fit quite well in the "Grammar" section where some of it is already there.

I want to emphasise that I'm not saying that this needs to be done (though I for one would be in favour, since I'm a linux user and don't have easy access to PA as it is) and I'm not assuming that there's programmers out there sitting around with nothing to do, waiting for a project like this (I know that's far from true, though there's a chance I could give some time to it myself in my upcoming home assignment) but I just want to start a discussion and get a sense if others think something like this is feasible or not, whether it would be useful or not, whether it might be worth investing in.

Here's how I imagine it:
  1. Somewhere (maybe in the writing systems dialog or in the grammar section) the user can specify which of the vernacular writing systems is the phonetic representation, and which is the phonemic. (The writing systems dialog already allows this but I have a feeling it lets you choose more than one WS for each category. For the proposed PA functionality it would be simpler and less confusing if it was limited to on WS for each)
  2. In the grammar section there is an extra tab for phones. Each phone specifies how it is represented in the phonetic WS. Perhaps it also lets you specify which environments the phone occurs in
  3. If a WS has been designated phonetic, somewhere (perhaps in the phones tab, or in a separate tab) words from the phonetic WS are shown which appear to contain phones that are not listed in the phones tab. These phones can be easily added, or the words edited.
  4. In the existing phonemes tab each phoneme allows you to specify which of the phones are allophones of that phoneme. For each allophone you can specify a list of environments in which it occurs (using environments defined in the environments tab)
  5. In the phones tab the user can easily see which phones are not assigned to any phonemes.
  6. If a WS has been designated phonemic, somewhere the user can click a button that will fill in the phonemic WS for each word with a an entry for phonetic WS. This will simply convert phones to phonemes according to what is written in the phonemes tab. It will need to check with the user what to do with any word that already has a phonemic representation that differs from what is expected, or in which the phonetic has phones that aren't assigned to phonemes or are assigned to more than one. This might be smartened if it can recognise the distribution according to the environments specified.
  7. It is already possible to assign graphemes to phonemes in the phonemes tab. There might also be a button that lets automatically fills in selected orthographic writing systems fields according to phonemes.
  8. Somewhere in the grammar section (or maybe the lexicon section) it is possible to have entries in columns like the standard lexicon view except that it is possible to filter the phonetic and phonemic columns by environment as well as the existing filter options. These filters will take into account what is listed in the phones tab and the phonemes tab, and it would be nice if this view allows easy editing of the content of those two tabs according to what is found.
That would be the gist of it. There might be many complications that I haven't seen. 

Anyone have thoughts on this?

Toby

Allan Johnson

unread,
Mar 9, 2015, 10:55:56 AM3/9/15
to flex...@googlegroups.com
Hi Toby,

Something like what you're describing existed at one time, back in the days of LinguaLinks, the predecessor of Fieldworks. It's been a long time and my memory of details is fuzzy, but there was a phonology component of LinguaLinks which allowed a person to set up phonological rules to map from a phonetic writing system to a phonemic writing system, maybe a little bit like your point 6. When LinguaLinks had to be reworked, creating the new Fieldworks program, my guess is that Phonology Assistant was split out as a separate program for the sake of projects which at the time were dependent on Toolbox - to enable it to serve both groups of users, which it did quite nicely. But it seems to me that in order to have a more streamlined and straightforward workflow for present-day Field Methods students learning Fieldworks, it would be a good thing to pull PA back in and make it a part of FLEx, kind of like the setup that had initially been envisioned (though maybe not fully fleshed out) in LinguaLinks.

So that's my thought - that yes, this would be a good thing, to have the functionality of PA built into FLEx. And also that there's a precedent for it - that the initial vision of LinguaLinks included this kind of functionality.

Allan J.


--
You are subscribed to the publicly accessible group "FLEx list".
Only members can post but anyone can view messages on the website.
---
You received this message because you are subscribed to the Google Groups "FLEx list" group.
To unsubscribe from this group and stop receiving emails from it, send an email to flex-list+...@googlegroups.com.
To post to this group, send email to flex...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/flex-list/c8329697-713f-4651-8284-d937d6120d82%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Jonathan Dailey

unread,
Mar 9, 2015, 11:15:12 AM3/9/15
to flex...@googlegroups.com
PA is in development again.  I am not sure of the level of integration.

GregT

unread,
Mar 10, 2015, 10:13:39 PM3/10/15
to flex...@googlegroups.com
We did just put version 3.5.1 into beta and you can find the beta release and an even slightly later daily build here: http://build.palaso.org/project.html?projectId=PhonologyAssistant&tab=projectOverview&guest=1

In this beta release one of the things many users have been asking for is the ability to search multiple fields at once. This is useful for example if you want to search the pronunciation field and variants or a built in field and a custom field as a single search. This is set up by using multiple data sources to point at different fields of the same phonetic database. It can also be helpful if multiple dialects are being tracked in a single flex database.

By selecting and un-selecting these various data sources, it is possible to get consonant and vowel charts for all the dialects together or for any one of them individually or for multiple dialects.

In this sense, it is helpful to have Phonology Assistant as a separate program. It now allows for various custom fields to be set up and searched. The fields can be set up using bulk changes and they can be set up using a process function to create the custom field.

We added a built in filter to filter the single syllable words, By enabling tones on the CV patterns it is fairly straightforward to get the tone patterns that occur in the data. It is also easy to see which tone patterns occur on open syllables, closed syllables, etc.

We added distribution charts to allow the charting of consonants occurring in syllable onsets or codas. We also have distribution charts for combinations of vowels in the nucleus or the identification of rhymes that occur in the language.

The help file has been completely reworked for this version of PA. It now includes topics on how to use the filter function and other new features of the program. The Tools menu allows multiple phones to be treated as a single phone for the purposes of charting or other kinds of transformations to be run on the data before it is analyzed.

I am not saying that the Phonology Assistant functionality couldn't be included in the Language Explorer. If fact, some people use regular expressions or bulk changes with custom functions, or even FlexTools to accomplish some of the things that can be accomplished with PA out of the box. But my guess is you may need to be prepared to give up a fair bit of the functionality you get with PA to include it in the Language Explorer program. I am not saying it shouldn't be done, I am just saying it would be worth doing a complete analysis of what you gain and what you loose.

-Greg

Toby A

unread,
Mar 16, 2015, 3:06:37 AM3/16/15
to flex...@googlegroups.com
Thanks Greg for that insight into new PA features. I'm glad the development of PA continues. I knew that a lot of features wouldn't come through in Fieldworks, I was just imagining the very basics of PA being added to FLEx, so I suppose that any FLEx functionality developed wouldn't replace PA, but would be a convenience for users who don't need the full functionality. The convenience would be heightened for users like myself who use FLEx on Linux. I don't want to have to reboot into Windows to analyse the phonology. Is there any plans of porting PA to Linux?

Toby

GregT

unread,
Mar 18, 2015, 9:01:34 AM3/18/15
to flex...@googlegroups.com
I am interested to learn how much interest there would be for having Flex on Linux. We did an initial assessment before the release to confirm that it didn't work but the port to Linux was not part of the project charter so we didn't pursue it very far. It would help to know how much interest there is in PA on Linux.

Jonathan Dailey

unread,
Mar 18, 2015, 9:17:53 AM3/18/15
to flex...@googlegroups.com
There is some interest here.


On 3/18/2015 8:01 AM, GregT wrote:
I am interested to learn how much interest there would be for having Flex on Linux. We did an initial assessment before the release to confirm that it didn't work but the port to Linux was not part of the project charter so we didn't pursue it very far. It would help to know how much interest there is in PA on Linux.
--
You are subscribed to the publicly accessible group "FLEx list".
Only members can post but anyone can view messages on the website.
---
You received this message because you are subscribed to the Google Groups "FLEx list" group.
To unsubscribe from this group and stop receiving emails from it, send an email to flex-list+...@googlegroups.com.
To post to this group, send email to flex...@googlegroups.com.

Allan Johnson

unread,
Mar 18, 2015, 11:02:49 AM3/18/15
to flex...@googlegroups.com
Hi Greg - I take it that you meant to type "PA on Linux" rather than "Flex on Linux" in the first sentence just as we see in the last sentence. Is this a correct understanding of what you're asking about?

Allan

On Wed, Mar 18, 2015 at 8:01 AM, GregT <gtr...@gmail.com> wrote:
I am interested to learn how much interest there would be for having Flex on Linux. We did an initial assessment before the release to confirm that it didn't work but the port to Linux was not part of the project charter so we didn't pursue it very far. It would help to know how much interest there is in PA on Linux.

--

Eric Jackson

unread,
Mar 18, 2015, 11:49:43 PM3/18/15
to flex...@googlegroups.com
Me, too! (representing 3 linux computers... does that mean I get 3 votes? :-)


On 03/18/2015 09:01 PM, GregT wrote:
I am interested to learn how much interest there would be for having Flex on Linux. We did an initial assessment before the release to confirm that it didn't work but the port to Linux was not part of the project charter so we didn't pursue it very far. It would help to know how much interest there is in PA on Linux.
--
You are subscribed to the publicly accessible group "FLEx list".
Only members can post but anyone can view messages on the website.
---
You received this message because you are subscribed to the Google Groups "FLEx list" group.
To unsubscribe from this group and stop receiving emails from it, send an email to flex-list+...@googlegroups.com.
To post to this group, send email to flex...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/flex-list/4df3c398-d2d7-4479-8b50-a82388c52903%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


-- 
Eric M. Jackson, Ph.D.          芮建生博士
SIL Intl, East Asia Group       世界少数民族语文研究院东亚部
http://sil.academia.edu/EricJackson/

GregT

unread,
Mar 19, 2015, 11:06:44 AM3/19/15
to flex...@googlegroups.com
Yes Allan. My actual question is about PA on Linux. Jonathan, is that what you were addressing?

Jonathan Dailey

unread,
Mar 19, 2015, 12:01:51 PM3/19/15
to flex...@googlegroups.com
Yes. I use Linux in a limited way and teach FLEx and PA to those going
to the field. Some would like to use Linux but they can not for PA.

Jonathan

Chris W.

unread,
May 5, 2015, 1:13:57 AM5/5/15
to flex...@googlegroups.com
A vote from me also for porting to Linux!

I've tried running with Wine, but it seems to crash when I do pretty much anything.  Not sure if I'm missing a dependency or something.  Need to try looking through the logs.

In the Github repository, I see there is a Linux solution file for Visual Studio.  Does that mean we can build it ourselves?

John Wickberg

unread,
May 5, 2015, 8:20:53 AM5/5/15
to flex...@googlegroups.com
The Linux solution for PA is the result of some porting work that was started, but it was never completed.

The main problem is that PA uses a .Net control (the DataGridView) quite extensively that isn't that well supported in mono. It could be that with recent Microsoft recently releasing more .Net code as open source that some of the mono problems can be addressed.

So, you can build PA on Linux, but it will not run. It has been a couple of years since any development work was done on Linux, so it's hard to say what the current state is.

John

--
You are subscribed to the publicly accessible group "FLEx list".
Only members can post but anyone can view messages on the website.
---
You received this message because you are subscribed to the Google Groups "FLEx list" group.
To unsubscribe from this group and stop receiving emails from it, send an email to flex-list+...@googlegroups.com.
To post to this group, send email to flex...@googlegroups.com.

Chris W.

unread,
May 6, 2015, 12:21:05 AM5/6/15
to flex...@googlegroups.com
I actually got it to run as long as the WINEPREFIX was a set to a 32-bit architecture and the .NET 4.0 version was installed which is available for 32-bit but seems to be unavailable and/or buggy for 64-bit versions.  The ultimate problem I ran into was that Phonology Assistant complains that Fieldworks 7.0 or higher isn't installed (and it isn't in Wine...because it doesn't need to be).  When trying to use an existing project, it complains that it cannot find the DataSource(s?) for FLEx.  I gave up trying to trick it with symbolic links.  I wasn't exactly sure where it was looking for what...

Perhaps it would be easier to allow the user to specify the FLEx folders that it is looking for.  Moving away from .NET could then be a slightly slower process, as long as it works in Wine for the interim.  That's just my opinion though.

Gotcha about the Linux build.  I didn't look deeply inside solution files, just opening to skim the top section.

kent_ra...@sil.org

unread,
Jan 23, 2017, 2:34:23 PM1/23/17
to FLEx list
I would be very interested in a Linux port of PA. I do all my work on Linux, and support the same for my African colleauges. I do tone and phonology mostly, which has meant that I feel generally somewhat of the step-child wrt official tools. Having PA on Linux would address that, and allow me to bring that into the tools we (might at least possibly) use.

GregT

unread,
Jan 23, 2017, 8:52:22 PM1/23/17
to FLEx list
With the Infrastructure sprint last October, I updated the Phonology Assistant code to use .net 4.6.1. In terms of Linux, that means there is a dependency on mono4-sil. (There may be dependencies on some of the other mono4 libraries.) These have recently been moved into the pso (public repository).

I also tried to build the program and install it on Linux. Unfortunately I was blocked and didn't succeed to get it to work. At that point, I was looking to see if there was an easy way to provide PA on Linux now that it is using the latest mono code and the answer seemed to be: not really.

Right now, the linking between Phonology Assistant and Flex is pretty tight. Some of the Phonology Assistant code actually gets built with Flex and creates hooks inside Flex so that Phonology Assistant can get the data it wants organized into the objects the way it would like. The next step will likely be to loosen this coupling.

The next infrastructure sprint (planned for March) will make available the FieldWorks Data Objects (FDO) library. This will allow Phonology Assistant to get the Flex data it needs without Fieldworks being installed. As mentioned in an earlier post, this will provide a partial solution.

So bottom line: For those wanting to use PA now on a Linux computer, you can do so using virtualization*. For those who don't need PA just yet, you might want to wait for a more elegant solution.

*(With Virtual Box installed, one can get a Windows virtual machine from the modern.ie site and install PA and FieldWorks on a Windows virtual machine running on a Linux machine.)
Reply all
Reply to author
Forward
0 new messages