BBC Mashed: Getting Started With Kamaelia


MASHED HACKS:
Speak And Learn - A tool based on gesture/stroke recognition and speech synthesis to be a toy assisting a child to learn to read and write
IRCSpeakerBot
- A tool for connecting to IRC sessions you want to keep abreast of, but don't want to read. This connections to groups and using speech synth literally allows you to listen into chatter on an IRC channel.

Step 1 - Get Kamaelia & Install it

Get the latest version from here:
http://edit.kamaelia.org/release/
Install:
~/> tar zxf Kamaelia-0.6.0-rc7.tar.gz
~/> cd Kamaelia-0.6.0-rc7/
~/Kamaelia-0.6.0-rc7> sudo python setup.py install

Step 2 - Run & Tweak the Examples

Many of these require pygame or similar libraries. We're putting together dependencies as we speak. You'll find the examples in the examples directory.
You will also find a large number of examples in the Kamaelia Cookbook

Step 3 - Start writing your own components

For the moment, see this tutorial on how to go from non-component code to component code

Step 4 - Wire up your component to a new system

The best way to get started here is to look at the examples in the already Kamaelia Cookbook mentioned.

You'll be looking at using a number of the components from the reference area.

Step 5 - Build something new

All sorts of possible ideas exist here - as inspiration please look here:
Our pages for our involvement with Google Summer of Code have lots of ideas.

What's in the Release Candidate?

Well, the usual slew of extra components and bug fixes, a variety of new tools - from video shot change detection, through to SMTP greylisting, but also perhaps the biggest extra: Multiprocess & hence multicore support (experimental at this stage, but so far so good :) )

And a large number of extra components - this is actually a lot more than originally expected/anticipated. However they're divided into two halves - new components and components from applications merged into the repository. (the latter means that you can take parts of random Kamaelia applications and embed them in other random Kamaelia applications. As a result...

New Components:
  • Kamaelia.
    • Chassis
      • Seq
    • Codec
      • WAV, YUV4MPEG
    • Device
      • DVB
        • SoftDemux
        • Parse
          • ParseEventInformationTable, ParseNetworkInformationTable, ParseProgramAssociationTable, ParseProgramMapTable, ParseServiceDescriptionTable, ParseTimeAndDateTable, ParseTimeOffsetTable, PrettifyTables, ReassemblePSITables
    • Experimental
      • Chassis, ERParsing
    • File
      • MaxSpeedFileReader, UnixProcess2
    • Internet
      • TimeOutCSA
    • Protocol
      • MimeRequestComponent, RecoverOrder, SDP
      • AIM
        • AIMHarness, ChatManager, LoginHandler, OSCARClient
      • HTTP
        • Handlers
          • Minimal, Handlers/SessionExample, UploadTorrents
      • IRC
        • IRCClient
      • RTP
        • NullPayloadPreFramer, NullPayloadRTP, RTCPHeader, RTPHeader, RtpPacker, RTP
      • Util
        • Tokenisation
          • Simple
        • Collate, FirstOnly, Max, OneShot, PromptedTurnstile, RangeFilter, RateChunker, SequentialTransformer, Sync, TagWithSequenceNumber, TwoWaySplitter
      • UI
        • Pygame
          • Text, VideoSurface
      • Video
        • CropAndScale, DetectShotChanges, PixFormatConversion
      • Visualisation
        • ER
          • ERLaws, ERVisualiserServer, ExtraWindowFurniture, PAttribute, PEntity, PISA, PRelation
      • XML
        • SimpleXMLParser
Components merged in from Apps:
  • Kamaelia
    • Apps
      • Compose
        • BuildViewer, CodeGen, PipeBuild, PipelineWriter, GUI
        • GUI
          • ArgumentsPanel, BuilderControlsGUI, TextOutputGUI
      • IRCLogger
        • Support
      • Show
        • GraphSlides
      • Whiteboard
        • Audio, Canvas, CheckpointSequencer, CommandConsole, Entuple, Options, Painter, Palette, Router, Routers, SingleShot, TagFiltering, Tokenisation, TwoWaySplitter, UI
All of this also totally ignores the new examples & new Kamaelia based apps.
Also a new website is coming soon, but time ran out :-)



 

Kamaelia is an open source project originated from and guided by BBC Research. For more information browse the site or get in contact.

This is an ongoing community based development site. As a result the contents of this page is the opinions of the contributors of the pages involved not the organisations involved. Specificially, this page may contain personal views which are not the views of the BBC. (the site is powered by a wiki engine)

(C) Copyright 2008 Kamaelia Contributors, including the British Broadcasting Corporation, All Rights Reserved

This web site is powered by the same code created for the bicker manor project. For more details, contact Michael Sparks at BBC Research directly (cf contact)