Kristopher Tenk
Registered User
Join date: 11 Apr 2007
Posts: 153
|
03-17-2008 08:48
** Sorry just noticed in wrong area, can this be moved please
I would like to know if there was a way to stream my Amarok playlist to SL, so I can DJ. I tried IDJC but when i listen to its play back its very very stuttery.
I dont mind if i cant speak, i just wana play a few tracks and play about with DJn and streamin in to SL.
I know its easy with winamp and XP, but i dont wana use a VM.
Thanks
|
WatchlessAnd Timeless
Registered User
Join date: 13 Nov 2007
Posts: 3
|
03-17-2008 13:18
From: Kristopher Tenk I would like to know if there was a way to stream my Amarok playlist to SL, so I can DJ. I tried IDJC but when i listen to its play back its very very stuttery. IDJC should "just work". Have you tried just setting up a station normally (i.e. not SL)? If that's not working, maybe you're trying to stream at too high a bandwidth?
|
Kristopher Tenk
Registered User
Join date: 11 Apr 2007
Posts: 153
|
03-17-2008 13:33
No what i mean is, when i load a song in the play list and press play to listen locally, its very stuttery (just listening to it like i would using amarok or totem)
|
Michelle2 Zenovka
Registered User
Join date: 6 Jan 2008
Posts: 63
|
03-17-2008 14:07
From: someone No what i mean is, when i load a song in the play list and press play to listen locally, its very stuttery (just listening to it like i would using amarok or totem)
Could this be related to any of the "choppy sound" threads in the forum due to the viewer using OSS and grabbing /dev/dsp? or possibly is your system running out of processor time to keep running the streaming server thread so that the viewer is dominating and the streaming sound is indeed dropping out?
|
Kristopher Tenk
Registered User
Join date: 11 Apr 2007
Posts: 153
|
03-18-2008 01:14
No think of me just and only using IDJC, its the only application open. And am using that as say my media player, when i press play its stuttery. I am not streaming it in to anythin, just using that on its own. Hope that clears it up a bit 
|
Roslyn Korobase
Registered User
Join date: 3 Mar 2007
Posts: 23
|
03-18-2008 08:11
Ah yea sorry, i understand now.
Same basic issues still apply though, something hogging processor, something grabbing sound system. BTW what desktop to you use?, for gnome/kde make sure you use alsa/esd or some other modern sound system, or disable the desktop sound system.
May be run "top" when playing your music to see if there is a processor hog or a wait io hog or something nasty going on?
M2
|
Mneten Gynoid
Registered User
Join date: 24 May 2007
Posts: 2
|
03-18-2008 19:28
in my personal experience idjc is the best to use, with a simple but super useful interface... however, getting it to install properly and getting all the bugs worked out is... a pain. to get amarok to stream shouldn't be impossible, check here http://electrostorm.net/project/amarok-icesor go to the tools -> script manager menu in amarok and look for the 'amarok ices script' i haven't played with it yet, but it looks like it should do the trick *edit: (still need an icecast2 server though, not sure if shoutcast servers will work).
|
Kristopher Tenk
Registered User
Join date: 11 Apr 2007
Posts: 153
|
03-19-2008 02:31
@WatchlessAnd - Nope did a full restart with minimum apps loading and top just looked normal.
@Mneten - Cool will take a look at this, don't think using that as a server should be an issue...though will require a little reading but cool thanks.
Just wish there was an easy was like in Windows and Winamp...only 1min and your done lol but i like my Ubuntu.
|
Tiyuk Quellmalz
Registered User
Join date: 9 Jan 2007
Posts: 24
|
03-25-2008 18:09
IDJC uses Jack. Jack has a lot of limitations and is generally incompatible with the desktop configuration of distros like Ubuntu. They designed Jack with a lot of sacrifices in order to provide a very particular audio path for users who need advanced audio capabilities and extreme low latencies. But it's also a very error-prone and fragile software stack, especially in the face of other sound APIs on the system.
The main reason why IDJC uses Jack is because, when IDJC was written, Jack was the only sound server mechanism that always provides a software monitor source. A monitor source is an input device (a sound device that applications read data from, rather than write to), which simply plays back some output sink. The most common use of a monitor source is to take what's coming out of your speakers/headphones and digitally redirect that (without using a microphone) back into the system for further processing. In the case of IDJC, the author has written a music player that plays to the output of the Jack server. But Jack has a monitor source for its output -- meaning that the output is copied back into an input stream. IDJC then uses this input stream as the source for a libshout client.
One alternative to Jack-only streaming apps like IDJC, is to use Darkice. Darkice accepts sound from an *input* (sometimes called a source) and streams that. Darkice uses OSS or ALSA devices right now. This approach has several advantages:
1. You can stream *ANY* music playing app. As a matter of fact, you can stream any sound at all that is coming out of your speakers. 2. If you decide you like another media player later, you don't have to change your streaming setup at all. 3. You can stream multiple applications at the same time. 4. With the proper backend, you can combine your microphone and other sound output, and stream them both at the same time.
Since Darkice supports the ALSA plug layer, you can theoretically stream from any ALSA device. However, most ALSA hardware drivers do not currently provide the monitor source that we need. To correct this, I suggest you use the modern sound server PulseAudio, which has a monitor source. Once you tell PulseAudio to use the monitor source as the default input device (via padevchooser), you can then tell DarkIce to use the PulseAudio<->ALSA-lib plug at the ALSA layer.
In the end, your sound path will look something like this: Amarok (xine) -> PulseAudio -> (monitor source within pulseaudio) -> ALSA 'pulse' plug -> DarkIce -> icecast2 server -> the Internet.
The relevant Ubuntu packages: pulseaudio darkice padevchooser libasound2-plugins
Optional: darksnow. darksnow is a GUI wrapper around darkice.
The relevant configuration files:
/etc/darkice.cfg, if you don't use darksnow /etc/asound.conf, which needs to have the 'pulse' device enabled /etc/pulse/daemon.conf and /etc/pulse/default.pa if you want to customize the pulseaudio setup (i.e. make it run with realtime priority, higher-quality /etc/icecast2/icecast.xml -- required to set up your icecast2 server
Note that I'm assuming you have the required ports open in any hardware firewalls between your computer and the public internet. If you're under a NAT router, you'd need to port forward port 8000 or 8001 to your computer. If you were able to run Shoutcast under Winamp and stream that to SL, you can ignore this concern.
Finally, you might want to keep your desktop sounds playing through a path which doesn't involve pulseaudio -- that way, when you receive an instant message or play a Flash video, it won't stream to the world.
You can do that by directing all your apps to use ALSA's 'dmix' device (including PulseAudio). There is a page on the ALSA wiki about enabling dmix by default, googling should yield results. Then you just have to edit /etc/pulse/default.pa, comment out the HAL modules and enable an alsa sink and source pointing to default instead of hw:X.
The result of this is you have apps "to be streamed" (all PulseAudio clients) and "not to be streamed" (all ALSA dmix clients which don't go through PulseAudio). DarkIce/DarkSnow should be configured to open the 'pulse' device you define.
All of the things I've stated consist of a few commands or modifying a few lines in a configuration file. If you'd like me to go into more detail, let me know.
No, it's not easy in the sense that Shoutcast on Winamp is easy. But audio stuff on Linux is so fragmented and scattered that you basically have to delve into the details if you want to do anything more sophisticated than play music through the default media player. The package maintainers can only support so many use cases; this is not a common enough one to warrant a configuration like this "by default".
-Tiyuk
|