HTML MediaElement で NightCore する😎


TL;DR

(function()
{
  const media = document.getElementsByTagName("video")[0];
  media.mozPreservesPitch = false;
  media.playbackRate = 1.2;
})()

動機

昨今は、Youtubeなど大抵の動画サイトでは再生速度を調節する機能がついています。
しかしながら、これらの再生速度を変更すると、ピッチが自動で修正(見かけ上?…聴きかけ上?変わらないように)されてしまいます。
普通の動画であれば、この挙動の方がありがたいのですが、聞き慣れた音楽をピッチを維持って聞きたい時があります。
そうですNightCoreです。

対応ブラウザについて

Firefoxで検証しました。
MDNのドキュメントを見る限りSafari(Webkit)でもサポートされているようです。この場合、Prefixがmozではなくwebkitになります。
ChromeではPrefixのつかないプロパティが実装されている的なことが書いてあったのですが、Prefix版でもそうでない版でも定義されていませんでした。🤔

ブックマークレット

javascript:
(function(){
  if(confirm("night core?")) document.getElementsByTagName("video")[0].mozPreservesPitch = false;
  document.getElementsByTagName("video")[0].playbackRate=parseFloat( prompt("speed", "1.8"));
})()

これをぶくま!

参考

ナイトコア(Wikipedia)
HTMLMediaElement(MDN)
HTMLMediaElement.preservesPitch(Chrome Platform Status)