diff --git a/app/assets/javascripts/.music_player.js.swo b/app/assets/javascripts/.music_player.js.swo
new file mode 100644
index 0000000000000000000000000000000000000000..193c93e3a4cf5249702f8e9d0d3a895f5a1ce0e7
Binary files /dev/null and b/app/assets/javascripts/.music_player.js.swo differ
diff --git a/app/assets/javascripts/music_player.js b/app/assets/javascripts/music_player.js
index 18f3312983ff98bbfd2c608873409869075ba221..6b6df22528e47dca607a69a77150ba0a2c1f410f 100644
--- a/app/assets/javascripts/music_player.js
+++ b/app/assets/javascripts/music_player.js
@@ -5,6 +5,9 @@ $( ".clickable_links" ).each(function() {
   if ($(this).data().player == "youtube" ) {
     $(this).on( 'click', youtube_click);
   }
+  else if ($(this).data().player == "soundcloud" ) {
+    $(this).on( 'click', soundcloud_click);
+  }
 });
 
 function youtube_click() {
@@ -13,28 +16,27 @@ function youtube_click() {
 }
 
 function youtube_player() {
-  if (player && $("div#music_player").length == 0) {
-    player.loadVideoById(music_info.data().url);
-  }
-  else {
-    player = new YT.Player('music_player', {
-      height: '390',
-      width: '640',
-      videoId: music_info.data().url,
-      events: {
-        'onReady': player_launch,
-        'onStateChange': onPlayerStateChange,
-        'onError': player_error
-      }
-    });
-  }
+  player_destroy();
+  player = new YT.Player('player_block', {
+    height: '390',
+    width: '640',
+    videoId: music_info.data().url,
+    events: {
+      'onReady': player_launch,
+      'onStateChange': onPlayerStateChange,
+      'onError': player_error
+    }
+  });
 }
 
 function next_music() {
   music_info = $("li[data-id=\'"+music_info.data().id+"\']").next();
   if (music_info.data().player == "youtube" ) {
     youtube_player();
-  } 
+  }
+  else if (music_info.data().player == "soundcloud" ) {
+    soundcloud_player();
+  }
 }
 
 function onPlayerStateChange(event) {
@@ -42,11 +44,55 @@ function onPlayerStateChange(event) {
     next_music();
   }
 }
-
 function player_error(event) {
   next_music();
 }
-
 function player_launch(event) {
   event.target.playVideo();
 }
+
+
+
+function soundcloud_click() {
+  music_info = $(this);
+  soundcloud_player();
+}
+
+function player_destroy() {
+  if (player) {
+    if ($("#player_block").length == 0) {
+      $("#player_position").append("<div id=\"player_block\"></div>");
+    }
+
+    try {
+      player.destroy();
+    }
+    catch(e) {}
+
+    try {
+      var iframe = document.querySelector('iframe');
+      iframe.parentNode.removeChild(iframe);
+    }
+    catch(e) {}
+  } 
+}
+
+function soundcloud_listener() {
+    var iframe = document.querySelector('iframe');
+    var widget = SC.Widget(iframe);
+    widget.bind(SC.Widget.Events.READY, function() {
+      widget.bind(SC.Widget.Events.FINISH, next_music);
+    });
+}
+
+function soundcloud_player() {
+  player_destroy();
+  var music_url = "https://soundcloud.com/"+music_info.data().url;
+  SC.oEmbed(music_url, { auto_play: true , maxheight: 120, maxwidth: 1000 }, function(oEmbed)    {
+    player = oEmbed.html.replace('visual=true&','');
+    player = $('#player_block').html(player);
+  });
+  setTimeout(soundcloud_listener, 2000 );
+
+}
+
diff --git a/app/assets/stylesheets/music_index.css b/app/assets/stylesheets/music_index.css
index 35147a4db892608b5dfa21f5cb031ed9bddcbd0a..58960d69d88babd8cb5ac761474ca53cd9819389 100644
--- a/app/assets/stylesheets/music_index.css
+++ b/app/assets/stylesheets/music_index.css
@@ -10,6 +10,8 @@ ul
   background-color: rgba(0, 110, 140, 0.8);
   margin: 2px;
   cursor: pointer;
+  overflow: hidden;
+  position: relative;
 }
 
 
@@ -19,6 +21,9 @@ ul
   padding: 15px 0;
   font: 15px 'Helvetica Neue', Helvetica, Arial, sans-serif;
   color: rgba(250,220,180,1);
+  overflow: hidden;
+  position: relative;
+  text-overflow: ellipsis;
 }
 
 .music_id
@@ -29,7 +34,7 @@ ul
 
 .music_chan
 {
-  width: 10%
+  width: 10%;
 }
 
 .music_title
@@ -40,7 +45,6 @@ ul
 .music_sender
 {
   width: 10%;
-  /*overflow: hidden;*/
 }
 
 .music_tags
diff --git a/app/views/channels/show_channel.html.erb b/app/views/channels/show_channel.html.erb
index b52a3be244386fb27d7082573a63b7f2f8523a16..ea696e17c28985de21b758915355fd658c6b94d0 100644
--- a/app/views/channels/show_channel.html.erb
+++ b/app/views/channels/show_channel.html.erb
@@ -1,5 +1,3 @@
-<div id="music_player"></div>
-
 <ul>
   <% @musics.each do |music| %>
     <li class="clickable_links" 
@@ -9,17 +7,11 @@
             if music.type == "youtube" 
               track = music.url.sub(/.*v=/,'')
             elsif music.type == "soundcloud"
-              begin
-                track = $soundcloud.get('/resolve', :url => music.url)
-                track.id 
-              rescue
-                "Link down"
-              end 
+              track = music.url.sub(/https:\/\/soundcloud\.com\//,'')
             end %>">
-      <span class="music_id"><%= music.id %></span> 
-      <span class="music_chan">
-        <%= link_to(music.channel.chan,'/musics/channels/'+music.channel.chan.sub('#','')) %></span>
-      <span class="music_title"><%= music.title %></span>
+      <span class="music_id"><%= music.id %></span>
+      <span class="music_chan"><%= music.channel.chan %></span>
+      <span class="music_title"><%= music.title%></span>
       <span class="music_tags"><%= music.tags.map{|t| t.tag}.join(", ") %></span>
       <span class="music_sender"><%= music.channel.sender_irc %></span>
     </li>
diff --git a/app/views/channels/show_user.html.erb b/app/views/channels/show_user.html.erb
index 922884e5279e64d714820bdce8df2094d94819d2..ea696e17c28985de21b758915355fd658c6b94d0 100644
--- a/app/views/channels/show_user.html.erb
+++ b/app/views/channels/show_user.html.erb
@@ -1,5 +1,3 @@
-<div id="music_player"></div>
-
 <ul>
   <% @musics.each do |music| %>
     <li class="clickable_links" 
@@ -9,16 +7,11 @@
             if music.type == "youtube" 
               track = music.url.sub(/.*v=/,'')
             elsif music.type == "soundcloud"
-              begin
-                track = $soundcloud.get('/resolve', :url => music.url)
-                track.id 
-              rescue
-                "Link down"
-              end 
+              track = music.url.sub(/https:\/\/soundcloud\.com\//,'')
             end %>">
       <span class="music_id"><%= music.id %></span>
       <span class="music_chan"><%= music.channel.chan %></span>
-      <span class="music_title"><%= music.title %></span>
+      <span class="music_title"><%= music.title%></span>
       <span class="music_tags"><%= music.tags.map{|t| t.tag}.join(", ") %></span>
       <span class="music_sender"><%= music.channel.sender_irc %></span>
     </li>
diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb
index 2ed556e2970fdcf33ee1adf3c25f504d4833eaad..38a32316351339f2fe6a2a66fdb6dcf26f81e679 100644
--- a/app/views/layouts/application.html.erb
+++ b/app/views/layouts/application.html.erb
@@ -6,10 +6,15 @@
   <%= csrf_meta_tags %>
 </head>
 <body>
-
+  <div id="player_position">
+    <div id="player_block"></div>
+  </div>
 <%= yield %>
 
 </body>
 <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
 <script src="https://www.youtube.com/iframe_api"></script>
+<script src="https://connect.soundcloud.com/sdk.js"></script>
+<script src="https://w.soundcloud.com/player/api.js"></script>
+
 </html>
diff --git a/app/controllers/.channels_controller.rb.swp b/app/views/musics/.index.html.erb.swo
similarity index 90%
rename from app/controllers/.channels_controller.rb.swp
rename to app/views/musics/.index.html.erb.swo
index cfc225ed60b20e7b67e4a2384bf4fc1735d002d4..a7022bc50a3d652a8beb4988133347be7f1ba119 100644
Binary files a/app/controllers/.channels_controller.rb.swp and b/app/views/musics/.index.html.erb.swo differ
diff --git a/app/views/musics/index.html.erb b/app/views/musics/index.html.erb
index 8ec427a89601506abdf8097988a8afa1eeb20573..ea696e17c28985de21b758915355fd658c6b94d0 100644
--- a/app/views/musics/index.html.erb
+++ b/app/views/musics/index.html.erb
@@ -1,5 +1,3 @@
-<div id="music_player"></div>
-
 <ul>
   <% @musics.each do |music| %>
     <li class="clickable_links" 
@@ -9,12 +7,7 @@
             if music.type == "youtube" 
               track = music.url.sub(/.*v=/,'')
             elsif music.type == "soundcloud"
-              begin
-                track = $soundcloud.get('/resolve', :url => music.url)
-                track.id 
-              rescue
-                "Link down"
-              end 
+              track = music.url.sub(/https:\/\/soundcloud\.com\//,'')
             end %>">
       <span class="music_id"><%= music.id %></span>
       <span class="music_chan"><%= music.channel.chan %></span>
diff --git a/app/views/musics/show.html.erb b/app/views/musics/show.html.erb
index 3d5e0f829fa65b71d3ec3925d0e8dd9857c12dd1..78e787c3b9d22a9187c001b7617ac6fa793031df 100644
--- a/app/views/musics/show.html.erb
+++ b/app/views/musics/show.html.erb
@@ -1,33 +1,16 @@
 <ul>
-  <li class="clickable_links" data-url="
-    <%= 
-      if @music.type == "youtube" 
-        track = @music.url.sub(/.*v=/,'')
-  elsif @music.type == "soundcloud"
-    begin
-      track = $soundcloud.get('/resolve', :url => @music.url)
-      track.id 
-    rescue
-      "Link down"
-    end 
-  end %>
-   ">
+  <li class="clickable_links" 
+        data-id="<%= music.id %>" 
+        data-player="<%= music.type %>" 
+        data-url="<%= 
+            if music.type == "youtube" 
+              track = music.url.sub(/.*v=/,'')
+            elsif music.type == "soundcloud"
+              track = music.url.sub(/https:\/\/soundcloud\.com\//,'')
+            end %>">
       <span class="music_id"><%= @music.id %></span>
       <span class="music_title"><%= @music.title%></span>
       <span class="music_tags"><%= @music.tags.map{|t| t.tag}.join(", ") %></span>
       <span class="music_sender"><%= @music.sender_irc %></span>
   </li>
 </ul>
-<%=if @music.type == "youtube" 
-    track = @music.url.sub(/watch\?v=/,'embed/')
-    raw("<iframe id=\"ytplayer\" type=\"text/html\" width=\"640\" height=\"390\" src=\""+track+"?autoplay=1\" frameborder=\"0\"/>")
-  elsif @music.type == "soundcloud"
-    begin
-      track = $soundcloud.get('/oembed', :url => @music.url, :maxwidth => "800", :maxheight => "150", :auto_play => "true")
-      raw(track['html'].gsub("visual=true&","")) 
-      #The Soundcloud API doesn't enable modification of the parameter 'visual'
-    rescue
-      "Link down"
-    end
-  end
-%>
diff --git a/app/views/channels/.show_channel.html.erb.swp b/app/views/tags/.show.html.erb.swp
similarity index 88%
rename from app/views/channels/.show_channel.html.erb.swp
rename to app/views/tags/.show.html.erb.swp
index b765e8a90a40bccd3d9961cd73175932c48d87a7..84869f8ddadad2521ef884c44e34ea0f13766bf8 100644
Binary files a/app/views/channels/.show_channel.html.erb.swp and b/app/views/tags/.show.html.erb.swp differ
diff --git a/app/views/tags/show.html.erb b/app/views/tags/show.html.erb
index 7d464485f060ab6b3dda48e30b214d3becd4f4d3..18488d206f6d5a31a2fe004dbbf54b29894f4f6c 100644
--- a/app/views/tags/show.html.erb
+++ b/app/views/tags/show.html.erb
@@ -1,5 +1,3 @@
-<div id="music_player"></div>
-
 <ul>
   <% @musics.each do |music| %>
     <li class="clickable_links" 
@@ -9,18 +7,15 @@
             if music.type == "youtube" 
               track = music.url.sub(/.*v=/,'')
             elsif music.type == "soundcloud"
-              begin
-                track = $soundcloud.get('/resolve', :url => music.url)
-                track.id 
-              rescue
-                "Link down"
-              end 
+              track = music.url.sub(/https:\/\/soundcloud\.com\//,'')
             end %>">
       <span class="music_id"><%= music.id %></span>
-      <span class="music_title"><%= music.title %></span>
+      <span class="music_chan"><%= music.channel.chan %></span>
+      <span class="music_title"><%= music.title%></span>
       <span class="music_tags"><%= music.tags.map{|t| t.tag}.join(", ") %></span>
-      <span class="music_sender"><%= music.sender_irc %></span>
+      <span class="music_sender"><%= music.channel.sender_irc %></span>
     </li>
   <% end %>
 </ul>
 <%= paginate @musics %>
+
diff --git a/config/initializers/soundcloud.rb b/config/initializers/soundcloud.rb
deleted file mode 100644
index 308fe5f0851e533d2663cf818c561823e33e44aa..0000000000000000000000000000000000000000
--- a/config/initializers/soundcloud.rb
+++ /dev/null
@@ -1,4 +0,0 @@
-#require 'yaml'
-
-soundcloud = YAML.load_file("#{File.dirname(__FILE__)}/../soundcloud.yml")
-$soundcloud = Soundcloud.new(:client_id => soundcloud["client_id"])
diff --git a/config/routes.rb b/config/routes.rb
index 0c4b22bf0803652df3506b07fe8593261bc42a45..c05a8d51ac1f9a900bf215852269eef555fc571f 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -56,6 +56,8 @@ Rails.application.routes.draw do
   resources :musics
   resources :tags
   resources :channels
+  
+  root to: 'musics#index'
 
   get '/musics/tags/:tag', to: "tags#show"
   get '/musics/users/:user', to: "channels#show_user"