Short downtime on 2009-06-02

June 2nd, 2009 Torrid Posted in Blog, Community, English, Firma, Netstuff, Tech, deutsch, internal 1 Comment »

Suwwy guys, primforge.com was having a short downtime earlier this day, therefore our online services and the SLInside Panel were affected..

Meine schöne Uptime… Naja, nach 300 Tagen braucht soger ein Torrid-proof Gentoo-Linuxrechner mal einen Reboot ^.~
Der Apache war heute vormittag kurzzeitig nicht ansprechbar, daher kam es in den SLInside-Panels zu Fehlermeldungen.

Sincerely,
Your Administress

AddThis Social Bookmark Button

Sirikata, a new Open Source VW

March 10th, 2009 Torrid Posted in English, Media, Tech, video No Comments »

Now this is getting interesting. Sirikata is a free and open source Virtual Worlds system, from the Stanford Uni. It’s about to launch in Q1 2009, but the source is already available.

Here are 2 teaser videos, a fly around and a speech on technical details:


Sirikata Architecture from Sirikata on Vimeo.


Sirikata Teaser from Sirikata on Vimeo.

I’m off, trying to compile it. More later.

UPdate: Here is a 3rd video:


Sirikata from a content creator’s point of view from Henrik Bennetsen on Vimeo.

(via Phasinggrace and Raph Koster)

AddThis Social Bookmark Button

Capturing SL Sessions on Linux with glc

February 7th, 2009 Torrid Posted in Audio, Media, Science, Tech, second life, video No Comments »

There’s a new program to capture OpenGL Sessions with Linux, glc. I did some simple tests with it today, and it seems to work very well.

glc-capture  -n  -s  -f 20 -g -o sl2.glc ./secondlife

creates a 800MByte file for a few minutes in SL.

# extract the audio stream

glc-play sl2.glc -o – -a 1 | lame -hV2 – /tmp/audio.mp3

# and make a 2 pass transcoding to a mp3/h264 avi.

glc-play sl2.glc  -o – -y 1 | mencoder -demuxer y4m – -nosound -ovc x264 -x264encopts qp=18:pass=1 -of avi -o /tmp/video.avi

glc-play sl2.glc -o – -y 1 | mencoder -demuxer y4m – -audiofile /tmp/audio.mp3 -oac copy -ovc x264 -x264encopts qp=18:pass=2 -of avi -o /tmp/video.avi

(70MByte for a 2:45 818×636 video)

But we can do better:

ffmpeg2theora /tmp/video.avi -o /tmp/video.ogv

This creates a file of half the size, and directly compatible to the new builtin video support for Firefox3.1 , Ogg/Theora.

AddThis Social Bookmark Button

Voice on Linux

February 4th, 2009 Torrid Posted in Audio, Blog, English, LoTek, Tech, second life No Comments »

Today, the question came up, how to use Second Life Voice under Linux. Here’s how:

First, you need a separate sound card for Voice, that doesn’t get occupied by other resources. Commonly, that would be a Headset with a USB plug (I use a Logitech Premium Notebook Headset, I think it’s worth the price, but with the right alsa config any piece should work).

Second, you have to configure your Alsa to use dmix and dsnoop on the in- and outputs of both Audio devices. (Save your old ~/.asoundrc and /etc/asound.conf if all else fails.)

Here’s my /etc/asound.conf:

# both hardware cards get a symbolic name instead of the
# hw0 and hw1. Find your
# card names with cat /proc/asound/cards

pcm.logitech {
type hw
card Headset
}
pcm.edirol {
type hw
card UA25
}

# now the logitech headset output is plugged thru dmix

pcm.lomix {
type dmix
ipc_key 1344
slave.pcm “logitech”
}

# and the input through dsnoop

pcm.losnoop {
type dsnoop
ipc_key 1343
slave.pcm “logitech”
}
#same for my edirol UA25

pcm.edmix {
type dmix
ipc_key 1346
slave.pcm “edirol”
}

pcm.edsnoop {
type dsnoop
ipc_key 1345
slave.pcm “edirol”
}

# input and output are plugged together again with the asym module

pcm.asymed {
type asym
playback.pcm “edmix”
capture.pcm “edsnoop”
}

# and get a plug abstraction
pcm.pasymed {
type plug
slave.pcm “asymed”
}

# and a mixer button (this card has no programmable mixer,
# just lots of knobs^^)
# You won’t need that with a builtin card, just plug the
# default (next unit) directly into “pasymed” instead of “softvol”.

pcm.softvol {
type            softvol
slave {
pcm         “pasymed”
}

# now it gets defined as the default in/output

pcm.!default {
type             plug

slave.pcm       “softvol”
control {
name        “SoftMaster”
card        UA25
}

}
# same for the logitech headset
pcm.asymlo {
type asym
playback.pcm “lomix”
capture.pcm “losnoop”
}

# this needs no mixer and no default! so we’re done
pcm.headset {
type plug
slave.pcm “asymlo”
}

As you can see, right at the beginning I’m defining symbolic names for both of my cards, so I don’t have to mess with the hardware numbers later (the numbers get messed up anyway, when you plug off any of the devices). Then, I define a dmix sink and a dsnoop source for each device, and plug them together with a asym type. One of the resulting pcm devices gets my default. (I also define a soft mixer for my UA 25 sound device, since this has no builtin mixer. It depends on your Soundcard, if you need that.)

To test this setup, close all audio software (Flash are notorious for blocking audio, so close your browser. And Skype, oh my.) . Stop all your Sound daemons, like esound, pulseaudio and so on. Restart the alsa service for your machine. Now: you want all sound sinks to play serveral sources simultaneously:

aplay -D default somelong.wav & sleep 1 ;  aplay -D default somelong.wav # this line is not broken by definition

This should result in playing the same file with a 1 second “echo”, and NOT in any error.

Now the same for the not-default headset device:

aplay -D headset somelong.wav & sleep 1 ;  aplay -D headset somelong.wav # this line is not broken by definition

This must also play the chosen wav file 2 times, the second one delayed by one second. As long as you don’t get that running, you can check with alsamixer -c 0 and alsamicer -c 1, if both cards are running, and with cat /proc/asound/pcm  or aplay -l if your pcm devices are up.

Next comes the tricky part. It seems that the Vivox client wants a sampling rate of 32kHz for recording from your mic. Test it with:

arecord -D headset -f S16_LE -c 1 -r 32k  -B 2000 | aplay -D headset # this line is not broken by definition

This should record a signed 16bit Litle Endian 32000Hz stream from your Headset mic, delay it by 2 seconds and send back to the headset output. If that doesn’t work, call 0800-TORRID. ;-)
(If you have a nice job in the Virtual Worlds environment, call me too.)

OK. We now have a unoccupied headset device that can play (and theoretically record multiple streams at once, and record with the udocumented, but needed sample rate, Vivox seems to use. And we have a default device bind them all, err, I mean handle the rest, your Music, Flash, annoying keystroke  sounds… You get it.

Al we need now is a ~/.alsoftrc file to tell Vivox, which libopenal devices to use:

format = AL_FORMAT_STEREO16
cf_level = 0
frequency = 44100
refresh = 8192
sources = 256
stereodup =
drivers =

[alsa]
device = headset
periods = 0
capture = headset
mmap = true

This file (delete the ~/.openalrc stuff, and don’t use the old lisp notation, both is obsolete) tells the openAL which source to offer as default device. This is the one single point where you tell any lib to use your headset.

Important: Never use something else than the “Default” devices from the list that spring up in the Second Life Client, otherwise everything was futile. This means: DON’T USE esound, DON’T USE pulseaudio. Tell your ./secondlife script to use alsa only.

NB: Pulseaudio is a great software for Linux, it solves all sort of problems, but to do so, it captures all your audio devices, right at the hardware, which is exactly what we DOH NOT WANT. (For SL Voice, that is…) Tell your Gnome, Gstreamer, KDE, whatever to use your Alsa Default Device as source and sink, it works.

Oh, and I forgot someting important: Right now, with the current SL Beta client, you still have to patch the libvivoxsdk.so as described in the Jira:

Just go to your SL Client installation, in the lib directory, and run this little shell script:

#! /bin/sh
sed ’s/:$/: /g’ /proc/cpuinfo > cpuinfo
cp libvivoxsdk.so libvivoxsdk.so.bak
sed ’s/\/proc\/cpuinfo/lib\/cpuinfo\c@\c@/g’ libvivoxsdk.so.bak
>libvivoxsdk.so

# this script has4 lines. If you don’t know what you’re doing,
# buy a Mac.

Somehow the libvivoxsdk cannot parse /proc/cpuinfo right, under certain cirumstances. This script creates a cpuinfo file in your lib, and patches the library to use it, instead of the original.

Now you have Voice with Linux SL. I hope.

AddThis Social Bookmark Button

Hypergrid is the new teleport

January 29th, 2009 Torrid Posted in Blog, English, Netstuff, Tech, opensim No Comments »

I’ve been teleporting around the smashing new Hypergrid experience this last night, and all I can say: Watch out, Second Life! All reasoning saying that Opensim would split the small scene into so many divided grids and cultures is nonexistent for me from today on. And OpenSimulator actually is the Apache of 3D environments.osgrid-2009-01-29

Ah, and a Happy Birthday to OpenSimulator! :-)

AddThis Social Bookmark Button

Work in Progress

January 19th, 2009 Torrid Posted in Blog, Business, English, Tech, second life No Comments »

Being cut off from Second Life once more, the 3rd time today, I have some time for blogging. I must say that the Blog postings of Frank Ambrose really sound postitive, and make transparent what they are working on right now. I don’t want to be in their shoes right now, refactoring a running system with literally hundred thousands of users. And I really appreciate that sort of openness, I just hope it’s not too late…

Much much better than the speech of Philip on Metanomics today, where I first couldn’t login, then tried for almost 15 minutes to get an video stream, and then he talked about nothing, as far as I could understand…

AddThis Social Bookmark Button

Intergrid logins made easy with the rezzme URL scheme

January 8th, 2009 Torrid Posted in English, LoTek, Meta, Netstuff, Tech, opensim, second life 3 Comments »

I found a nice new project yeasterday: The rezzme:// URI scheme is a method to bookmark virtual places that goes far deeper than the secondlife:// or SLurl system, which both are limited to Second Life.

Usage (examples):

Of course, just defining a new URL scheme does nothing yet,  you need a program that understands the URL scheme.  Under http://forge.opensimulator.org/gf/project/rezzme/scmsvn/?action=AccessInfo there’s a protocol handler, written in Python/Qt4, that is able to parse the rezzme-Scheme and bookmark the URLs. It even enables you to define several different clients to open certain adresses with, so if you want to use the Meerkat or Hippo viewer for a certain address, this is no problem.

rezzme-launcher1

The handler is available for Win and Linux so far, a Mac version should follow soon. It simply saves the bookmarks and defined clients in 2 files in your home directory, .rezzme.clients and .rezzme.bookmarks. By adding the rezzmy.py program to your Firefox config you will be able to start these clients by simply clicking a Web URL.

Way cool.

AddThis Social Bookmark Button

Says Penguin A to Penguin B (virtually speaking)

January 3rd, 2009 Torrid Posted in Blog, English, Galleries, NotAnArt, Tech, Thoughts, unmut No Comments »

Maybe I should start writing patents too. My drawings look just like this, before I start thinking (programming, scripting, planning, whatever).Yeah, that’s some carefully hand-selected drawings of the infamous Virtual Worlds patent (System and method for enabling users to interact in a virtual space).

(via: Heiseticker, Virtual Worlds News, The Register and countless others…)vw-patent1

AddThis Social Bookmark Button




Technorati Profile