mathematics
IMathAS 1beta16
IMathAS project is a Web-based math testing and homework system. more>>
IMathAS (Internet Mathematics Assessment System) is a Web-based math testing and homework system.
It is a light course/learning management system and testing system, similar to and inspired by WebWork and WIMS, and similar to textbook-bundled systems like iLrn and MathXL.
It requires a browser with MathML and SVG support such as Firefox 1.5 or IE6 with plugins.
Main features:
- Math: The system was designed for Math assessment; no effort was made for the system to be multi-purpose.
- Sharing: The system was setup to encourage sharing of questions within a system and outside. Questions are grouped into question libraries, and are not tied directly to a specific assessment. Unless marked Private, questions can be used by anyone on the system, or used as a template for writing new questions. Export and Import allows the sharing of question sets between systems. Also, macro libraries allow for the expansion of IMathASs question language. Users with expertise in a field can develop macro extensions, and share them with other users.
- Ease of Install: The system uses standard PHP and MySQL. It requires no special compilation options or installation of external programs
- Display:
- Rich Math and Graph display, using standards-based MathML and SVG, powered by Peter Jipsens ASCIIsvg and ASCIIMathML
- Rich Text Editor with built-in Math and Graph support for text items displayed in a course
- Alternate display options for screenreaders and browsers without needed support
- Assessment:
- Question types including:
- Functions, with answers like "sin(x)"
- Numbers, compared to a given tolerance
- Calculated Numbers, like 5/3 or 2^5
- Multiple-Choice
- Multiple-Answer
- Matching
- String
- Numerical Matrix
- Calculated Matrix
- Multipart
- Multiple display options and assessment settings, including an option for practice sets, and due date exceptions for individual students
- Algorithmically generated questions, with a relatively simple-to-use question language (loosely based on PHP) with many built-in randomizers and display macros
- Expandable question language, by installing additional macros
- Other Course Features
- Post text items, uploaded files, or web links to the classroom
- Basic Discussion Forums
- Administration:
- Flexible administration: IMathAS can be centrally administered, or teachers can be given rights to create their own courses
- Courses can have one or more teachers
TheCurves 1.0
TheCurves is an application that plots a parameterized family of curves based on algebraic formulas specified by the user. more>>
When the program is run as an applet in a Web page, the plot parameters and formulas are configurable by HTML and dynamically scriptable, so that the applet can be initialized to present a specific plot when the page is opened or to change plots when the user clicks on a control in the Web page.
Enhancements:
- This version now uses the ant build system.
HartMath 0.8 pre2
HartMath is a symbolic mathematics tool. more>>
It features big number arithmetic, symbolic and numeric evaluation, plot-, polynomial-, vector, and matrix-functions.
Womcat Bookmarks 2.7
Womcat Bookmarks is a project that maintains Web bookmarks in a set of hierarchical folders. more>>
It can output the bookmarks as an HTML page and as an RSS 2.0 file that can be placed on a Web site.
The RSS file maps folder names into the "category" element. It can download other RSS files, treating them as categorized bookmarks to create a local database of Web bookmarks that can be browsed by subject.
It supports RSS discovery by allowing posting RSS file URLs as new items.
It also acts as a basic RSS feed reader. It also includes a Weak Subscriptions feature, which is a bit like a personalized version of BlogDex.
Main features:
- Womcat Bookmarks are intended to point to other Womcat Bookmarks. Womcat allows for 2 types of RSS items: recommendations and referrals. A recommendation is an RSS item that points to an ordinary web page. A referral is an RSS item that points to another RSS file (which may or may not be generated by Womcat Bookmarks). An XML extension element http://www.womcat.org/:type is used to distinguish between these two possibilities.
- Womcat Bookmarks is subject-oriented. RSS puts subjects in the element separated by forward slashes. Womcat Bookmarks requires that every recommendation be contained in a subject. Subjects can also be contained in each other. So if subject Algebra is contained in subject Mathematics, then the category will be Mathematics/Algebra.
- Although Womcat Bookmarks subjects for one user form a hierarchy, it cannot be expected that different users will have equivalent or even consistent hierarchies. The most that can be hoped for is that different users might use the same titles for individual subjects. Thus Programming Languages/C is not a very good hierarchy, because "C" by itself is potentially ambiguous. Better is Programming Languages/C Programming Language. In effect subjects are globally considered to live in a flat namespace, and their titles should be unambiguous in a global context without any dependence on position in a users hierarchy. The end result is to facilitate merging of Womcat Bookmarks (i.e. RSS data) from different users such that they can be usefully browsed by subject.
- Womcat Bookmarks are considered to be an accumulating collection of bookmarks, not a transient collection of news items, with items only being deleted if they cease to be relevant (or cease to exist). This is problematic when Womcat is used to read RSS files that may or may not be accumulative or transient in intent. I propose to add an extension element to deal with this, along the lines of specifying a period that the file covers, and optionally another link to a different RSS file that covers that period, e.g. "1 month" for a file that only contains links added up to a month ago, "forever" for a file that contains all current bookmarks. This will also be useful as a way for RSS readers not to have to re-read an accumulated bookmarks file that has grown very large.
Enhancements:
- Various improvements to user interface: ability to stop downloads, pre-delete multiple mentions, add more links between objects in pages. Also update versions of libraries used by the application.
mcl-algorithm 06-021
mcl-algorithm is a scalable cluster algorithm for graphs based on stochastic flow. more>>
The flow process employed by the algorithm is mathematically sound and intrinsically tied to cluster structure in graphs, which is revealed as the imprint left by the process.
The threaded implementation has handled graphs of up to one million nodes within hours, and is widely used in the field of protein family analysis. It comes with a wide range of sibling utilities for handling and analyzing graphs, matrices, and clusterings.
The MCL algorithm simulates flow using (alternating) two simple algebraic operations on matrices. Its formulation is simple and elegant. There are no high-level procedural instructions for assembling, joining, or splitting of groups - cluster structure is bootstrapped via a flow process that is inherently affected by any cluster structure present.
The first operation used by MCL is expansion, which coincides with normal matrix multiplication. Expansion models the spreading out of flow, it becoming more homogeneous. The second is inflation, which is mathematically speaking a Hadamard power followed by a diagonal scaling. Inflation models the contraction of flow, it becoming thicker in regions of higher current and thinner in regions of lower current. The MCL process causes flow to spread out within natural clusters and evaporate inbetween different clusters.
- By varying parameters, clusterings on different scales of granularity can be found. The number of clusters can not and need not be specified in advance, but the algorithm can be adapted to different contexts.
- The issue how many clusters? is not dealt with in an arbitrary manner, but rather by strong internal logic. Cluster structure leaves its marks on the flow process simulated by the algorithm, and the flow parameters control the granularity of the cluster imprint.
- The limit of the MCL process (the process simulated by the algorithm) is in general extremely sparse, and the iterands are sparse in a weighted sense. This gives the means to scale the algorithm drastically, leading to a worst-case complexity of order Nk^2, where N is the number of nodes of the input graph, and where k is a threshold for the number of resources allocated per node.
- The rate of convergence of the MCL process, and projection of the iterands afterwards onto the resulting clustering, give hooks for unsupervised parameter adjustment.
- The iterands of the MCL process have structural properties which allow a cluster interpretation, and which generalize the mapping of MCL limits onto clusterings. The mathematics associated with the MCL process shows that there is an intrinsic relationship between the MCL process and cluster structure in graphs. This is very valuable given the many heuristic approaches in cluster analysis.
Enhancements:
- Numerous cleanups in much of the code.
- Improvements in caching intermediate results.
ATGeogebra 1.0
ATGeogebra provides a simple archetype product to display GeoGebra files. more>>
GeoGebra is a free and multi-platform dynamic mathematics software for schools that joins geometry, algebra and calculus .
If you have any interest in educational technology, you should take a look at this fine piece of software: http://www.geogebra.org
The basic idea of ATGeogebra is to be able to show Geogebra worksheet files ( .ggb ) within a plone site.
The .ggb files have to be loaded with Geogebras java applet and the product does that for you.
The software jar files are inside the product’s skins directory and all you have to do is to create a "Geogebra Activity" item and upload the .ggb file.
You will find a sample Geogebra worksheet ( .ggb ) inside the product’s samples directory ( same as shown in the screenshot above ).
If you use CMFContentPanels, a special viewlet will be installed.
This is a initial release. Its very simple, but fully functional.
Mathfun.py 2.1
Mathfun.py is a rather small Python library that contains some of the more obscure mathematical formula/functions. more>>
These include primality tests, fibonacci sequences and turning characters into numbers, among other things. The next paragraph includes a little story about my strange habits as a teenager. The paragraph after that contains some ramblings about primes and formulas.
The paragraph after that hasnt been decided on yet, but you can be assured that it will be more stream-of- consciousness rambling about something mathematic by yours truly.
One of the reasons that this library exists is that, as a junior programmer in high school, I spent an insane amount of time writing BASIC programs on our IIgs that would calculate the first 100 primes or some other such nonsense. I would write it one way, get out a stop watch, run it, record the time it took, rewrite it, rerun it, retime it and calculate the difference as percentage decrease in time. Repeat the previous until you get BASIC that looked like an explosion in a type factory. All in some sort of quest to... well, I dont really know what I was shooting for. I just enjoyed it. Calculating if a number was prime, calculating the prime factorization, calculating the first N prime numbers... Yeah, I was a strange one.
But, in retrospect, all that solitary math kinda helped. While I reinvented many a prime wheel, I did it on my own, which was something of a personal fulfillment once I had learned more of a history of mathematics. And I never forgot most of those formulas that I worked out on that Apple. For instance, mathfun.isprime(number) utilizes most of what I learned back in high school. It iterates through the odd numbers, up to the integer value of the square root of the number in question. I still remember the epiphany that I had that I only needed to calculate through the square root of the number. 8^)
Theres a minor paradox with the calculation of a prime. The quickest way to generate primes would be to only attempt modular arithmetic with prime numbers. However, to do it that way means that you have to generate a list of prime numbers first, which involves a primality test on every odd number up to the square root of the number in question. This would be sloooooow for the primality test for any single number. (For instance, isprime(10000) would involved roughly 50 full primality tests to generate the list needed to be a maximally efficient test on it.) So, we accept that even if were not going to get any results doing (N mod 9), its much quicker to eat those wasted cycles than to determine if 9 is prime first.
However, if youre doing nothing more than simply cranking out prime after prime, it becomes much more efficient to only do the primality test with a list of primes, since (if you start from 2) youve already determined the ealier ones before. (Theres probably a break-even time first (machine dependent) before "determine all primes with primes" becomes more efficient than "crank through the odd numbers".) Its easy to see however, that for very large numbers its much better to only work with primes.
Theres also a minor question of the speed of the data structures used to store the prime list versus the very fast next odd number test. However, Ill leave that one up to the True Computer Scientists.
Amanith Framework 0.3
Amanith Framework is a Crossplatform & Opensource C++ Vector Graphic Framework. more>>
Amanith gives to developers a complete and reliable set of classes to work with geometric elements (lines, curves, paths, meshes, and so on); it provides many powerful modelling operators (like cut, join, flatten and so on) and, at the same time, the fastest rendering layer totally built on top of OpenGL.
Some other useful classes included in Amanith complete the framework with: fonts and pixelmaps support, hierarchycal animations, fast and robust tesselation, bitmap to vector tracing, mathematics and calculus functions, matrices, distance and intersection queries.
Main features:
Open Sourced!
- Open source has made Amanith possible, so we wanna Amanith to be open source too.
- This mean that Amanith source code is fully available for everyone.
Cross Platform
- Same source tree can be compiled without modifications under multiple targets.
- Linux, Win32, Mac, FreeBSD, NetBSD, OpenBSD, Solaris, IRIX, AIX are only few of them.
Modular
- All the framework is heavily based on a light plug-in system.
- This make fast and easy to include or esclude everything you want.
Standards adherence
- The Amanith philosophy is to support many open standards as possible.
- Png, Jpeg, Svg, Xml, OpenGl, Ansi c++, and many others.
AnalyticMath 1.1
AnalyticMath is a FREE, cross-platform mathematics / plotting program. more>>
The program is intuitive, simple to use, and suitable for everyone from students to theoretical physicists.
This new release has many refinements over ver. 1.0 as well as some minor bug fixes.
Geomview 1.9.3
Geomview is an interactive 3D viewing program for Unix. more>>
Geomview can be used as a standalone viewer for static objects or as a display engine for other programs which produce dynamically changing geometry. Geomview can display objects described in a variety of file formats. Geomview comes with a wide selection of example objects, and you can create your own objects too.
Geomview runs on most Unix platforms, including GNU/Linux. Geomview can run under Microsoft Windows using Cygwin. Geomview is free software available under the terms of the GNU Lesser General Public License (GPL).
You can also use Geomview to handle the display of data coming from another program that is running simultaneously. As the other program changes the data, the Geomview image reflects the changes. Programs that generate objects and use Geomview to display them are called external modules. External modules can control almost all aspects of Geomview. The idea here is that many aspects of the display and interaction parts of geometry software are independent of the geometric content and can be collected together in a single piece of software that can be used in a wide variety of situations. The author of the external module can then concentrate on implementing the desired algorithm and leave the display aspects to Geomview. Geomview comes with a collection of sample external modules, and the manual describes how to write your own.
Geomview allows multiple independently controllable objects and cameras. It provides interactive control for motion, appearances (including lighting, shading, and materials), picking on an object, edge or vertex level, snapshots in many image file, PostScript, or Renderman RIB format, and adding or deleting objects is provided through direct mouse manipulation, control panels, and keyboard shortcuts.
Geomview supports the following simple data types: polyhedra with shared vertices (.off), quadrilaterals, rectangular meshes, vectors, and Bezier surface patches of arbitrary degree including rational patches. Object hierarchies can be constructed with lists of objects and instances of object(s) transformed by one or many 4x4 matrices. Arbitrary portions of changing hierarchies may be transmitted by creating named references.
The full specification for object file formats is in the OOGL (Object Oriented Graphics Language) Reference section of the Geomview manual. If you already have Geomview you might want to try out the OOGL tutorial.
Geomview can be used as a Mathematica graphics output device; this makes viewing Mathematica graphics much more interactive. The same is true for Maple. Geomview began as an effort at the Geometry Center at the University of Minnesota to provide interactive geometry software which is particularly appropriate for mathematics research and education. In particular, Geomview can display objects in hyperbolic and spherical space as well as Euclidean space.
MonetDB 4.18.0
MonetDB is an open source high-performance database system developed at CWI. more>>
MonetDB project was designed to provide high performance on complex queries against large databases, e.g. combining tables with hundreds of columns and multi-million rows.
As such, MonetDB can be used in application areas that because of performance issues are no-go areas for using traditional database technology in a real-time manner.
MonetDB has been successfully applied in high-performance applications for data mining, OLAP, GIS, XML Query, text and multimedia retrieval.
MonetDB achieves this goal using innovations at all layers of a DBMS: a storage model based on vertical fragmentation, a modern CPU-tuned vectorized query execution architecture that often gives MonetDB a more than 10-fold raw speed advantage on the same algorithm over a typical interpreter-based RDBMS.
MonetDB is one of the first database systems to focus its query optimization effort on exploiting CPU caches. MonetDB also features automatic and self-tuning indexes, run-time query optimization, a modular software architecture, etcetera.
In-depth information on the technical innovations in the design and implementation of MonetDB can be found in our digital library.
Main features:
- A fairly extensive ANSI SQL-99 language interface including:
- Primary and foreign key enforcement
- View management
- Sub-queries
- Authorization scheme
- Unicode support (UTF-8)
- Support for external functions
- A full-fledged and scalable implementation of XQuery.
- SQL and XQuery query caching to speed up data processing.
- Extensible architecture at any level of sophistication needed.
- The MonetDB engine can be embedded into your application.
- High performance, using highly tuned data structures and algorithms to exploit the power of modern hardware.
- Transaction control at various levels of granularity, which makes query dominant applications run at light speed.
- Tapping into the experiences gained in supporting XML, Multimedia, GIS, etc. applications right op top of a kernel without the overhead often encountered in SQL-based systems.
- Broad hardware spectrum ranging from StrongARM-based PDAs up to Opteron-based Servers (cf. Platforms).
- 32- and 64-bit cross-platform support for:
- Linux, Microsoft Windows, Apple MacOS X, Sun Solaris, IBM AIX, and SGI IRIX;
Time::Skew 0.1
Time::Skew is a Perl module that computes local clock skew with respect to a remote clock. more>>
SYNOPISI
use Time::Skew
# Init Convex Hull and timing data
my $hull=[];
my $result={};
# Iterate data point introduction
Time::Skew::convexhull($result,$datapoint,$hull);
This module supports the computation of the skew between two clocks: the (relative) skew is the speed with which two clocks diverge. For instance, if yesterday two clocks, at the same time, showed respectively 10:00 and 10:05, while today when the former shows 10:00 the latter shows 10:04, we say that their relative skew is 1 minute/24 hours, roughly 7E-4.
The module contains one single subroutine, which accepts as input a pair of timestamps, associated to a message from host A to host B: the timestamps correspond to the time when the message was sent, and to the time when message is received. Each timestamp reflects the value of the local clock where the operation takes place: the clock of host A for the send, the clock of B for the receive.
Please note that the module does _not_ contain any message exchange facility, but only the mathematics needed to perform the skew approximation, once timestamps are known.
The subroutine takes as argument:
a reference to a hash where values related to the timing of the network path from A to B;
a 2-elems array (a data point in the sequel) containing the timestamp of the receive event, and the differece between the send timestamp and the receive timestamp for one message;
a stack containing some data points, those that form the convex hull.
The usage is very simple, and is illustrated by the following example:
#!/usr/bin/perl -w
use strict;
use Time::Skew;
# Initialize data
my $hull=[];
my $result={};
while ( 1 ) {
# Exchange message and acquire a new data point
my $datapoint = acquire();
# Call the convexhull subroutine
Time::Skew::convexhull($result,$datapoint,$hull);
# After first message some results are still undefined
( defined $result->{skewjitter} ) || next;
# here you can use the results
};
}
The data returned in the "result" hash is the following:
result->{skew} the clock skew;
result->{skewjitter} the variance of the skew estimate, used to estimate convergence;
result->{jitter} difference between the current delay and the previous delay;
result->{delay} the communication delay, decremented by a constant (yet unknown) value, used to compute communication jitter;
result->{elems} the number of data points in the convex hull;
result->{select} the index of the data point in the convex hull used to compute the skew;
result->{itimestamp} the timestamp, first element in the data point just passed to the subroutine;
result->{delta} the timestamp difference, second element in the data point just passed to the subroutine;
The data returned in the "hull" stack is a series of data points, selected from those passed to successive calls of the subroutine. The number of data points in the "hull" stack usually does not exceed 20 units.
The algorithm is very fast: each call consists in scanning at most all data points in the "hull" stack, performing simple arithmetic operations for each element.
The algorithm must be fed with a sequence of data points before returning significant results. The accuracy of the estimate keeps growing while new data points are passed to the subroutine. A rough rule of thumb to evaluate estimate accuracy is to observe the skew jitter, and assume it corresponds to the skew estimate accuracy. Paths with quite regular communication delay (small jitter) converge faster.
HelenOS 0.2.0.5
HelenOS project is an effort to develop a working operating system according to HelenOS specifications. more>>
HelenOS is being developed by students of Faculty of Mathematics and Physics at Charles University in Prague. The source code is available under the BSD license. Third party components are licensed under GPL.
In case you are interested in our project or have any questions about it, feel free to subscribe to our mailing list. The project is currently under heavy development and we are looking for people to join our team as beta testers. Beta testers of today can become developers of tomorrow.
Main features:
- In-tree means that the port has already begun and that it is possible to build a binary image of SPARTAN kernel for that respective architecture.
- Interrupt & exception handling says whether the kernel is ready to survive and eventually process some kind of interrupt. This especially relates to hardware interrupts like timer interrupts.
- Context save/restore is the ability to save and restore the state of the current CPU within the kernel mode. This is an architecture-specific task and requires some assembly coding.
- FPU context refers to the ability to support threads private floating point environment.
- Time management refers to kernels ability to count timer ticks and execute registered actions on special events called timeouts.
- Kernel preemption, contrary to ordinary userspace preemption, states, that the execution of kernel code can be interrupted whenever CPU priority is low (interrupts are disabled).
- Kernel threads are schedulable entities with own kernel context.
- Synchronization is provided by semaphores, mutexes, rwlocks and condition variables. All of these are SMP safe and capable of timeout mode of operation.
- Heap manager aids dynamic allocation and deallocation of memory for kernel purposes.
- Physical memory management takes care of allocation of frames of physical memory.
- Virtual memory management is the subsystem which provides mapping of virtual addresses to physical memory. It is also used to organize threads userspace memory mappings.
- Userspace threads are threads with userspace stack and virtual memory mapping added.
- Multiprocessor support declares support for SMP systems. Each architecture needs to configure the system on startup to detect all CPUs and make them execute kernel code.
- Little-endian and big-endian architectures are supported.
- 32-bit and one 64-bit architectures are supported.
Enhancements:
- This release fixes several hard hangs.
- It fixes oversynchronized parts of the kernel.
- It simplifies and cleans up task termination.
- The quality of in-source documentation has been improved.
- The new ARM 32 port is integrated.
Quetzal
Quetzal is a Live OpenBSD System. more>>
Main features:
- Symbolic Mathematics Package Maxima + wxMaxima Frontend;
- GNU Image Manipulation Program-GIMP + Full Help/Docs;
- Scripting Language and Graphical Toolkit TCL/TK;
- Object Oriented Scripting Language Python;
- Graphical Toolkit wxWidgets + wxPython;
- Common Unix Printing System-CUPS;
- Internet Messaging System Gaim;
- Complete TeX distribution;
- Text Editor SciTE;
- Remote Desktop;
- PDF Viewer Xpdf;
- File Manager Rox;
- OpenOffice.org Suite;
- Thunderbird Mail Client;
- Firefox Internet Navigator;
- Audio Player XMMS + MP3 Plugin;
- GhostScript & GV Postscript Viewer;
- Dockable Clock, Moon Clock & Audio Mixer.
Performous 0.3.1
A free Linux karaoke game more>>
Performous 0.3.1 is created to be a karaoke program that can both display the lyrics, notes but also display how well you actually hit the notes. Unlike in many other games in this genre, you will also see the pitch that you are singing, so that you can see what you are doing wrong and easily (well, everything is relative) correct your pitch.
Most of the songs available also contain the original vocals and actual karaoke versions are rare.How it works? The game records your voice via a microphone, attached to your computer. The audio is recorded and realtime FFT analysis is done on it. This analysis reveals which frequency bands contain audio (peaks).
Further analysis is used to find out the exact audio frequencies inside each band, and to combine base frequencies and their harmonics into single tones. Finally, some temporal (over time) filtering is applied to the detected tones to smooth out the output. It doesn't matter if you didn't take university courses on acoustics and mathematics, and none of that makes any sense: you will get a wave on screen, displaying your singing pitch.
Scoring and note types
- Regular notes: displayed in light blue (1x points)
- Golden notes: displayed in gold (2x points)
- Freestyle notes: displayed in green, pitch does not matter (1x points)
The singing octave does not matter, so as long as you get the right note in any octave, you will get full points. Singing near the correct note also gives some points, but the amount of points per second decreases as you get farther from the right tone. Singing within the right semitone always gives full points, so you may actually be off by a quarter tone and still get the points.
The maximum number of points is always 10000, but it is practically unreachable in real songs, usual scores being in the range of 2000-9000, depending mostly on the skills of the singer, but also on the song: even though the maximum is the same, slower songs are generally easier to sing.
Oh, and in case you were wondering: you will not get full points by placing the microphone near a speaker, because it will also pick up other instruments, which usually have incorrect pitch. Expect to get about 3000 points with this method.
Major Features :
- Should work on almost any platform
- Primary platform is Linux (where the development is done)
- OS X is known to work well
- Windows should be possible by just compiling the program from source (please let us know if you try)
- Playstation 3 works but is unplayable (needs OpenGL acceleration)
- Very accurate singing pitch detection
- Noisy environments are not an issue
- Multiple simultaneous tones can be detected and separated properly
- OpenGL-based graphics rendering
- Music videos as backgrounds
- Based on ffmpeg (supports almost all formats)
Enhancements:
- Multiplayer with Singstar mics or any other stereo input
- Dramatically improved performance, runs fine on very slow machines now
- Fully OpenGL-based (some kind of 3D acceleration is now mandatory, but even Intel works fine)
- Heavily pimped graphics in singing screen
- Automatically zooming notelines in singing screen
- Real widescreen support (adaptive layout instead of stretching or cropping)
- Song folders are now scanned recursively, in the background without blocking the UI
- Ingame and preview volume may be controlled
- Audio roundtrip latency and audio/video sync controls added
- New score window (still no highscores)
- New menu theme song
- Separate game engine thread, so that slow graphics rendering should no longer affect pitch detection
- Our own audio library libda, supporting ALSA, Pulseaudio, JACK and others
- FFMPEG-based video and audio decoding (together with libda replaces Xine and GStreamer)
- CMake-based build (Autotools are gone for good)
Requirements:
- Graphics chip with OpenGL acceleration (e.g. GF2 MX400)
- Pentium III 700 MHz or comparable CPU
- A microphone