Thursday, September 9, 2010

How to Create your own Radio Station on the SHOUTcast 2.0 platform?

Here is a simple step by step tutorial on how to Broadcast your Internet Radio Station on SHOUTcast 2.0 platform.

Remember this is basic broadcasting. If you wish to know about advanced settings, that's a separate discussion, details of which I could post later based upon user interest.

Here is a simple video of that shows all the steps:



Step 1
Download and extract latest DNAS from the SHOUTcast site
Step 2
Register yourself as a broadcaster on SHOUTcast.com and get a authkey. The authkey is important
for you to broadcast in the 2.0 mode. Once registered this will give you a conf file that you need to
pass to the DNAS (sc_serv)
Step 3
Configure the downloaded conf file for DNAS and execute!
Step 4
Download and extract the latest SC_TRANS from the SHOUTcast site
Step 5
Configure the SC_TRANS conf file

Also, find below a sample SC_TRANS conf file that you could use - make sure to change the serverip and the serverport fields to the IP and the port of the machine where your DNAS is running.

Let's name the file sc_trans_demo.conf

;; ENCODER OPTIONS

encoder=aacp
bitrate=64000
samplerate=44100
channels=2
aacpbitstreamformat=0


;;; NETWORK OPTIONS
outprotocol=3
serverip=YOUR DNAS(sc_serv) IP
serverport=PORT
password=foobar
uvoxstreamid=1
uvoxauth=foobar
uvoxradiometadata=0
uvoxnewmetadata=1
uvoxmetadatafudgefactor=0.0 secs
shoutcastmetadatafudgefactor=0.0 secs


;;;; LOGGING OPTIONS:
;where does the log file go
logfile=C:/sc_transdemo.log
; 1 to do screen logging else 0
screenlog=1


;;;;;; METADATA CONTROL
public=1

;;;; PLAYLIST CONTROL
; your playlist
playlistfile=C:\sc_trans_demo\sc_trans drop 02_22_2010\playlist_win32.lst
; set our crossfade time to 2 seconds. zero means no xfade
xfade=5
; file must be at least 20 seconds or we don't crossfade
xfadethreshold=20
; drop folder for priority playlists
playlists=playlist/
; where finished priority playlists get copied
archive=archive/




;; REPLAY GAIN CONTROL:
applyreplaygain=0
calculatereplaygain=0

;;; OTHER:
adminport=5555
adminuser=admin
adminpassword=goaway

That's it. Congratulations!! you are now a broadcaster.

Tuesday, April 13, 2010

Johnny Cash was so punk

Why you ask? Nothing symbolizes a rebel with a cause like Punk does. And Johnny Cash was safely anti-establishment.
Here are a few facts
1. Extremely strong song lyrics about how the native Americans were slowly but surely marginalized
2. Low rumbling baritone that could make you sit up and listen
3.Just to quote him
“I'd like to wear a rainbow every day, and tell the world that everything is o.k. But I'll try to carry off a little darkness on my back. Until things are brighter, I'm the Man in Black.”
4. Always, ALWAYS, ALLLWAYS wore black

And the best punk song from him ever was The Beast In Me. So grab your whiskey and your cigarettes and face The Beast in yourselves

Monday, April 12, 2010

Lady Gaga - more than just shock value?

Recently one of my friends came running gleefully (like a little girl who suddenly found her long lost barbie) declaring that "he" was one of the first to check out Lady Gaga's latest number called "bad romance" and that I should most definitely check it out.
Now I don't think much of lady gaga and everytime she comes on VH1 I am compelled to reach for my remote and change the channel simply because she is really an eyesore. Especially telephone where she has paired up with Beyonce is perhaps a very good example of why moms don't let their teen daughters watch TV. Pretty awfully bad to put it mildly.

However on my friend's insistence (and given that previously he did display relatively better taste in music) I went on to check out Bad Romance...

And I was pleasantly surprised. The lady actually does have talent. I especially liked the range she displayed in going from one mood to another. Pretty powerful singing there. Take a listen for yourself guys, this lady is here to stay.....

Thursday, April 1, 2010

Greatest Rock Love Songs Ever - Playing on RhythmFish

And you thought that rock-stars did not have a heart eh.

Here is a list of the most romantic rock songs ever and they are on rhythmfish all through the long weekend.

Indulge....TUNE IN NOW!

The List


Eagles :: Love Will Keep Us Alive



Hootie and the Blowfish :: Only Wanna Be With You



Dire Straits :: When It Comes To U.mp3



The Doors :: Light my fire



Guns n' Roses :: November Rain



Matchbox 20 :: Madseason



Aerosmith :: I Dont Wanna Miss A Thing



Def Leppard :: Have you ever needed someone so bad



Pearl Jam :: Last Kiss



Husker Du :: Could You Be The One



Randall Bramblett :: Comin 'Round Soon (Not exactly a love song, but we love this guy)



Stone Temple Pilots :: Plush



Guns n' Roses :: Sweet Child of Mine


TUNE IN  now!!!

Monday, March 22, 2010

Weird lyrics I will never understand

Have you ever come across a song whose lyrics made you go "Huh??!?" Sure you have.


Here is my top 10 list of weirdest / dumbest / worst lyrics of all times


10. Neil Diamond - I am....I said



"I am I said
To no-one there
And no-one heard at all
Not even the chair"



"I am I said" - but what did you say? Did you say "I am"? And then did you stop talking? And you expected the chair to respond by saying.... um, what exactly? A real gem Mr. Diamond.






9. Elton John - Your Song

"If I was a sculptor, but then again, no"

Oh come on Sir John,  make up your mind already












8. Paul McCartney - Let em In




"Someone’s knocking at the door
Somebody’s ringing the bell
Do me a favor, open the door and let them in"



A step-by-step guide on what to do when somebody knocks the door. Hey Paul, why don't you enlighten us by telling us what to do next? Like ask them to have a seat, offer them drinks maybe.....pedestrian. Especially coming from you.






7. Jessica Simpson - I Think I'm in Love With You

I don't know what's gotten into me
But, I think I know what it is

She's taken over from Sir Elton John as the most confusing lyricist ever. Although what's really intriguing is the self proclamation that she can think. 












6. Bono - Grace


"Grace - It's a name for a girl"


Bono the true genius, no?
















5. The Killers - Human


"Are we human? Or are we dancer? 
My sign is vital,  My hands are cold"



We are humans, but whoever wrote these lyrics clearly isn't. Also refutes the theory that aliens are more intelligent than us. 


4. Fergie - London Bridge


"When I come to the club step aside, Pop the seats don't be havin' me a line
VIP cause you know i gotta shine, I'm Fergie Ferg and me love you long time"


Somebody really needed to have a word with her English teachers.











3. Back Street Boys - I Want It That Way

"I Want It That Way"

THAT way as in? OK maybe we get it. But there wasn't any need to make it so obvious. Really.












2. Nile: Unas Slayer of the God




"Behold Amkebu Hath Snared Them for Unas
Behold Tecber Tep F Hath Known Them"



No kidding. Those are the lyrics. And it's a English song. Unbelievable? Believe it.











1. Kanye West - Gettin' It In


"My apologies are you into astrology, 
Cause, um, im trying to make it to Uranus"

Here is a very good reason why I do not listen to Hip-hop. Dear Kanye, even your astrologer would have asked you to consult an astronomer on that. BTW your astrologer did predict that you would grow up to be real stupid. 

Saturday, February 6, 2010

Live Internet Streaming - So what does it take?





Alright. So here are some answers. We still have a long way to go in terms of quality, performance, making it mobile compatible etc, but here are the basics and they are "Rock" solid.
Oh and a warning in advance - this is a technical post.

We need the following components:
1. Recorder
2. Media Converter
3. Transmitter
4. Receiver

Although these components can be technology agnostic, for the sake of our understanding, let us assume that we build these components in java.
In this post I will be addressing the core challenge which is of seamless communication lines between the transmitter and the receiver. In my next posts I shall talk about the first 2 components viz Recorder and Media Converter. Why you ask? Cos I haven't really figured out the best way to address those, and besides getting that done is the easy part. Getting the stream transmitted seamlessly over the socket by a protocol of our choosing ensuring that we have minimal packet loss and having a reasonably good number of receivers hooking onto the stream without noticeable impact on performance is the tough part.

The primary requirement would be for the transmitter as well as the receiver to be able to talking to each other, either over the LAN or over some socket of communication.

The Transmitter

Let's jump straightaway into a little bit of pseudo code:

private String createMediaTransmitter() {
DataSink transmitter;
Datasource dataGen;
        String transURL = "rtp://" + ipAddress + ":" + port + "/video";
MediaLocator outputLocator = new MediaLocator(transURL);
//create implementation of dataGen before transmitting
        transmitter = Manager.createDataSink(dataGen, outputLocator);
//provide implementation of transmitting
// for eg- transmitter needs to be opened and started. Then the dataGen needs to be generated from a source
    }

The transURL is of particular interest. Notice two things. The first is "rtp" implying that we will be using the RTP protocol to provide transmission. The second is "video" indicating that the transmission will happen for video content only. Of course that is hardly sufficient for us, unless we transmit audio content also. Silent movies aren't exactly a 21st century thing. What we need to do is send Video and Radio as sessions. As a result the transmitter cannot be of type DataSink but needs to be of type RTPManager. The RTPManager works well with sessions and can be used to keep track of individual video and audio streams.


private String createMediaTransmitter() {
private RTPManager rtpMgrs[];
DataSource dataGen;
PushBufferStream objpbss[] = dataGen.getStreams(); //video and audio or only audio
rtpMgrs = new RTPManager[objpbss.length];
SessionAddress srcAddr, destAddr;
InetAddress ipAddr;
SendStream sendStream;
int port;
SourceDescription srcDesList[];
for (int i = 0; i < pbss.length; i++) {
   try {
rtpMgrs[i] = RTPManager.newInstance();    
                 port = portBase + 2*i;
ipAddr = InetAddress.getByName(ipAddress);
                 localAddr = new SessionAddress( InetAddress.getLocalHost(),
port);
destAddr = new SessionAddress( ipAddr, port);
rtpMgrs[i].initialize( localAddr);
rtpMgrs[i].addTarget( destAddr);
System.err.println( "Created RTP session: " + ipAddress + " " + port);
sendStream = rtpMgrs[i].createSendStream(dataGen, i);
sendStream.start();
   } catch (Exception  e) {
return e.getMessage();
   }
}


return null;
    }


In this case there would be 2 rtpMgrs one for video and one for audio. The SessionAddress object is used to create RTP sessions. Also in this case the time complexity is O(n). However n is finite in this case which means there would not too much latency in terms of the video and audio being received at the receiver end.


The Receiver


The implementation of the reciever is fairly straightforward. One has to create a RTP session via the RTP Manager and keep listening for any new streams that come in. Also a Media Player needs to be instantiated which will then stream the media content. 

Following is a pseudo code


public synchronized void startReceiving(ReceiveStreamEvent objRSE) {


     rtpMgrs= new RTPManager[sessions.length];
         for (int i = 0; i < sessions.length; i++) {
         rtpMgrs[i] = (RTPManager) RTPManager.newInstance();
rtpMgrs[i].addSessionListener(this);
rtpMgrs[i].addReceiveStreamListener(this);
        rtpMgrs[i].initialize( localAddr);
        rtpMgrs[i].addTarget(destAddr);


     }
   if (objRSE instanceof NewReceiveStreamEvent) {
   stream = ((NewReceiveStreamEvent)objRSE).getReceiveStream();
DataSource ds = stream.getDataSource();
        RTPControl rtpctl = (RTPControl)ds.getControl("javax.media.rtp.RTPControl");
// create a player by passing datasource to the Media Manager
Player pl = javax.media.Manager.createPlayer(ds);
pl.addControllerListener(this);
pl.realize();
PlayerWindow pw = new PlayerWindow(pl, stream);
playerWindows.addElement(pw);


}

Thursday, January 28, 2010

Live Internet Streaming - for you and for me...

...and the entire human race....

Imagine you are walking down Brigade Road or Dover lane or Central Park or..................   anyways it's not important where you are. Now imagine that you spot somebody playing a really awesome guitar riff that you have never heard before. How would it be if you could stream the person live through your handheld on to an audience on the internet and maybe take live requests. You could make the person famous. You could get famous yourself. The obscure man with the guitar could now get a face.

Just a thought - not an impossible one though.....

Tuesday, January 26, 2010

Best Band Emblems


Was wondering about this for quite a while. The best band emblems through times. Some are extremely creative. Come to think of it, most musicians are art school dropouts at heart.  Read on......

10.  The Offspring



The famous flaming skull emblem has become the "torch bearer" of sorts for the new age punk rock revolution and is also identified with Napster. Reason being they were the only ones who supported P2P file sharing and even had Napster t-shirts distributed at their concerts.


9. Phish
 

On the surface its a logo that looks like a fish for a band named Phish. But that's only on the surface. If you read it upside down it reads "Acid". Variations of the logo have it reading as liquid (as in LSD). Wicked.




8. Jamiroquai
This is a very good example of how a picture can lead to brand identification. The picture is an identification for the band's lead vocalist Jason Kay.He did come dressed as a buffalo in quite a few of the videos :)


7. Nine Inch Nails


NIN for the win as they say. If you are from the 90s and if you did not have atleast one t-shirt with the perfectly symmetrical NIN drawn on it then you have not been alternative.

6. AC/DC


You like hard rock, you have heard AC/DC, you have been hit by lightening and you know what the logo looks like. The "/" is made to look like a electric volt. For obvious reasons.


5. ABBA




I find this one especially creative. As we know the band's name is an acronym for the two couples in the group -- Agnetha & Björn, and Benny & Anni-Frid . So in the logo the two B's face each of their respective partner A's. Sensitive Swedes ;)


4. Queen




A work of art this one. The letter "Q" in the queen's crest is surrounded by the zodiac signs of each of the four band members. Freddie Mercury (the band's lead singer) came up with this logo. That he was a graduate from the London school of arts must have come handy.

3. The Grateful Dead


The famous "Steal your face" symbol was originally intended to "mark" the band's equipments so that other rock bands did not accidentally exchange guitars et all during rock festivals.


2.  Led Zeppelin


The biggest band of the early seventies had perhaps one of the most popular emblems of the century. The four symbols on the logo and inside sleeve of Led Zeppelin IV, representing (from left to right) Jimmy Page, John Paul Jones, John Bonham, and Robert Plant.
 Each had their own unique reason for the symbols.

1.  The Rolling Stones


One of the most easily recognizable motifs, done by John Pasche the emblem was inspired by Mick Jagger's lips and the Hindu goddess Kali.