This page lists projects that I'd be interested in supervising. They can mostly be made suitable for either Honours or Masters students; some might form the core of a PhD project.
This is by no means an exhaustive list of the things I'm interested in; if you're interested in speech, XML, semi-structured databases, Tcl, Lego robots, ubiquitous computing etc. please feel free to get in touch to discuss ideas.
We have an ongoing project to analyse audio recordings made in meetings. In the first phase we are trying to segment the audio stream according to who is talking: speaker segmentation and indentification. Possible student projects in this area might involve evaluating different speaker identification algorithms; looking at applying speech recognition to the audio stream to build an index for information retrieval; investigating algorithms for coping with varying room acoustics in different meeting rooms.
If you are interested in hardware there are ideas to follow up in building a special purpose meeting recorder device -- something like a PDA which can be used to obtain high quality recordings of meetings and do some of the indexing work on the captured speech signal.
I'm the main author of Emu which is a set of software tools for research with annotated speech corpora. The development of Emu is ongoing and there are likely to be various projects apart from the ones listed here. Most of these projects require no knowledge of speech and can be seen as general Software Engineering/Database projects.
A framework for signal annotation tools: we have defined an API for graphical speech annotation tools (which show a speech signal or a video stream and associated annotations) which are designed to plug together into a composite tool. An interesting part of this project is that these components can be written in differnet languages (Java, Tcl, Python). This project would work on the communication protocol between components and would involve writing one or two new compnents and adapting existing ones to the new framework.
Annotation query language: I'm investigating query languages for linguistic annotation, a problem which is a special case of querying semi-structured data stores. A good current candidate is a derivative of the XML XPath language. This project would involve developing a flexible implementation of a path based query language which could work on XML and on Linguistic Annotations (which are stored as a special kind of directed graph). Another project which would not involve programming would be to add to a use-case analysis of existing query language proposals.
A text annotation/query tool: while Emu works on speech corpora there are many Linguists who work with collections of text which are annotated in various ways. XML is a good choice for annotation of text but the tools which can be used for building XML documents and for querying them and reporting the results are way too complex for Linguists to use. There is a very good text engineering platform called GATE which is extensible via Java Bean components. This project would use GATE to build a user friendly text annotation and query tool for one or two specific kinds of Linguistic Annotation. It would involve applying XML standards like XSLT and XPath and carrying out user requirements analysis by interviewing Linguists working with annotated text.
I'm generally interested in XML projects in addition to the Annotation ones listed above. Possible projects would include document management with XML and XSLT, building a a web services application or working with XML meta-data.
This project involves training a speech recogniser to work on Australian speech. This would fit in with the Centre's DARPA Communicator project, using the Sphynx speech recognition engine. The project would involve getting to know Sphynx well, adapting it to and training it on the Australian data we have, and then evaluating its performance, perhaps in the context of an application like the Deaprtment's information kiosk.
Tcl is a scripting language which is used in a range of applications and which includes a cross platform GUI toolkit (Tk). I use Tcl in the Emu project (above) and various other smaller projects and play a small role in the development of the language and associated tools. At any time there are many potential projects around Tcl (see the Tcl Wiki for some examples).
CANTCL: one of my contributions to Tcl has been the definition of a standard format for extension package distribution (TIP55). The next step from this is to build an online archive of Tcl extension packages, similar to the CPAN archive for Perl and CTAN for TeX. This project would specify and implement an online package archive which supported a web based interface and remote invocation via web services (SOAP, XML-RPC). It could also investigate ways of allowing packages to be updated in running Tcl applications.
Copyright © 2002, Steve Cassidy