<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>自作音楽&#8217;15~ | imakat.com</title>
	<atom:link href="https://imakat.com/category/music/%e8%87%aa%e4%bd%9c%e9%9f%b3%e6%a5%bd15/feed/" rel="self" type="application/rss+xml" />
	<link>https://imakat.com</link>
	<description>工夫と改善で人生をちょっと豊かに</description>
	<lastBuildDate>Tue, 16 Jun 2026 03:03:13 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://i0.wp.com/imakat.com/wp-content/uploads/2023/07/cropped-80d64ecd340db4e2ca3224859b04caed.png?fit=32%2C32&#038;ssl=1</url>
	<title>自作音楽&#8217;15~ | imakat.com</title>
	<link>https://imakat.com</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">160909258</site>	<item>
		<title>無痛の世界( A Painless World)</title>
		<link>https://imakat.com/2024/07/12/22796/</link>
		
		<dc:creator><![CDATA[imakat]]></dc:creator>
		<pubDate>Fri, 12 Jul 2024 02:55:51 +0000</pubDate>
				<category><![CDATA[自作音楽'15~]]></category>
		<category><![CDATA[健康]]></category>
		<category><![CDATA[音楽]]></category>
		<category><![CDATA[脊柱管狭窄症]]></category>
		<category><![CDATA[胆石]]></category>
		<category><![CDATA[尿管結石]]></category>
		<category><![CDATA[痛風]]></category>
		<guid isPermaLink="false">https://imakat.com/?p=22796</guid>

					<description><![CDATA[音楽作品です。 念願は、病気に悩むみなさまの「イタイのイタイの飛んでいけ！」です。癒し系のスムースジャズです。 私ごとですが今、腰から足の痛みに悩まされています。脊柱管狭窄症と名前は、覚えられない複雑な名前です。しかし非 [&#8230;]]]></description>
										<content:encoded><![CDATA[<div class="sc-dynamic-embed">
  <style>
  /* リンクの見た目を整える */
  .sc-dynamic-embed .sc-link-container { 
      display: flex; 
      margin-bottom: 10px; 
      flex-wrap: wrap; 
      align-items: center; 
  }
  .sc-dynamic-embed .sc-link { margin-bottom: 0; }
  .sc-dynamic-embed .sc-link a {
    font-size: 15px; 
    font-weight: normal;
    text-decoration: underline;
    color: #0073aa;
  }
  .sc-dynamic-embed .sc-link a:hover { text-decoration: none; color: #000; }
  
  @media (max-width: 500px) {
    .sc-dynamic-embed .sc-link a { font-size: 13px; }
  }

  .sc-dynamic-embed .imk-line {
      display: inline-block;
      width: 100%;
      border-radius: 2px;
      transition: background-color 0.1s;
  }

  .sc-dynamic-embed #subtitleOverlay,
  .sc-dynamic-embed #scSubtitleOverlay,
  .sc-dynamic-embed .overlay-cue,
  .sc-dynamic-embed .band {
      display: none !important;
      opacity: 0 !important;
      visibility: hidden !important;
      pointer-events: none !important;
  }
  </style>

  <div class="sc-link-container">
    <p class="sc-link">
      <a href="https://imakat.com/ds62/?drid=85" target="_blank"
         onclick="return scStopAndGo(event, this);">
        👉低画質・枠外字幕はこちら
      </a>
    </p>
  </div>

  テキストの読み込みに失敗しました。

  <script>
  (function(){
    var me = document.currentScript;
    var wrapper = me ? me.closest('.sc-dynamic-embed') : null;

    function protectVideo() {
      var target = wrapper ? wrapper : document;
      var mediaEls = target.querySelectorAll('video, audio');
      mediaEls.forEach(function(v){
        if(v.dataset.protected === 'true') return;
        v.dataset.protected = 'true';
        v.setAttribute('controlsList', 'nodownload');
        v.oncontextmenu = function() { return false; };
        v.addEventListener('contextmenu', function(e){ e.preventDefault(); return false; }, false);
      });
    }

    function initSubtitles() {
      var target = wrapper ? wrapper : document;
      var video = target.querySelector('video, audio');
      var listContainer = target.querySelector('details > p');
      
      if (!video) return false; 
      
      if (video.dataset.subInit === 'true') return true; 
      video.dataset.subInit = 'true';

      var oldOverlay = target.querySelector('#subtitleOverlay') || target.querySelector('#scSubtitleOverlay');
      if (oldOverlay) {
          oldOverlay.style.setProperty('display', 'none', 'important');
          oldOverlay.innerHTML = ''; 
      }

      function isSpecialMode() {
        var isFs = !!(document.fullscreenElement || document.webkitFullscreenElement || document.mozFullScreenElement || document.msFullscreenElement);
        var isPiP = !!(document.pictureInPictureElement && document.pictureInPictureElement === video) || (video.webkitPresentationMode === "picture-in-picture");
        var isIOSFs = !!video.webkitDisplayingFullscreen; 
        return isFs || isPiP || isIOSFs;
      }

      // 初期状態のセット（リストがなければ最初から showing に）
      try {
        if(video.textTracks && video.textTracks.length > 0){
          for(var i=0; i<video.textTracks.length; i++){
             if(video.textTracks[i].kind === 'subtitles' || video.textTracks[i].kind === 'captions'){
                 video.textTracks[i].mode = (!listContainer) ? "showing" : "hidden";
             }
          }
        }
      } catch(e){}

      // 字幕一覧が存在する場合のみ、リストのフォーマット処理を行う
      if (listContainer) {
          var detailsEl = target.querySelector("details");
          if (detailsEl) {
              detailsEl.open = true; 
              var summaryEl = detailsEl.querySelector("summary");
              if (summaryEl) summaryEl.textContent = "字幕(シーン)はここをクリック";
          }

          if (!listContainer.dataset.formatted) {
              var html = listContainer.innerHTML;
              var lines = html.split(/<br\s*\/?>/i);
              var newHtml = "";
              for(var j=0; j<lines.length; j++) {
                  if(lines[j].trim() === "") continue;
                  newHtml += "<span class='imk-line'>" + lines[j] + "</span><br>";
              }
              listContainer.innerHTML = newHtml;
              listContainer.dataset.formatted = "true";
          }

          var rootSublist = target.querySelector(".dr5-sublist") || listContainer.parentElement;
          if (rootSublist) {
            rootSublist.addEventListener("click", function(e){
              var a = e.target.closest && e.target.closest("a.imk-cue[data-seek]");
              if(!a) return;
              e.preventDefault();
              var ts = a.getAttribute("data-seek");
              if(!ts) return;
              var p = ts.trim().split(":").map(function(x){return parseInt(x,10)||0;});
              var sec = (p.length===2) ? p[0]*60+p[1] : (p.length===3 ? p[0]*3600+p[1]*60+p[2] : null);
              if(sec==null) return;
              try{ video.currentTime = sec; if(video.paused) video.play(); }catch(_){}
            });
          }
      }

      // ★ dr52.php と全く同じ「常時監視」のロジック
      // これにより、Safariが読み込み遅延を起こしても確実にONになります
      video.addEventListener("timeupdate", function(){
        var hasList = (listContainer !== null);
        var desiredMode = (isSpecialMode() || !hasList) ? "showing" : "hidden";
        
        try {
            if(video.textTracks && video.textTracks.length > 0){
                for(var i=0; i<video.textTracks.length; i++){
                    if((video.textTracks[i].kind === 'subtitles' || video.textTracks[i].kind === 'captions') && video.textTracks[i].mode !== desiredMode) {
                        video.textTracks[i].mode = desiredMode;
                    }
                }
            }
        } catch(e){}

        // リストがない場合はこれ以降のハイライト処理をスキップ
        if (!hasList) return;

        var cues = listContainer.querySelectorAll("a.imk-cue");
        if(cues.length === 0) return;
        var cur = video.currentTime;
        var activeA = null;

        for(var i=0; i<cues.length; i++){
            var ts = cues[i].getAttribute("data-seek");
            if(!ts) continue;
            var p = ts.trim().split(":").map(function(x){return parseInt(x,10)||0;});
            var t = (p.length===2) ? p[0]*60+p[1] : (p.length===3 ? p[0]*3600+p[1]*60+p[2] : null);
            if(t !== null && cur >= t - 0.5){ activeA = cues[i]; } 
            else if(t > cur){ break; }
        }

        if(activeA){
            var activeLine = activeA.closest(".imk-line");
            if(!activeLine) activeLine = activeA;

            if(activeLine.classList.contains("active-hl")) return;

            var allLines = listContainer.querySelectorAll(".imk-line");
            for(var k=0; k<allLines.length; k++) {
                allLines[k].classList.remove("active-hl");
                allLines[k].removeAttribute("style"); 
            }
            var allLinks = listContainer.querySelectorAll("a");
            for(var m=0; m<allLinks.length; m++) {
                allLinks[m].classList.remove("active-hl");
                allLinks[m].removeAttribute("style"); 
            }

            activeLine.classList.add("active-hl");
            activeLine.style.setProperty("background-color", "#ffff00", "important");
            activeLine.style.setProperty("color", "red", "important");
            activeLine.style.setProperty("font-weight", "normal", "important");
            
            var newLinks = activeLine.querySelectorAll("a");
            for(var n=0; n<newLinks.length; n++) {
                newLinks[n].style.setProperty("color", "red", "important");
                newLinks[n].style.setProperty("text-decoration", "none", "important");
            }

            if(listContainer.offsetParent !== null){
                var containerRect = listContainer.getBoundingClientRect();
                var activeRect = activeLine.getBoundingClientRect();
                var targetScroll = listContainer.scrollTop + (activeRect.top - containerRect.top) - (listContainer.clientHeight / 2) + (activeLine.clientHeight / 2);
                listContainer.scrollTo({ top: targetScroll, behavior: "smooth" });
            }
        }
      });

      return true;
    }

    var checks = 0;
    var checkTimer = setInterval(function(){
      protectVideo();
      var success = initSubtitles();
      checks++;
      if (success || checks > 20) { 
        clearInterval(checkTimer);
      }
    }, 500); 

    if (!window.scStopAndGo) {
      window.scStopAndGo = function(event, link){
        try{
          var mediaEls = document.querySelectorAll('video, audio');
          mediaEls.forEach(function(m){
            try{
              if (!m.paused) m.pause();
              if (document.pictureInPictureElement === m && document.exitPictureInPicture) {
                document.exitPictureInPicture().catch(function(){});
              }
            }catch(e){}
          });
        }finally{
          event.preventDefault();
          setTimeout(function(){
            if (link.target === '_blank') {
              window.open(link.href, '_blank');
            } else {
              window.location.href = link.href;
            }
          }, 50);
        }
        return false;
      };
    }
  })();
  </script>
</div>



<p class="wp-block-paragraph">音楽作品です。</p>



<p class="wp-block-paragraph">念願は、病気に悩むみなさまの「イタイのイタイの飛んでいけ！」です。癒し系のスムースジャズです。</p>



<p class="wp-block-paragraph">私ごとですが今、腰から足の痛みに悩まされています。脊柱管狭窄症と名前は、覚えられない複雑な名前です。しかし非常にポピュラーな病気らしいです。この病気で初めて整形外科に行ったのが４ヶ月前、2024年3月です。激痛の原因が長時間の立ち作業なのかそれとも周期的に来るのか分かりません。</p>



<figure class="wp-block-image size-large is-resized"><a href="https://imakat.com/rd.php?id=6FoEd4N8.png" target="_blank"><img decoding="async" src="https://imakat.com/rd.php?id=6FoEd4N8.png" alt="" style="width:159px;height:auto"/></a></figure>



<p class="wp-block-paragraph">名前の複雑さの如く、痛みも複雑です。右腰と右足首上部に出るのですが、筋肉の凝りの痛みと突っ張るような刺すような痛みが重なります。座ったり横になっていると、表面的な痛みは退きますが、中の方の痛みは残り続けます。薬を飲みますが即効性はありません。飲み続けるしかないのだと思います。</p>



<p class="wp-block-paragraph">今まで痛みものでは、胆石、尿管結石、痛風、などを経験しています。結石は突然襲いかかる刺すような息も出来ない激痛、疝痛でした。痛風は、足の指が腫れ出したのがサインで数日以内に刺すような激烈な痛みが襲ってきます。痛風の痛みは、誰かが「まるで足の親指の骨に、釘をギリギリと埋め込むような痛み」と表現されていましたが、まさにその通り。これらの痛みものは、どちらかというと遺伝的な、体質的な面が大きいとは思います。</p>



<p class="wp-block-paragraph">次の痛みものである、この脊柱管狭窄症は、退職までの職業生活での姿勢が影響しているように感じます。遺伝とは違う感じです。この病気との付き合いは、まだ始まったばかり。歩きの少ない外出なら問題はないですが、願いは、ふつうに、野山の散策や小旅行ができるようになること。</p>



<p class="wp-block-paragraph">今回は入院はしていません。しかし今まで両手で足りないほど入院を経験してきています。これからもあると思います。「痛い病気はイヤ」です。痛みが続くようなら、手術でもしますかね。</p>



<p class="wp-block-paragraph">この曲から、やっと、Mac Appleシリコン上で、音源アプリを作動させるようになりました。ただし、Kontakt5など古いアプリもありますので、Cubase12はRosetta2を起動させて使います。これからは、Mac上での音源アプリの動作可否の心配については、殆どなくなると思います。</p>



<p class="wp-block-paragraph">(2024.July. Cubase)</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">22796</post-id>	</item>
		<item>
		<title>フローレス島 ( Pulau Flores )</title>
		<link>https://imakat.com/2021/11/10/14317/</link>
		
		<dc:creator><![CDATA[imakat]]></dc:creator>
		<pubDate>Tue, 09 Nov 2021 23:41:23 +0000</pubDate>
				<category><![CDATA[自作音楽'15~]]></category>
		<category><![CDATA[音楽作品]]></category>
		<category><![CDATA[自然科学]]></category>
		<category><![CDATA[サフルランド]]></category>
		<category><![CDATA[モスラ]]></category>
		<category><![CDATA[キングコング]]></category>
		<category><![CDATA[島嶼化]]></category>
		<category><![CDATA[ウォレス線]]></category>
		<guid isPermaLink="false">https://imakat.com/?p=14317</guid>

					<description><![CDATA[冒頭ですが、私はフローレス島へ行ったことはありません。いつも通り、妄想で書き進めたいと思います。 1. フローレス島の地理的位置と人類史的位置 ４年前の投稿「スンダランド」の続編です。投稿「スンダランド」の結びで、フロー [&#8230;]]]></description>
										<content:encoded><![CDATA[<div class="sc-dynamic-embed">
  <style>
  /* リンクの見た目を整える */
  .sc-dynamic-embed .sc-link-container { 
      display: flex; 
      margin-bottom: 10px; 
      flex-wrap: wrap; 
      align-items: center; 
  }
  .sc-dynamic-embed .sc-link { margin-bottom: 0; }
  .sc-dynamic-embed .sc-link a {
    font-size: 15px; 
    font-weight: normal;
    text-decoration: underline;
    color: #0073aa;
  }
  .sc-dynamic-embed .sc-link a:hover { text-decoration: none; color: #000; }
  
  @media (max-width: 500px) {
    .sc-dynamic-embed .sc-link a { font-size: 13px; }
  }

  .sc-dynamic-embed .imk-line {
      display: inline-block;
      width: 100%;
      border-radius: 2px;
      transition: background-color 0.1s;
  }

  .sc-dynamic-embed #subtitleOverlay,
  .sc-dynamic-embed #scSubtitleOverlay,
  .sc-dynamic-embed .overlay-cue,
  .sc-dynamic-embed .band {
      display: none !important;
      opacity: 0 !important;
      visibility: hidden !important;
      pointer-events: none !important;
  }
  </style>

  <div class="sc-link-container">
    <p class="sc-link">
      <a href="https://imakat.com/ds62/?drid=84" target="_blank"
         onclick="return scStopAndGo(event, this);">
        👉低画質・枠外字幕はこちら
      </a>
    </p>
  </div>

  <style>
            :root{ --dr5emd-max: 1920px; }
            #subtitleOverlay, #scSubtitleOverlay, .overlay-cue, .band { display: none !important; opacity: 0 !important; }
            .imk-line { display: inline-block; width: 100%; border-radius: 2px; transition: background-color 0.1s; }
            .dr5emd-sublist details > p{ height:200px; overflow:auto; background-color:#EDF7FF; padding:2px 6px; margin:0; box-shadow:3px 3px 4px black; position: relative; }
            .dr5emd-sublist details > summary{ padding:2px 6px; width:100%; background-color:#ddd; border:none; box-shadow:3px 3px 4px black; cursor:pointer; list-style:none; }
            
                .video-wrap{position:relative;width:100%;margin:0 auto}
                #myVideo{width:100%;height:auto;min-height:200px;display:block;background:#000;}</style><div class="dr5emd-container"><div class="video-wrap"><video id="myVideo" controls poster="https://imakat.com/rd.php?id=BsvuHrqH.png" playsinline preload="none" style="width:100%;height:auto;">  <source src="https://imakat.com/rd.php?id=1D015iGy.mp4" type="video/mp4">  <track src="https://imakat.com/rd.php?id=siiwWiZQ.vtt" label="日本語" srclang="ja" kind="subtitles" default></video></div></div>            <script>
            document.addEventListener("DOMContentLoaded", function(){
                var video = document.getElementById("myVideo");
                if(!video) return;

                            });
            </script>
            

  <script>
  (function(){
    var me = document.currentScript;
    var wrapper = me ? me.closest('.sc-dynamic-embed') : null;

    function protectVideo() {
      var target = wrapper ? wrapper : document;
      var mediaEls = target.querySelectorAll('video, audio');
      mediaEls.forEach(function(v){
        if(v.dataset.protected === 'true') return;
        v.dataset.protected = 'true';
        v.setAttribute('controlsList', 'nodownload');
        v.oncontextmenu = function() { return false; };
        v.addEventListener('contextmenu', function(e){ e.preventDefault(); return false; }, false);
      });
    }

    function initSubtitles() {
      var target = wrapper ? wrapper : document;
      var video = target.querySelector('video, audio');
      var listContainer = target.querySelector('details > p');
      
      if (!video) return false; 
      
      if (video.dataset.subInit === 'true') return true; 
      video.dataset.subInit = 'true';

      var oldOverlay = target.querySelector('#subtitleOverlay') || target.querySelector('#scSubtitleOverlay');
      if (oldOverlay) {
          oldOverlay.style.setProperty('display', 'none', 'important');
          oldOverlay.innerHTML = ''; 
      }

      function isSpecialMode() {
        var isFs = !!(document.fullscreenElement || document.webkitFullscreenElement || document.mozFullScreenElement || document.msFullscreenElement);
        var isPiP = !!(document.pictureInPictureElement && document.pictureInPictureElement === video) || (video.webkitPresentationMode === "picture-in-picture");
        var isIOSFs = !!video.webkitDisplayingFullscreen; 
        return isFs || isPiP || isIOSFs;
      }

      // 初期状態のセット（リストがなければ最初から showing に）
      try {
        if(video.textTracks && video.textTracks.length > 0){
          for(var i=0; i<video.textTracks.length; i++){
             if(video.textTracks[i].kind === 'subtitles' || video.textTracks[i].kind === 'captions'){
                 video.textTracks[i].mode = (!listContainer) ? "showing" : "hidden";
             }
          }
        }
      } catch(e){}

      // 字幕一覧が存在する場合のみ、リストのフォーマット処理を行う
      if (listContainer) {
          var detailsEl = target.querySelector("details");
          if (detailsEl) {
              detailsEl.open = true; 
              var summaryEl = detailsEl.querySelector("summary");
              if (summaryEl) summaryEl.textContent = "字幕(シーン)はここをクリック";
          }

          if (!listContainer.dataset.formatted) {
              var html = listContainer.innerHTML;
              var lines = html.split(/<br\s*\/?>/i);
              var newHtml = "";
              for(var j=0; j<lines.length; j++) {
                  if(lines[j].trim() === "") continue;
                  newHtml += "<span class='imk-line'>" + lines[j] + "</span><br>";
              }
              listContainer.innerHTML = newHtml;
              listContainer.dataset.formatted = "true";
          }

          var rootSublist = target.querySelector(".dr5-sublist") || listContainer.parentElement;
          if (rootSublist) {
            rootSublist.addEventListener("click", function(e){
              var a = e.target.closest && e.target.closest("a.imk-cue[data-seek]");
              if(!a) return;
              e.preventDefault();
              var ts = a.getAttribute("data-seek");
              if(!ts) return;
              var p = ts.trim().split(":").map(function(x){return parseInt(x,10)||0;});
              var sec = (p.length===2) ? p[0]*60+p[1] : (p.length===3 ? p[0]*3600+p[1]*60+p[2] : null);
              if(sec==null) return;
              try{ video.currentTime = sec; if(video.paused) video.play(); }catch(_){}
            });
          }
      }

      // ★ dr52.php と全く同じ「常時監視」のロジック
      // これにより、Safariが読み込み遅延を起こしても確実にONになります
      video.addEventListener("timeupdate", function(){
        var hasList = (listContainer !== null);
        var desiredMode = (isSpecialMode() || !hasList) ? "showing" : "hidden";
        
        try {
            if(video.textTracks && video.textTracks.length > 0){
                for(var i=0; i<video.textTracks.length; i++){
                    if((video.textTracks[i].kind === 'subtitles' || video.textTracks[i].kind === 'captions') && video.textTracks[i].mode !== desiredMode) {
                        video.textTracks[i].mode = desiredMode;
                    }
                }
            }
        } catch(e){}

        // リストがない場合はこれ以降のハイライト処理をスキップ
        if (!hasList) return;

        var cues = listContainer.querySelectorAll("a.imk-cue");
        if(cues.length === 0) return;
        var cur = video.currentTime;
        var activeA = null;

        for(var i=0; i<cues.length; i++){
            var ts = cues[i].getAttribute("data-seek");
            if(!ts) continue;
            var p = ts.trim().split(":").map(function(x){return parseInt(x,10)||0;});
            var t = (p.length===2) ? p[0]*60+p[1] : (p.length===3 ? p[0]*3600+p[1]*60+p[2] : null);
            if(t !== null && cur >= t - 0.5){ activeA = cues[i]; } 
            else if(t > cur){ break; }
        }

        if(activeA){
            var activeLine = activeA.closest(".imk-line");
            if(!activeLine) activeLine = activeA;

            if(activeLine.classList.contains("active-hl")) return;

            var allLines = listContainer.querySelectorAll(".imk-line");
            for(var k=0; k<allLines.length; k++) {
                allLines[k].classList.remove("active-hl");
                allLines[k].removeAttribute("style"); 
            }
            var allLinks = listContainer.querySelectorAll("a");
            for(var m=0; m<allLinks.length; m++) {
                allLinks[m].classList.remove("active-hl");
                allLinks[m].removeAttribute("style"); 
            }

            activeLine.classList.add("active-hl");
            activeLine.style.setProperty("background-color", "#ffff00", "important");
            activeLine.style.setProperty("color", "red", "important");
            activeLine.style.setProperty("font-weight", "normal", "important");
            
            var newLinks = activeLine.querySelectorAll("a");
            for(var n=0; n<newLinks.length; n++) {
                newLinks[n].style.setProperty("color", "red", "important");
                newLinks[n].style.setProperty("text-decoration", "none", "important");
            }

            if(listContainer.offsetParent !== null){
                var containerRect = listContainer.getBoundingClientRect();
                var activeRect = activeLine.getBoundingClientRect();
                var targetScroll = listContainer.scrollTop + (activeRect.top - containerRect.top) - (listContainer.clientHeight / 2) + (activeLine.clientHeight / 2);
                listContainer.scrollTo({ top: targetScroll, behavior: "smooth" });
            }
        }
      });

      return true;
    }

    var checks = 0;
    var checkTimer = setInterval(function(){
      protectVideo();
      var success = initSubtitles();
      checks++;
      if (success || checks > 20) { 
        clearInterval(checkTimer);
      }
    }, 500); 

    if (!window.scStopAndGo) {
      window.scStopAndGo = function(event, link){
        try{
          var mediaEls = document.querySelectorAll('video, audio');
          mediaEls.forEach(function(m){
            try{
              if (!m.paused) m.pause();
              if (document.pictureInPictureElement === m && document.exitPictureInPicture) {
                document.exitPictureInPicture().catch(function(){});
              }
            }catch(e){}
          });
        }finally{
          event.preventDefault();
          setTimeout(function(){
            if (link.target === '_blank') {
              window.open(link.href, '_blank');
            } else {
              window.location.href = link.href;
            }
          }, 50);
        }
        return false;
      };
    }
  })();
  </script>
</div>



<hr class="wp-block-separator has-text-color has-grey-color has-css-opacity has-grey-background-color has-background is-style-wide"/>



<p class="wp-block-paragraph">冒頭ですが、私はフローレス島へ行ったことはありません。いつも通り、妄想で書き進めたいと思います。</p>



<p class="wp-block-paragraph"></p>



<h3 id="1-フローレス島の地理的位置と人類史的位置" class="wp-block-heading">1. フローレス島の地理的位置と人類史的位置</h3>



<p class="wp-block-paragraph">４年前の投稿「<a href="https://imakat.com/2017/10/12/4985/" target="_blank">スンダランド</a>」の続編です。投稿「スンダランド」の結びで、フローレス原人の謎への興味を語りました。今回はそこに踏み込んでみたいと思います。</p>



<p class="wp-block-paragraph">最初に、フローレス島の地理的位置と人類史的位置について、以下の図をご覧ください。</p>



<figure class="wp-block-image aligncenter size-large"><a href="https://imakat.com/rd.php?id=Fps8s3FO.png" target="_blank"><img decoding="async" src="https://imakat.com/rd.php?id=Fps8s3FO.png" alt=""/></a><figcaption class="wp-element-caption">フローレス原人の歴史の周辺</figcaption></figure>



<p class="wp-block-paragraph">図内の右下にフローレス島があります。舌の形をしたスンダランドの海岸線に沿ってウォレス線（黄色）が引かれています。ウォレス線の右側にも大陸があってサフルランドと呼ばれていて、パプアニューギニア及びオーストラリアにより形成されていました。このウォレス線を境界に生物の分布が異なることは学説になっています。フローレス島は両者に挟まれた孤島ですが動植物はサフルランドの特徴を有しているようです。</p>



<p class="wp-block-paragraph">フローレス原人の起源と絶滅の年代についても諸説ありますが、一応、新説続きでキリがないので2016年ごろの説の80〜5万年前と書きましたが、最近の説では幅が広がっています。100万年前〜12000年前まで広がるという説もあるようです。こうなると日本の旧石器〜縄文時代とも重なってきます。</p>



<p class="wp-block-paragraph"></p>



<h3 id="2-フローレス原人の絶滅理由はいかに" class="wp-block-heading">2. フローレス原人の絶滅理由はいかに</h3>



<p class="wp-block-paragraph">フローレス原人の謎は、どこから来たのか、なぜ小型化したか、なぜ絶滅したのか、この三点に集中します。現状では、起源についてはアフリカのホモハビリス移動説とジャワ原人説の二説、小型化については島嶼効果説が有力、絶滅理由についてはホモサピエンス征圧説、といった形です。</p>



<p class="wp-block-paragraph">しかし最近、この中で絶滅理由説には、新たな説が有力に持ち上がってきています。新たというより、ありうべき説で、あえて、別の説を遠回りして探していた、とも感じます。</p>



<p class="wp-block-paragraph">ウイルス蔓延説です。</p>



<p class="wp-block-paragraph">やっぱりそうだろうか。世界は今、新型コロナウイルスとの戦いの中、説得力があります。</p>



<p class="wp-block-paragraph">2020年10月、「ネイチャー」に驚愕の記事が発表されました。それを文春オンラインがブログ記事にしていますので紹介します(<a rel="noopener" target="_blank" href="https://bunshun.jp/articles/-/44373">→記事<span class="fa fa-external-link external-icon anchor-icon"></span></a>)。</p>



<p class="wp-block-paragraph">ポイントを抜粋しますと、</p>



<hr class="wp-block-separator has-text-color has-key-color-color has-css-opacity has-key-color-background-color has-background is-style-wide"/>



<p class="wp-block-paragraph">以下引用：</p>



<p class="wp-block-paragraph">「2020年10月に「ネイチャー」に発表された論文で、ヨーロッパの人々が重症化しやすいのは、ネアンデルタール人の遺伝子を多く持っているからだ、との研究結果が発表されたのだ。新型コロナウイルスで入院した重症者と、入院しなかった感染者3000人以上の遺伝子を調べた結果、感染者の重症化に影響を与えるのは、三番目染色体にある特定の領域であることが判明したという。その後の分析で、その遺伝子領域は、５万年前のネアンデルタール人から発見されたものとほぼ同じで、６万年前にホモサピエンスとネアンデルタール人との交配によって、現代人に受け継がれたことも明らかになったという。・・・昔から、ホモ・サピエンス以外の人類が絶滅したのは、病気に対する耐性が関係しているのではないか、と論じられてきた。・・・これにより、ホモ・サピエンス以外の人類が、病気によって絶滅したことが確定したわけではなく、一つの可能性が示されただけだ。しかし、ホモ・サピエンスが進出した時期に合わせて、多くの地域でほかの人類が絶滅したことを説明するのに、矛盾はない。～文春オンライン　4/14記事「人類進化の奇妙な謎・・・”ホモサピエンス”より先に島を渡った”フローレス原人”はなぜ絶滅してしまったのか」～」</p>



<hr class="wp-block-separator has-text-color has-key-color-color has-css-opacity has-key-color-background-color has-background is-style-wide"/>



<p class="wp-block-paragraph">ホモサピエンスはフローレス島へ入り込んだ。しかしその時、ウイルスをフローレス島へ持ち込んでいた。それがフローレス原人絶滅への導火線になった可能性がある、と推察しています。</p>



<h3 id="3-フローレス原人のことを勉強する" class="wp-block-heading">3. フローレス原人のことを勉強する</h3>



<p class="wp-block-paragraph">「<a rel="noopener" target="_blank" href="https://books.bunshun.jp/ud/book/num/9784167912321">日本人はどこから来たのか<span class="fa fa-external-link external-icon anchor-icon"></span></a>」の著書で有名な海部陽介先生の研究を川端裕人さんが執筆した記事を紹介します。このBluebacks Outreachのブログ記事は渾身の執筆です。私の知っているブログ記事の中で最も長文です。</p>



<p class="wp-block-paragraph">是非、お読みください。</p>



<p class="wp-block-paragraph">「<a rel="noopener" target="_blank" href="https://gendai.ismedia.jp/articles/-/54756">ぼくたちはなぜぼくたちだけなのだろう？<span class="fa fa-external-link external-icon anchor-icon"></span></a>」</p>



<p class="wp-block-paragraph">この記事の中の最後の方で、絶滅理由の推測ついては多少触れていて、</p>



<p class="wp-block-paragraph">フローレス島の民話に、なんでも食べる小さなおばあさんがいたが、村人たちが焼き払ってしまった、というのがあるそうで、現生人類に殺された、と聞こえます。</p>



<p class="wp-block-paragraph">こうした研究者にとって、絶滅の理由の探究というのは、入りたくない領域なのではないか、と私は感じました。心の中に、もしかしたらまだ生存しているかも知れない、きっとそうした期待があるように感じます。</p>



<p class="wp-block-paragraph">絶滅理由は、ORではなくてANDのように感じます。</p>



<p class="wp-block-paragraph">現生人類が運んできたウイルスの蔓延によって個体が激減。そこへ追い討ちで、現生人類が最後の一刺しをしてしまった。のではないかと。</p>



<h3 id="4-ここで学ぶべきことは何か" class="wp-block-heading">4. ここで学ぶべきことは何か</h3>



<p class="wp-block-paragraph">すごいことを示唆していると思いませんか。人間は、その傲慢さに気づくべきで、ウイルス耐性があるから自分は大丈夫ということではないです。<strong><span class="marker">ワクチンがあるから薬があるから大丈夫では、答えになっていません</span></strong>。ウイルスを消滅させる、弱毒化させる、その努力を弛まなく続けなければならない、ということでしょう。淘汰とはその結果であるべきなのだと。</p>



<h3 id="5-フローレス島への飽くなき興味" class="wp-block-heading">5. フローレス島への飽くなき興味</h3>



<p class="wp-block-paragraph">フローレス島の話題は面白く広がります。フローレス島にもコモドドラゴンがいます。キングコングのモデルになったのも、この辺りの島です。そのキングコングと、半分くらいはそっくりなストーリーのモスラ、そのモスラに登場する手提げ籠に入ってしまうザ・ピーナッツ扮する小人の美人姉妹、この姉妹と小人人類のフローレス原人の妙な符合、島嶼化で巨大化もあるなら、なぜ日本は小型化ばかり生じたのか。</p>



<p class="wp-block-paragraph">などなど興味は際限なく広がりそうです。</p>



<p class="wp-block-paragraph">No.75  (2021/Nov)(Cubase)</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">14317</post-id>	</item>
		<item>
		<title>秘密工作員の秋 ( An Autumn Day )</title>
		<link>https://imakat.com/2021/10/03/13818/</link>
		
		<dc:creator><![CDATA[imakat]]></dc:creator>
		<pubDate>Sun, 03 Oct 2021 02:35:39 +0000</pubDate>
				<category><![CDATA[自作音楽'15~]]></category>
		<category><![CDATA[音楽]]></category>
		<guid isPermaLink="false">https://imakat.com/?p=13818</guid>

					<description><![CDATA[建設作業員を装っている。昼過ぎには宿に戻って、新聞、雑誌を読む。読みながら、何かを作っている。言えないことだ。煙草の火を絶やすことはない。 基本的には人とは顔を合わせない。話をしない。 今日は嫌な予感がする。来たか。極秘 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="has-text-align-center wp-block-paragraph"></p>


<div class="sc-dynamic-embed">
  <style>
  /* リンクの見た目を整える */
  .sc-dynamic-embed .sc-link-container { 
      display: flex; 
      margin-bottom: 10px; 
      flex-wrap: wrap; 
      align-items: center; 
  }
  .sc-dynamic-embed .sc-link { margin-bottom: 0; }
  .sc-dynamic-embed .sc-link a {
    font-size: 15px; 
    font-weight: normal;
    text-decoration: underline;
    color: #0073aa;
  }
  .sc-dynamic-embed .sc-link a:hover { text-decoration: none; color: #000; }
  
  @media (max-width: 500px) {
    .sc-dynamic-embed .sc-link a { font-size: 13px; }
  }

  .sc-dynamic-embed .imk-line {
      display: inline-block;
      width: 100%;
      border-radius: 2px;
      transition: background-color 0.1s;
  }

  .sc-dynamic-embed #subtitleOverlay,
  .sc-dynamic-embed #scSubtitleOverlay,
  .sc-dynamic-embed .overlay-cue,
  .sc-dynamic-embed .band {
      display: none !important;
      opacity: 0 !important;
      visibility: hidden !important;
      pointer-events: none !important;
  }
  </style>

  <div class="sc-link-container">
    <p class="sc-link">
      <a href="https://imakat.com/ds62/?drid=49_2" target="_blank"
         onclick="return scStopAndGo(event, this);">
        👉低画質・枠外字幕はこちら
      </a>
    </p>
  </div>

  <style>
            :root{ --dr5emd-max: 1920px; }
            #subtitleOverlay, #scSubtitleOverlay, .overlay-cue, .band { display: none !important; opacity: 0 !important; }
            .imk-line { display: inline-block; width: 100%; border-radius: 2px; transition: background-color 0.1s; }
            .dr5emd-sublist details > p{ height:200px; overflow:auto; background-color:#EDF7FF; padding:2px 6px; margin:0; box-shadow:3px 3px 4px black; position: relative; }
            .dr5emd-sublist details > summary{ padding:2px 6px; width:100%; background-color:#ddd; border:none; box-shadow:3px 3px 4px black; cursor:pointer; list-style:none; }
            
                .video-wrap{position:relative;width:100%;margin:0 auto}
                #myVideo{width:100%;height:auto;min-height:200px;display:block;background:#000;}</style><div class="dr5emd-container"><div class="video-wrap"><video id="myVideo" controls poster="https://imakat.com/rd.php?id=QUbgnYZo.png" playsinline preload="none" style="width:100%;height:auto;">  <source src="https://imakat.com/rd.php?id=TEnN4cqh.mp4" type="video/mp4"></video></div></div>            <script>
            document.addEventListener("DOMContentLoaded", function(){
                var video = document.getElementById("myVideo");
                if(!video) return;

                            });
            </script>
            

  <script>
  (function(){
    var me = document.currentScript;
    var wrapper = me ? me.closest('.sc-dynamic-embed') : null;

    function protectVideo() {
      var target = wrapper ? wrapper : document;
      var mediaEls = target.querySelectorAll('video, audio');
      mediaEls.forEach(function(v){
        if(v.dataset.protected === 'true') return;
        v.dataset.protected = 'true';
        v.setAttribute('controlsList', 'nodownload');
        v.oncontextmenu = function() { return false; };
        v.addEventListener('contextmenu', function(e){ e.preventDefault(); return false; }, false);
      });
    }

    function initSubtitles() {
      var target = wrapper ? wrapper : document;
      var video = target.querySelector('video, audio');
      var listContainer = target.querySelector('details > p');
      
      if (!video) return false; 
      
      if (video.dataset.subInit === 'true') return true; 
      video.dataset.subInit = 'true';

      var oldOverlay = target.querySelector('#subtitleOverlay') || target.querySelector('#scSubtitleOverlay');
      if (oldOverlay) {
          oldOverlay.style.setProperty('display', 'none', 'important');
          oldOverlay.innerHTML = ''; 
      }

      function isSpecialMode() {
        var isFs = !!(document.fullscreenElement || document.webkitFullscreenElement || document.mozFullScreenElement || document.msFullscreenElement);
        var isPiP = !!(document.pictureInPictureElement && document.pictureInPictureElement === video) || (video.webkitPresentationMode === "picture-in-picture");
        var isIOSFs = !!video.webkitDisplayingFullscreen; 
        return isFs || isPiP || isIOSFs;
      }

      // 初期状態のセット（リストがなければ最初から showing に）
      try {
        if(video.textTracks && video.textTracks.length > 0){
          for(var i=0; i<video.textTracks.length; i++){
             if(video.textTracks[i].kind === 'subtitles' || video.textTracks[i].kind === 'captions'){
                 video.textTracks[i].mode = (!listContainer) ? "showing" : "hidden";
             }
          }
        }
      } catch(e){}

      // 字幕一覧が存在する場合のみ、リストのフォーマット処理を行う
      if (listContainer) {
          var detailsEl = target.querySelector("details");
          if (detailsEl) {
              detailsEl.open = true; 
              var summaryEl = detailsEl.querySelector("summary");
              if (summaryEl) summaryEl.textContent = "字幕(シーン)はここをクリック";
          }

          if (!listContainer.dataset.formatted) {
              var html = listContainer.innerHTML;
              var lines = html.split(/<br\s*\/?>/i);
              var newHtml = "";
              for(var j=0; j<lines.length; j++) {
                  if(lines[j].trim() === "") continue;
                  newHtml += "<span class='imk-line'>" + lines[j] + "</span><br>";
              }
              listContainer.innerHTML = newHtml;
              listContainer.dataset.formatted = "true";
          }

          var rootSublist = target.querySelector(".dr5-sublist") || listContainer.parentElement;
          if (rootSublist) {
            rootSublist.addEventListener("click", function(e){
              var a = e.target.closest && e.target.closest("a.imk-cue[data-seek]");
              if(!a) return;
              e.preventDefault();
              var ts = a.getAttribute("data-seek");
              if(!ts) return;
              var p = ts.trim().split(":").map(function(x){return parseInt(x,10)||0;});
              var sec = (p.length===2) ? p[0]*60+p[1] : (p.length===3 ? p[0]*3600+p[1]*60+p[2] : null);
              if(sec==null) return;
              try{ video.currentTime = sec; if(video.paused) video.play(); }catch(_){}
            });
          }
      }

      // ★ dr52.php と全く同じ「常時監視」のロジック
      // これにより、Safariが読み込み遅延を起こしても確実にONになります
      video.addEventListener("timeupdate", function(){
        var hasList = (listContainer !== null);
        var desiredMode = (isSpecialMode() || !hasList) ? "showing" : "hidden";
        
        try {
            if(video.textTracks && video.textTracks.length > 0){
                for(var i=0; i<video.textTracks.length; i++){
                    if((video.textTracks[i].kind === 'subtitles' || video.textTracks[i].kind === 'captions') && video.textTracks[i].mode !== desiredMode) {
                        video.textTracks[i].mode = desiredMode;
                    }
                }
            }
        } catch(e){}

        // リストがない場合はこれ以降のハイライト処理をスキップ
        if (!hasList) return;

        var cues = listContainer.querySelectorAll("a.imk-cue");
        if(cues.length === 0) return;
        var cur = video.currentTime;
        var activeA = null;

        for(var i=0; i<cues.length; i++){
            var ts = cues[i].getAttribute("data-seek");
            if(!ts) continue;
            var p = ts.trim().split(":").map(function(x){return parseInt(x,10)||0;});
            var t = (p.length===2) ? p[0]*60+p[1] : (p.length===3 ? p[0]*3600+p[1]*60+p[2] : null);
            if(t !== null && cur >= t - 0.5){ activeA = cues[i]; } 
            else if(t > cur){ break; }
        }

        if(activeA){
            var activeLine = activeA.closest(".imk-line");
            if(!activeLine) activeLine = activeA;

            if(activeLine.classList.contains("active-hl")) return;

            var allLines = listContainer.querySelectorAll(".imk-line");
            for(var k=0; k<allLines.length; k++) {
                allLines[k].classList.remove("active-hl");
                allLines[k].removeAttribute("style"); 
            }
            var allLinks = listContainer.querySelectorAll("a");
            for(var m=0; m<allLinks.length; m++) {
                allLinks[m].classList.remove("active-hl");
                allLinks[m].removeAttribute("style"); 
            }

            activeLine.classList.add("active-hl");
            activeLine.style.setProperty("background-color", "#ffff00", "important");
            activeLine.style.setProperty("color", "red", "important");
            activeLine.style.setProperty("font-weight", "normal", "important");
            
            var newLinks = activeLine.querySelectorAll("a");
            for(var n=0; n<newLinks.length; n++) {
                newLinks[n].style.setProperty("color", "red", "important");
                newLinks[n].style.setProperty("text-decoration", "none", "important");
            }

            if(listContainer.offsetParent !== null){
                var containerRect = listContainer.getBoundingClientRect();
                var activeRect = activeLine.getBoundingClientRect();
                var targetScroll = listContainer.scrollTop + (activeRect.top - containerRect.top) - (listContainer.clientHeight / 2) + (activeLine.clientHeight / 2);
                listContainer.scrollTo({ top: targetScroll, behavior: "smooth" });
            }
        }
      });

      return true;
    }

    var checks = 0;
    var checkTimer = setInterval(function(){
      protectVideo();
      var success = initSubtitles();
      checks++;
      if (success || checks > 20) { 
        clearInterval(checkTimer);
      }
    }, 500); 

    if (!window.scStopAndGo) {
      window.scStopAndGo = function(event, link){
        try{
          var mediaEls = document.querySelectorAll('video, audio');
          mediaEls.forEach(function(m){
            try{
              if (!m.paused) m.pause();
              if (document.pictureInPictureElement === m && document.exitPictureInPicture) {
                document.exitPictureInPicture().catch(function(){});
              }
            }catch(e){}
          });
        }finally{
          event.preventDefault();
          setTimeout(function(){
            if (link.target === '_blank') {
              window.open(link.href, '_blank');
            } else {
              window.location.href = link.href;
            }
          }, 50);
        }
        return false;
      };
    }
  })();
  </script>
</div>



<p class="wp-block-paragraph">建設作業員を装っている。<br>昼過ぎには宿に戻って、新聞、雑誌を読む。<br>読みながら、何かを作っている。言えないことだ。<br>煙草の火を絶やすことはない。</p>



<p class="wp-block-paragraph">基本的には人とは顔を合わせない。<br>話をしない。</p>



<p class="wp-block-paragraph">今日は嫌な予感がする。<br>来たか。<br>極秘の指令が届いた。明日の朝にはこの宿を去ることになった。</p>



<p class="wp-block-paragraph">大戦勃発前に、ここへ潜り込んだ。夏の日差しに汗ばんだ。<br>今はずいぶん涼しい。秋も深まってきた。<br>この宿で３ヶ月も過ごしていたのか。</p>



<p class="wp-block-paragraph">いつも窓越しに公園を眺めてきた。<br>最後の今日は、外を歩いてみることにしよう。</p>



<p class="wp-block-paragraph">コートの襟を立てて、葉の色づいた公園を歩く。<br>子供連れの家族や。恋人たちや。小鳥や。<br>一時の幸せを語る声が聞こえてくる。</p>



<p class="wp-block-paragraph">だめだ。油断している。危ない。心臓が強く打ち始める。<br>私には安心した時間はない。<br><br>&#8211; ピエール・クリュン・ファン・デン・へーホン<br>イーペル会戦勃発前 1914年10月19日　イーペルの公園( Ypres,Belgium ) にて &#8211;</p>



<p class="wp-block-paragraph">No.74（2021/Oct )(cubase )</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">13818</post-id>	</item>
		<item>
		<title>海辺の遊歩道 ( Promenade Seaside )</title>
		<link>https://imakat.com/2021/08/28/13676/</link>
		
		<dc:creator><![CDATA[imakat]]></dc:creator>
		<pubDate>Sat, 28 Aug 2021 13:07:37 +0000</pubDate>
				<category><![CDATA[自作音楽'15~]]></category>
		<category><![CDATA[音楽]]></category>
		<guid isPermaLink="false">https://imakat.com/?p=13676</guid>

					<description><![CDATA[最近、音楽作りの楽しみ方が変わってきた。 最初に、映像やストーリーを想像してから音楽を作る点は同じなのだが、逆に、音楽ができた後で、ふさわしい映像がなかなか直ぐに見つからない。スキル不足で作ることができない。 そこで、映 [&#8230;]]]></description>
										<content:encoded><![CDATA[<div class="sc-dynamic-embed">
  <style>
  /* リンクの見た目を整える */
  .sc-dynamic-embed .sc-link-container { 
      display: flex; 
      margin-bottom: 10px; 
      flex-wrap: wrap; 
      align-items: center; 
  }
  .sc-dynamic-embed .sc-link { margin-bottom: 0; }
  .sc-dynamic-embed .sc-link a {
    font-size: 15px; 
    font-weight: normal;
    text-decoration: underline;
    color: #0073aa;
  }
  .sc-dynamic-embed .sc-link a:hover { text-decoration: none; color: #000; }
  
  @media (max-width: 500px) {
    .sc-dynamic-embed .sc-link a { font-size: 13px; }
  }

  .sc-dynamic-embed .imk-line {
      display: inline-block;
      width: 100%;
      border-radius: 2px;
      transition: background-color 0.1s;
  }

  .sc-dynamic-embed #subtitleOverlay,
  .sc-dynamic-embed #scSubtitleOverlay,
  .sc-dynamic-embed .overlay-cue,
  .sc-dynamic-embed .band {
      display: none !important;
      opacity: 0 !important;
      visibility: hidden !important;
      pointer-events: none !important;
  }
  </style>

  <div class="sc-link-container">
    <p class="sc-link">
      <a href="https://imakat.com/ds62/?drid=87" target="_blank"
         onclick="return scStopAndGo(event, this);">
        👉低画質・枠外字幕はこちら
      </a>
    </p>
  </div>

  <style>
            :root{ --dr5emd-max: 1920px; }
            #subtitleOverlay, #scSubtitleOverlay, .overlay-cue, .band { display: none !important; opacity: 0 !important; }
            .imk-line { display: inline-block; width: 100%; border-radius: 2px; transition: background-color 0.1s; }
            .dr5emd-sublist details > p{ height:200px; overflow:auto; background-color:#EDF7FF; padding:2px 6px; margin:0; box-shadow:3px 3px 4px black; position: relative; }
            .dr5emd-sublist details > summary{ padding:2px 6px; width:100%; background-color:#ddd; border:none; box-shadow:3px 3px 4px black; cursor:pointer; list-style:none; }
            
                .video-wrap{position:relative;width:100%;margin:0 auto}
                #myVideo{width:100%;height:auto;min-height:200px;display:block;background:#000;}</style><div class="dr5emd-container"><div class="video-wrap"><video id="myVideo" controls poster="https://imakat.com/rd.php?id=kDWLY2eJ.png" playsinline preload="none" style="width:100%;height:auto;">  <source src="https://imakat.com/rd.php?id=bRezyJ3x.mov" type="video/mp4"></video></div></div>            <script>
            document.addEventListener("DOMContentLoaded", function(){
                var video = document.getElementById("myVideo");
                if(!video) return;

                            });
            </script>
            

  <script>
  (function(){
    var me = document.currentScript;
    var wrapper = me ? me.closest('.sc-dynamic-embed') : null;

    function protectVideo() {
      var target = wrapper ? wrapper : document;
      var mediaEls = target.querySelectorAll('video, audio');
      mediaEls.forEach(function(v){
        if(v.dataset.protected === 'true') return;
        v.dataset.protected = 'true';
        v.setAttribute('controlsList', 'nodownload');
        v.oncontextmenu = function() { return false; };
        v.addEventListener('contextmenu', function(e){ e.preventDefault(); return false; }, false);
      });
    }

    function initSubtitles() {
      var target = wrapper ? wrapper : document;
      var video = target.querySelector('video, audio');
      var listContainer = target.querySelector('details > p');
      
      if (!video) return false; 
      
      if (video.dataset.subInit === 'true') return true; 
      video.dataset.subInit = 'true';

      var oldOverlay = target.querySelector('#subtitleOverlay') || target.querySelector('#scSubtitleOverlay');
      if (oldOverlay) {
          oldOverlay.style.setProperty('display', 'none', 'important');
          oldOverlay.innerHTML = ''; 
      }

      function isSpecialMode() {
        var isFs = !!(document.fullscreenElement || document.webkitFullscreenElement || document.mozFullScreenElement || document.msFullscreenElement);
        var isPiP = !!(document.pictureInPictureElement && document.pictureInPictureElement === video) || (video.webkitPresentationMode === "picture-in-picture");
        var isIOSFs = !!video.webkitDisplayingFullscreen; 
        return isFs || isPiP || isIOSFs;
      }

      // 初期状態のセット（リストがなければ最初から showing に）
      try {
        if(video.textTracks && video.textTracks.length > 0){
          for(var i=0; i<video.textTracks.length; i++){
             if(video.textTracks[i].kind === 'subtitles' || video.textTracks[i].kind === 'captions'){
                 video.textTracks[i].mode = (!listContainer) ? "showing" : "hidden";
             }
          }
        }
      } catch(e){}

      // 字幕一覧が存在する場合のみ、リストのフォーマット処理を行う
      if (listContainer) {
          var detailsEl = target.querySelector("details");
          if (detailsEl) {
              detailsEl.open = true; 
              var summaryEl = detailsEl.querySelector("summary");
              if (summaryEl) summaryEl.textContent = "字幕(シーン)はここをクリック";
          }

          if (!listContainer.dataset.formatted) {
              var html = listContainer.innerHTML;
              var lines = html.split(/<br\s*\/?>/i);
              var newHtml = "";
              for(var j=0; j<lines.length; j++) {
                  if(lines[j].trim() === "") continue;
                  newHtml += "<span class='imk-line'>" + lines[j] + "</span><br>";
              }
              listContainer.innerHTML = newHtml;
              listContainer.dataset.formatted = "true";
          }

          var rootSublist = target.querySelector(".dr5-sublist") || listContainer.parentElement;
          if (rootSublist) {
            rootSublist.addEventListener("click", function(e){
              var a = e.target.closest && e.target.closest("a.imk-cue[data-seek]");
              if(!a) return;
              e.preventDefault();
              var ts = a.getAttribute("data-seek");
              if(!ts) return;
              var p = ts.trim().split(":").map(function(x){return parseInt(x,10)||0;});
              var sec = (p.length===2) ? p[0]*60+p[1] : (p.length===3 ? p[0]*3600+p[1]*60+p[2] : null);
              if(sec==null) return;
              try{ video.currentTime = sec; if(video.paused) video.play(); }catch(_){}
            });
          }
      }

      // ★ dr52.php と全く同じ「常時監視」のロジック
      // これにより、Safariが読み込み遅延を起こしても確実にONになります
      video.addEventListener("timeupdate", function(){
        var hasList = (listContainer !== null);
        var desiredMode = (isSpecialMode() || !hasList) ? "showing" : "hidden";
        
        try {
            if(video.textTracks && video.textTracks.length > 0){
                for(var i=0; i<video.textTracks.length; i++){
                    if((video.textTracks[i].kind === 'subtitles' || video.textTracks[i].kind === 'captions') && video.textTracks[i].mode !== desiredMode) {
                        video.textTracks[i].mode = desiredMode;
                    }
                }
            }
        } catch(e){}

        // リストがない場合はこれ以降のハイライト処理をスキップ
        if (!hasList) return;

        var cues = listContainer.querySelectorAll("a.imk-cue");
        if(cues.length === 0) return;
        var cur = video.currentTime;
        var activeA = null;

        for(var i=0; i<cues.length; i++){
            var ts = cues[i].getAttribute("data-seek");
            if(!ts) continue;
            var p = ts.trim().split(":").map(function(x){return parseInt(x,10)||0;});
            var t = (p.length===2) ? p[0]*60+p[1] : (p.length===3 ? p[0]*3600+p[1]*60+p[2] : null);
            if(t !== null && cur >= t - 0.5){ activeA = cues[i]; } 
            else if(t > cur){ break; }
        }

        if(activeA){
            var activeLine = activeA.closest(".imk-line");
            if(!activeLine) activeLine = activeA;

            if(activeLine.classList.contains("active-hl")) return;

            var allLines = listContainer.querySelectorAll(".imk-line");
            for(var k=0; k<allLines.length; k++) {
                allLines[k].classList.remove("active-hl");
                allLines[k].removeAttribute("style"); 
            }
            var allLinks = listContainer.querySelectorAll("a");
            for(var m=0; m<allLinks.length; m++) {
                allLinks[m].classList.remove("active-hl");
                allLinks[m].removeAttribute("style"); 
            }

            activeLine.classList.add("active-hl");
            activeLine.style.setProperty("background-color", "#ffff00", "important");
            activeLine.style.setProperty("color", "red", "important");
            activeLine.style.setProperty("font-weight", "normal", "important");
            
            var newLinks = activeLine.querySelectorAll("a");
            for(var n=0; n<newLinks.length; n++) {
                newLinks[n].style.setProperty("color", "red", "important");
                newLinks[n].style.setProperty("text-decoration", "none", "important");
            }

            if(listContainer.offsetParent !== null){
                var containerRect = listContainer.getBoundingClientRect();
                var activeRect = activeLine.getBoundingClientRect();
                var targetScroll = listContainer.scrollTop + (activeRect.top - containerRect.top) - (listContainer.clientHeight / 2) + (activeLine.clientHeight / 2);
                listContainer.scrollTo({ top: targetScroll, behavior: "smooth" });
            }
        }
      });

      return true;
    }

    var checks = 0;
    var checkTimer = setInterval(function(){
      protectVideo();
      var success = initSubtitles();
      checks++;
      if (success || checks > 20) { 
        clearInterval(checkTimer);
      }
    }, 500); 

    if (!window.scStopAndGo) {
      window.scStopAndGo = function(event, link){
        try{
          var mediaEls = document.querySelectorAll('video, audio');
          mediaEls.forEach(function(m){
            try{
              if (!m.paused) m.pause();
              if (document.pictureInPictureElement === m && document.exitPictureInPicture) {
                document.exitPictureInPicture().catch(function(){});
              }
            }catch(e){}
          });
        }finally{
          event.preventDefault();
          setTimeout(function(){
            if (link.target === '_blank') {
              window.open(link.href, '_blank');
            } else {
              window.location.href = link.href;
            }
          }, 50);
        }
        return false;
      };
    }
  })();
  </script>
</div>



<p class="wp-block-paragraph">最近、音楽作りの楽しみ方が変わってきた。</p>



<p class="wp-block-paragraph">最初に、映像やストーリーを想像してから音楽を作る点は同じなのだが、逆に、音楽ができた後で、ふさわしい映像がなかなか直ぐに見つからない。スキル不足で作ることができない。</p>



<p class="wp-block-paragraph">そこで、映像は、だいたいこんな感じでいいや、と仮置きしておく。</p>



<p class="wp-block-paragraph">それを眺めているうちに、だんだんと、こんな映像や画像が欲しい、という気になってくる。</p>



<p class="wp-block-paragraph">それで、カメラを持って、いやカメラと言ってもスマホのカメラだが、それを持って外に探しに出かける。</p>



<p class="wp-block-paragraph">ところが、</p>



<p class="wp-block-paragraph">スマホで、音楽を聴きながら撮影すると、当然のことながら、音楽は止まって、録音付きの動画撮影に切り替わってしまう。これだと、映像と音楽をマッチさせるのは、家に帰ってからの作業になってしまう。</p>



<p class="wp-block-paragraph">やはり、今聴いている音楽のこの箇所に、この現場の映像を合わせたい。</p>



<p class="wp-block-paragraph">この作業は結構難しい。</p>



<p class="wp-block-paragraph">と、思っていて、</p>



<p class="wp-block-paragraph">ネットで調べると、アプリ不要で、出来るとは、知らなかった（<a rel="noopener" target="_blank" href="https://isuta.jp/category/iphone/2021/05/608255">バックグラウンドで音楽再生しながら動画撮影するテクニック<span class="fa fa-external-link external-icon anchor-icon"></span></a>）。非常に簡単。但し、スピーカーから音楽を流しながら撮影するスタイル。AirPodsを使いながらだと、録画中は音楽は聴こえているが、録音結果には、外部の音は録音されるが、音楽は録音されません。この欠点を飲み込むなら、手先の少しの作業だけでOKなので、使える場面はありそう。</p>



<p class="wp-block-paragraph">映像で難しいのは、やはり、人物を登場させようと思う時。</p>



<p class="wp-block-paragraph">シルエットを使う、キャプションで詩歌的に補う、などもあると思うが、難しい。</p>



<p class="wp-block-paragraph">結局、いつまで経っても、映像は、仮置きのままになる。</p>



<p class="wp-block-paragraph"></p>



<hr class="wp-block-separator has-text-color has-key-color-color has-css-opacity has-key-color-background-color has-background is-style-wide"/>



<p class="wp-block-paragraph">この曲は、「旅に出たハンモック」という曲の原曲というか元になった曲です。</p>



<p class="wp-block-paragraph">歌のないインスト曲は、２分半から３分程度が、作りやすい。</p>



<p class="wp-block-paragraph">ちょっと前までは、曲はいつも４分〜５分になっていた。もちろん、その長さで、形になれば、理想ではある。</p>



<p class="wp-block-paragraph">しかしよくよく考えてみると、</p>



<p class="wp-block-paragraph">２分ちょっとの曲に、あれこれ、味付けや、繰り返しや、変化を付けて、ある意味強引に、４分にしている、とも言える。</p>



<p class="wp-block-paragraph">あえてそうした飾り付けを外してみると、表現したいことだけが、そこにあるわけだ。</p>



<p class="wp-block-paragraph">No.73（Rev:2021/Aug Original:2014/Oct )(cubase )</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">13676</post-id>	</item>
		<item>
		<title>靴屋の前で ( In front of A Shoe Shop )</title>
		<link>https://imakat.com/2021/07/04/13359/</link>
		
		<dc:creator><![CDATA[imakat]]></dc:creator>
		<pubDate>Sun, 04 Jul 2021 09:33:15 +0000</pubDate>
				<category><![CDATA[自作音楽'15~]]></category>
		<category><![CDATA[音楽]]></category>
		<guid isPermaLink="false">https://imakat.com/?p=13359</guid>

					<description><![CDATA[イーシャは、&#160;靴屋の前で、いつも立ち止まった。そして小さく踊る。 いえ、通行人に見せびらかすのではなく、ショーウインドウを見ながら、足だけ軽やかに、とても控えめに、数秒間、タップを踏むのである。 彼女は、思い浮 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="has-text-align-center wp-block-paragraph"></p>


<div class="sc-dynamic-embed">
  <style>
  /* リンクの見た目を整える */
  .sc-dynamic-embed .sc-link-container { 
      display: flex; 
      margin-bottom: 10px; 
      flex-wrap: wrap; 
      align-items: center; 
  }
  .sc-dynamic-embed .sc-link { margin-bottom: 0; }
  .sc-dynamic-embed .sc-link a {
    font-size: 15px; 
    font-weight: normal;
    text-decoration: underline;
    color: #0073aa;
  }
  .sc-dynamic-embed .sc-link a:hover { text-decoration: none; color: #000; }
  
  @media (max-width: 500px) {
    .sc-dynamic-embed .sc-link a { font-size: 13px; }
  }

  .sc-dynamic-embed .imk-line {
      display: inline-block;
      width: 100%;
      border-radius: 2px;
      transition: background-color 0.1s;
  }

  .sc-dynamic-embed #subtitleOverlay,
  .sc-dynamic-embed #scSubtitleOverlay,
  .sc-dynamic-embed .overlay-cue,
  .sc-dynamic-embed .band {
      display: none !important;
      opacity: 0 !important;
      visibility: hidden !important;
      pointer-events: none !important;
  }
  </style>

  <div class="sc-link-container">
    <p class="sc-link">
      <a href="https://imakat.com/ds62/?drid=42" target="_blank"
         onclick="return scStopAndGo(event, this);">
        👉低画質・枠外字幕はこちら
      </a>
    </p>
  </div>

  <style>
            :root{ --dr5emd-max: 1920px; }
            #subtitleOverlay, #scSubtitleOverlay, .overlay-cue, .band { display: none !important; opacity: 0 !important; }
            .imk-line { display: inline-block; width: 100%; border-radius: 2px; transition: background-color 0.1s; }
            .dr5emd-sublist details > p{ height:200px; overflow:auto; background-color:#EDF7FF; padding:2px 6px; margin:0; box-shadow:3px 3px 4px black; position: relative; }
            .dr5emd-sublist details > summary{ padding:2px 6px; width:100%; background-color:#ddd; border:none; box-shadow:3px 3px 4px black; cursor:pointer; list-style:none; }
            
                .video-wrap{position:relative;width:100%;margin:0 auto}
                #myVideo{width:100%;height:auto;min-height:200px;display:block;background:#000;}</style><div class="dr5emd-container"><div class="video-wrap"><video id="myVideo" controls poster="https://imakat.com/rd.php?id=gUauGTPf.png" playsinline preload="none" style="width:100%;height:auto;">  <source src="https://imakat.com/rd.php?id=DDTHKNw4.mp4" type="video/mp4">  <track src="https://imakat.com/rd.php?id=hbeE5UUQ.vtt" label="日本語" srclang="ja" kind="subtitles"></video></div><div class="dr5emd-sublist"><details><summary>字幕一覧(クリック)</summary> <p>
〜　靴屋の前で ( In front of A Shoe Shop)　〜<br>
イーシャは、 靴屋の前で、いつも立ち止まった。<br>
ウィンドウの中の靴を見つめる　<br>
そして小さく踊る。<br>
通行人に見せびらかすのではなく、ショーウインドウを見ながら、足だけ軽やかに、とても控えめに、数秒間、タップを踏むのである。<br>
今日は、ずっと欲しかったクラシックな焦げ茶色の靴を買った。<br>
早速、履いた。<br>
アイリッシュダンサーの気分で。。<br>
かたこと　かたこと　ことこと　ことこと♪♪<br>
目をつぶると、何にでもなれる。<br>
クラシックのバレリーナの気分で。。<br>
いつも遊びに来ている坊や。「今日は靴買ったよ。」　<br>
夢中になっているうちに、夜になってしまった。<br>
今日は、特別な一日。<br>
今度は、いつ靴を買うことになるだろうか。<br>
すれ違う人々も、誰一人、声をかけてくれることもなく<br>
夏のほとぼりが冷めつつある、今の時間、<br>
星の時間と自分の時間、繋げに行こう。<br>
銀河への階段は、どこから登るの。<br>
この道を、明日も歩く。<br>
画像：ChatGPT 4o<br>
音楽；靴屋の前で ( Original )<br>
</p> </details> <style>details { font: 16px "Open Sans", Calibri, sans-serif; width: 100%; } details > summary { padding: 2px 6px; width: 100%; background-color: #ddd; border: none; box-shadow: 3px 3px 4px black; cursor: pointer; list-style: none; } details > p { font: 14px "Open Sans", Calibri, sans-serif; height:150px; overflow: scroll; background-color: #EDF7FF; padding: 2px 6px; margin: 0; box-shadow: 3px 3px 4px black; } </style>
</div></div>            <script>
            document.addEventListener("DOMContentLoaded", function(){
                var video = document.getElementById("myVideo");
                if(!video) return;

                            });
            </script>
            

  <script>
  (function(){
    var me = document.currentScript;
    var wrapper = me ? me.closest('.sc-dynamic-embed') : null;

    function protectVideo() {
      var target = wrapper ? wrapper : document;
      var mediaEls = target.querySelectorAll('video, audio');
      mediaEls.forEach(function(v){
        if(v.dataset.protected === 'true') return;
        v.dataset.protected = 'true';
        v.setAttribute('controlsList', 'nodownload');
        v.oncontextmenu = function() { return false; };
        v.addEventListener('contextmenu', function(e){ e.preventDefault(); return false; }, false);
      });
    }

    function initSubtitles() {
      var target = wrapper ? wrapper : document;
      var video = target.querySelector('video, audio');
      var listContainer = target.querySelector('details > p');
      
      if (!video) return false; 
      
      if (video.dataset.subInit === 'true') return true; 
      video.dataset.subInit = 'true';

      var oldOverlay = target.querySelector('#subtitleOverlay') || target.querySelector('#scSubtitleOverlay');
      if (oldOverlay) {
          oldOverlay.style.setProperty('display', 'none', 'important');
          oldOverlay.innerHTML = ''; 
      }

      function isSpecialMode() {
        var isFs = !!(document.fullscreenElement || document.webkitFullscreenElement || document.mozFullScreenElement || document.msFullscreenElement);
        var isPiP = !!(document.pictureInPictureElement && document.pictureInPictureElement === video) || (video.webkitPresentationMode === "picture-in-picture");
        var isIOSFs = !!video.webkitDisplayingFullscreen; 
        return isFs || isPiP || isIOSFs;
      }

      // 初期状態のセット（リストがなければ最初から showing に）
      try {
        if(video.textTracks && video.textTracks.length > 0){
          for(var i=0; i<video.textTracks.length; i++){
             if(video.textTracks[i].kind === 'subtitles' || video.textTracks[i].kind === 'captions'){
                 video.textTracks[i].mode = (!listContainer) ? "showing" : "hidden";
             }
          }
        }
      } catch(e){}

      // 字幕一覧が存在する場合のみ、リストのフォーマット処理を行う
      if (listContainer) {
          var detailsEl = target.querySelector("details");
          if (detailsEl) {
              detailsEl.open = true; 
              var summaryEl = detailsEl.querySelector("summary");
              if (summaryEl) summaryEl.textContent = "字幕(シーン)はここをクリック";
          }

          if (!listContainer.dataset.formatted) {
              var html = listContainer.innerHTML;
              var lines = html.split(/<br\s*\/?>/i);
              var newHtml = "";
              for(var j=0; j<lines.length; j++) {
                  if(lines[j].trim() === "") continue;
                  newHtml += "<span class='imk-line'>" + lines[j] + "</span><br>";
              }
              listContainer.innerHTML = newHtml;
              listContainer.dataset.formatted = "true";
          }

          var rootSublist = target.querySelector(".dr5-sublist") || listContainer.parentElement;
          if (rootSublist) {
            rootSublist.addEventListener("click", function(e){
              var a = e.target.closest && e.target.closest("a.imk-cue[data-seek]");
              if(!a) return;
              e.preventDefault();
              var ts = a.getAttribute("data-seek");
              if(!ts) return;
              var p = ts.trim().split(":").map(function(x){return parseInt(x,10)||0;});
              var sec = (p.length===2) ? p[0]*60+p[1] : (p.length===3 ? p[0]*3600+p[1]*60+p[2] : null);
              if(sec==null) return;
              try{ video.currentTime = sec; if(video.paused) video.play(); }catch(_){}
            });
          }
      }

      // ★ dr52.php と全く同じ「常時監視」のロジック
      // これにより、Safariが読み込み遅延を起こしても確実にONになります
      video.addEventListener("timeupdate", function(){
        var hasList = (listContainer !== null);
        var desiredMode = (isSpecialMode() || !hasList) ? "showing" : "hidden";
        
        try {
            if(video.textTracks && video.textTracks.length > 0){
                for(var i=0; i<video.textTracks.length; i++){
                    if((video.textTracks[i].kind === 'subtitles' || video.textTracks[i].kind === 'captions') && video.textTracks[i].mode !== desiredMode) {
                        video.textTracks[i].mode = desiredMode;
                    }
                }
            }
        } catch(e){}

        // リストがない場合はこれ以降のハイライト処理をスキップ
        if (!hasList) return;

        var cues = listContainer.querySelectorAll("a.imk-cue");
        if(cues.length === 0) return;
        var cur = video.currentTime;
        var activeA = null;

        for(var i=0; i<cues.length; i++){
            var ts = cues[i].getAttribute("data-seek");
            if(!ts) continue;
            var p = ts.trim().split(":").map(function(x){return parseInt(x,10)||0;});
            var t = (p.length===2) ? p[0]*60+p[1] : (p.length===3 ? p[0]*3600+p[1]*60+p[2] : null);
            if(t !== null && cur >= t - 0.5){ activeA = cues[i]; } 
            else if(t > cur){ break; }
        }

        if(activeA){
            var activeLine = activeA.closest(".imk-line");
            if(!activeLine) activeLine = activeA;

            if(activeLine.classList.contains("active-hl")) return;

            var allLines = listContainer.querySelectorAll(".imk-line");
            for(var k=0; k<allLines.length; k++) {
                allLines[k].classList.remove("active-hl");
                allLines[k].removeAttribute("style"); 
            }
            var allLinks = listContainer.querySelectorAll("a");
            for(var m=0; m<allLinks.length; m++) {
                allLinks[m].classList.remove("active-hl");
                allLinks[m].removeAttribute("style"); 
            }

            activeLine.classList.add("active-hl");
            activeLine.style.setProperty("background-color", "#ffff00", "important");
            activeLine.style.setProperty("color", "red", "important");
            activeLine.style.setProperty("font-weight", "normal", "important");
            
            var newLinks = activeLine.querySelectorAll("a");
            for(var n=0; n<newLinks.length; n++) {
                newLinks[n].style.setProperty("color", "red", "important");
                newLinks[n].style.setProperty("text-decoration", "none", "important");
            }

            if(listContainer.offsetParent !== null){
                var containerRect = listContainer.getBoundingClientRect();
                var activeRect = activeLine.getBoundingClientRect();
                var targetScroll = listContainer.scrollTop + (activeRect.top - containerRect.top) - (listContainer.clientHeight / 2) + (activeLine.clientHeight / 2);
                listContainer.scrollTo({ top: targetScroll, behavior: "smooth" });
            }
        }
      });

      return true;
    }

    var checks = 0;
    var checkTimer = setInterval(function(){
      protectVideo();
      var success = initSubtitles();
      checks++;
      if (success || checks > 20) { 
        clearInterval(checkTimer);
      }
    }, 500); 

    if (!window.scStopAndGo) {
      window.scStopAndGo = function(event, link){
        try{
          var mediaEls = document.querySelectorAll('video, audio');
          mediaEls.forEach(function(m){
            try{
              if (!m.paused) m.pause();
              if (document.pictureInPictureElement === m && document.exitPictureInPicture) {
                document.exitPictureInPicture().catch(function(){});
              }
            }catch(e){}
          });
        }finally{
          event.preventDefault();
          setTimeout(function(){
            if (link.target === '_blank') {
              window.open(link.href, '_blank');
            } else {
              window.location.href = link.href;
            }
          }, 50);
        }
        return false;
      };
    }
  })();
  </script>
</div>



<p class="wp-block-paragraph">イーシャは、&nbsp;靴屋の前で、いつも立ち止まった。そして小さく踊る。</p>



<p class="wp-block-paragraph">いえ、通行人に見せびらかすのではなく、ショーウインドウを見ながら、足だけ軽やかに、とても控えめに、数秒間、タップを踏むのである。</p>



<p class="wp-block-paragraph">彼女は、思い浮かぶフレーズにアドリブでサッと足を動かしているのである。</p>



<p class="wp-block-paragraph">よく少女がする所作だ。</p>



<p class="wp-block-paragraph">それがお洒落に、溶け込んでいるので、街ゆく人は振り返る。</p>



<p class="wp-block-paragraph">ある日、いつも欲しくて見つめていたクラッシックなタップシューズを買った。<br><br>嬉しくて、靴屋の前で、踊った。タップした。よく会う近所の子供と一緒にダンスした。</p>



<p class="wp-block-paragraph">知らぬ間に街路灯がつく夜になっていた。</p>



<p class="wp-block-paragraph">楽しかった私だけのひと時。<br><br>また明日。<br></p>



<hr class="wp-block-separator has-text-color has-key-color-color has-css-opacity has-key-color-background-color has-background is-style-wide"/>



<p class="wp-block-paragraph">可憐な少女から大人へ移ろう姿を表現しようと思いました。曲としては、変則的なリズムが展開されますが、繰り返すことにより、聴きやすくなっていると思います。和音構成はあまり凝らず、マイナーな素地に、メジャーなお洒落感を上から塗った感じに仕上げています。</p>



<p class="wp-block-paragraph">時代は、昭和終わりから平成の初め頃のイメージでしょうか。</p>



<p class="wp-block-paragraph">No.72 ( July/2021)( Cubase )</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">13359</post-id>	</item>
		<item>
		<title>風の中の道( A Path In The Wind )</title>
		<link>https://imakat.com/2021/02/23/11700/</link>
		
		<dc:creator><![CDATA[imakat]]></dc:creator>
		<pubDate>Mon, 22 Feb 2021 22:51:42 +0000</pubDate>
				<category><![CDATA[自作音楽'15~]]></category>
		<category><![CDATA[音楽]]></category>
		<guid isPermaLink="false">https://imakat.com/?p=11700</guid>

					<description><![CDATA[&#60;2022.6.2 浜名湖&#62; 梅雨にはまだ入っていませんが、雨の日が多くなってきた中、気持ちよく晴れていたので、浜名湖の南の今切口から北の伊目小付近まで、初夏の空気を吸いに出かけました。 &#60; 2021. [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="has-text-align-left wp-block-paragraph">&lt;2022.6.2 浜名湖&gt;</p>



<p class="wp-block-paragraph"></p>


<div class="sc-dynamic-embed">
  <style>
  /* リンクの見た目を整える */
  .sc-dynamic-embed .sc-link-container { 
      display: flex; 
      margin-bottom: 10px; 
      flex-wrap: wrap; 
      align-items: center; 
  }
  .sc-dynamic-embed .sc-link { margin-bottom: 0; }
  .sc-dynamic-embed .sc-link a {
    font-size: 15px; 
    font-weight: normal;
    text-decoration: underline;
    color: #0073aa;
  }
  .sc-dynamic-embed .sc-link a:hover { text-decoration: none; color: #000; }
  
  @media (max-width: 500px) {
    .sc-dynamic-embed .sc-link a { font-size: 13px; }
  }

  .sc-dynamic-embed .imk-line {
      display: inline-block;
      width: 100%;
      border-radius: 2px;
      transition: background-color 0.1s;
  }

  .sc-dynamic-embed #subtitleOverlay,
  .sc-dynamic-embed #scSubtitleOverlay,
  .sc-dynamic-embed .overlay-cue,
  .sc-dynamic-embed .band {
      display: none !important;
      opacity: 0 !important;
      visibility: hidden !important;
      pointer-events: none !important;
  }
  </style>

  <div class="sc-link-container">
    <p class="sc-link">
      <a href="https://imakat.com/ds62/?drid=86" target="_blank"
         onclick="return scStopAndGo(event, this);">
        👉低画質・枠外字幕はこちら
      </a>
    </p>
  </div>

  <style>
            :root{ --dr5emd-max: 1920px; }
            #subtitleOverlay, #scSubtitleOverlay, .overlay-cue, .band { display: none !important; opacity: 0 !important; }
            .imk-line { display: inline-block; width: 100%; border-radius: 2px; transition: background-color 0.1s; }
            .dr5emd-sublist details > p{ height:200px; overflow:auto; background-color:#EDF7FF; padding:2px 6px; margin:0; box-shadow:3px 3px 4px black; position: relative; }
            .dr5emd-sublist details > summary{ padding:2px 6px; width:100%; background-color:#ddd; border:none; box-shadow:3px 3px 4px black; cursor:pointer; list-style:none; }
            
                .video-wrap{position:relative;width:100%;margin:0 auto}
                #myVideo{width:100%;height:auto;min-height:200px;display:block;background:#000;}</style><div class="dr5emd-container"><div class="video-wrap"><video id="myVideo" controls poster="https://imakat.com/rd.php?id=63I07n5K.png" playsinline preload="none" style="width:100%;height:auto;">  <source src="https://imakat.com/rd.php?id=DrT8K3ff.mp4" type="video/mp4">  <track src="https://imakat.com/rd.php?id=QQJGV6HR.vtt" label="日本語" srclang="ja" kind="subtitles" default></video></div></div>            <script>
            document.addEventListener("DOMContentLoaded", function(){
                var video = document.getElementById("myVideo");
                if(!video) return;

                            });
            </script>
            

  <script>
  (function(){
    var me = document.currentScript;
    var wrapper = me ? me.closest('.sc-dynamic-embed') : null;

    function protectVideo() {
      var target = wrapper ? wrapper : document;
      var mediaEls = target.querySelectorAll('video, audio');
      mediaEls.forEach(function(v){
        if(v.dataset.protected === 'true') return;
        v.dataset.protected = 'true';
        v.setAttribute('controlsList', 'nodownload');
        v.oncontextmenu = function() { return false; };
        v.addEventListener('contextmenu', function(e){ e.preventDefault(); return false; }, false);
      });
    }

    function initSubtitles() {
      var target = wrapper ? wrapper : document;
      var video = target.querySelector('video, audio');
      var listContainer = target.querySelector('details > p');
      
      if (!video) return false; 
      
      if (video.dataset.subInit === 'true') return true; 
      video.dataset.subInit = 'true';

      var oldOverlay = target.querySelector('#subtitleOverlay') || target.querySelector('#scSubtitleOverlay');
      if (oldOverlay) {
          oldOverlay.style.setProperty('display', 'none', 'important');
          oldOverlay.innerHTML = ''; 
      }

      function isSpecialMode() {
        var isFs = !!(document.fullscreenElement || document.webkitFullscreenElement || document.mozFullScreenElement || document.msFullscreenElement);
        var isPiP = !!(document.pictureInPictureElement && document.pictureInPictureElement === video) || (video.webkitPresentationMode === "picture-in-picture");
        var isIOSFs = !!video.webkitDisplayingFullscreen; 
        return isFs || isPiP || isIOSFs;
      }

      // 初期状態のセット（リストがなければ最初から showing に）
      try {
        if(video.textTracks && video.textTracks.length > 0){
          for(var i=0; i<video.textTracks.length; i++){
             if(video.textTracks[i].kind === 'subtitles' || video.textTracks[i].kind === 'captions'){
                 video.textTracks[i].mode = (!listContainer) ? "showing" : "hidden";
             }
          }
        }
      } catch(e){}

      // 字幕一覧が存在する場合のみ、リストのフォーマット処理を行う
      if (listContainer) {
          var detailsEl = target.querySelector("details");
          if (detailsEl) {
              detailsEl.open = true; 
              var summaryEl = detailsEl.querySelector("summary");
              if (summaryEl) summaryEl.textContent = "字幕(シーン)はここをクリック";
          }

          if (!listContainer.dataset.formatted) {
              var html = listContainer.innerHTML;
              var lines = html.split(/<br\s*\/?>/i);
              var newHtml = "";
              for(var j=0; j<lines.length; j++) {
                  if(lines[j].trim() === "") continue;
                  newHtml += "<span class='imk-line'>" + lines[j] + "</span><br>";
              }
              listContainer.innerHTML = newHtml;
              listContainer.dataset.formatted = "true";
          }

          var rootSublist = target.querySelector(".dr5-sublist") || listContainer.parentElement;
          if (rootSublist) {
            rootSublist.addEventListener("click", function(e){
              var a = e.target.closest && e.target.closest("a.imk-cue[data-seek]");
              if(!a) return;
              e.preventDefault();
              var ts = a.getAttribute("data-seek");
              if(!ts) return;
              var p = ts.trim().split(":").map(function(x){return parseInt(x,10)||0;});
              var sec = (p.length===2) ? p[0]*60+p[1] : (p.length===3 ? p[0]*3600+p[1]*60+p[2] : null);
              if(sec==null) return;
              try{ video.currentTime = sec; if(video.paused) video.play(); }catch(_){}
            });
          }
      }

      // ★ dr52.php と全く同じ「常時監視」のロジック
      // これにより、Safariが読み込み遅延を起こしても確実にONになります
      video.addEventListener("timeupdate", function(){
        var hasList = (listContainer !== null);
        var desiredMode = (isSpecialMode() || !hasList) ? "showing" : "hidden";
        
        try {
            if(video.textTracks && video.textTracks.length > 0){
                for(var i=0; i<video.textTracks.length; i++){
                    if((video.textTracks[i].kind === 'subtitles' || video.textTracks[i].kind === 'captions') && video.textTracks[i].mode !== desiredMode) {
                        video.textTracks[i].mode = desiredMode;
                    }
                }
            }
        } catch(e){}

        // リストがない場合はこれ以降のハイライト処理をスキップ
        if (!hasList) return;

        var cues = listContainer.querySelectorAll("a.imk-cue");
        if(cues.length === 0) return;
        var cur = video.currentTime;
        var activeA = null;

        for(var i=0; i<cues.length; i++){
            var ts = cues[i].getAttribute("data-seek");
            if(!ts) continue;
            var p = ts.trim().split(":").map(function(x){return parseInt(x,10)||0;});
            var t = (p.length===2) ? p[0]*60+p[1] : (p.length===3 ? p[0]*3600+p[1]*60+p[2] : null);
            if(t !== null && cur >= t - 0.5){ activeA = cues[i]; } 
            else if(t > cur){ break; }
        }

        if(activeA){
            var activeLine = activeA.closest(".imk-line");
            if(!activeLine) activeLine = activeA;

            if(activeLine.classList.contains("active-hl")) return;

            var allLines = listContainer.querySelectorAll(".imk-line");
            for(var k=0; k<allLines.length; k++) {
                allLines[k].classList.remove("active-hl");
                allLines[k].removeAttribute("style"); 
            }
            var allLinks = listContainer.querySelectorAll("a");
            for(var m=0; m<allLinks.length; m++) {
                allLinks[m].classList.remove("active-hl");
                allLinks[m].removeAttribute("style"); 
            }

            activeLine.classList.add("active-hl");
            activeLine.style.setProperty("background-color", "#ffff00", "important");
            activeLine.style.setProperty("color", "red", "important");
            activeLine.style.setProperty("font-weight", "normal", "important");
            
            var newLinks = activeLine.querySelectorAll("a");
            for(var n=0; n<newLinks.length; n++) {
                newLinks[n].style.setProperty("color", "red", "important");
                newLinks[n].style.setProperty("text-decoration", "none", "important");
            }

            if(listContainer.offsetParent !== null){
                var containerRect = listContainer.getBoundingClientRect();
                var activeRect = activeLine.getBoundingClientRect();
                var targetScroll = listContainer.scrollTop + (activeRect.top - containerRect.top) - (listContainer.clientHeight / 2) + (activeLine.clientHeight / 2);
                listContainer.scrollTo({ top: targetScroll, behavior: "smooth" });
            }
        }
      });

      return true;
    }

    var checks = 0;
    var checkTimer = setInterval(function(){
      protectVideo();
      var success = initSubtitles();
      checks++;
      if (success || checks > 20) { 
        clearInterval(checkTimer);
      }
    }, 500); 

    if (!window.scStopAndGo) {
      window.scStopAndGo = function(event, link){
        try{
          var mediaEls = document.querySelectorAll('video, audio');
          mediaEls.forEach(function(m){
            try{
              if (!m.paused) m.pause();
              if (document.pictureInPictureElement === m && document.exitPictureInPicture) {
                document.exitPictureInPicture().catch(function(){});
              }
            }catch(e){}
          });
        }finally{
          event.preventDefault();
          setTimeout(function(){
            if (link.target === '_blank') {
              window.open(link.href, '_blank');
            } else {
              window.location.href = link.href;
            }
          }, 50);
        }
        return false;
      };
    }
  })();
  </script>
</div>



<p class="wp-block-paragraph">梅雨にはまだ入っていませんが、雨の日が多くなってきた中、気持ちよく晴れていたので、浜名湖の南の今切口から北の伊目小付近まで、初夏の空気を吸いに出かけました。</p>



<hr class="wp-block-separator has-text-color has-key-color-color has-alpha-channel-opacity has-key-color-background-color has-background is-style-wide"/>



<p class="wp-block-paragraph">&lt; 2021.2.22　浜松市浜北森林公園他　&gt;</p>


<div class="sc-dynamic-embed">
  <style>
  /* リンクの見た目を整える */
  .sc-dynamic-embed .sc-link-container { 
      display: flex; 
      margin-bottom: 10px; 
      flex-wrap: wrap; 
      align-items: center; 
  }
  .sc-dynamic-embed .sc-link { margin-bottom: 0; }
  .sc-dynamic-embed .sc-link a {
    font-size: 15px; 
    font-weight: normal;
    text-decoration: underline;
    color: #0073aa;
  }
  .sc-dynamic-embed .sc-link a:hover { text-decoration: none; color: #000; }
  
  @media (max-width: 500px) {
    .sc-dynamic-embed .sc-link a { font-size: 13px; }
  }

  .sc-dynamic-embed .imk-line {
      display: inline-block;
      width: 100%;
      border-radius: 2px;
      transition: background-color 0.1s;
  }

  .sc-dynamic-embed #subtitleOverlay,
  .sc-dynamic-embed #scSubtitleOverlay,
  .sc-dynamic-embed .overlay-cue,
  .sc-dynamic-embed .band {
      display: none !important;
      opacity: 0 !important;
      visibility: hidden !important;
      pointer-events: none !important;
  }
  </style>

  <div class="sc-link-container">
    <p class="sc-link">
      <a href="https://imakat.com/ds62/?drid=98" target="_blank"
         onclick="return scStopAndGo(event, this);">
        👉低画質・枠外字幕はこちら
      </a>
    </p>
  </div>

  <br />
<b>Warning</b>:  file_get_contents(https://imakat.com/gd_proxy/?f=videoct.json): Failed to open stream: HTTP request failed! HTTP/1.1 429 Too Many Requests
 in <b>/home/imakat/imakat.com/public_html/wp-content/themes/cocoon-child-master/dr52emd.php</b> on line <b>32</b><br />


  <script>
  (function(){
    var me = document.currentScript;
    var wrapper = me ? me.closest('.sc-dynamic-embed') : null;

    function protectVideo() {
      var target = wrapper ? wrapper : document;
      var mediaEls = target.querySelectorAll('video, audio');
      mediaEls.forEach(function(v){
        if(v.dataset.protected === 'true') return;
        v.dataset.protected = 'true';
        v.setAttribute('controlsList', 'nodownload');
        v.oncontextmenu = function() { return false; };
        v.addEventListener('contextmenu', function(e){ e.preventDefault(); return false; }, false);
      });
    }

    function initSubtitles() {
      var target = wrapper ? wrapper : document;
      var video = target.querySelector('video, audio');
      var listContainer = target.querySelector('details > p');
      
      if (!video) return false; 
      
      if (video.dataset.subInit === 'true') return true; 
      video.dataset.subInit = 'true';

      var oldOverlay = target.querySelector('#subtitleOverlay') || target.querySelector('#scSubtitleOverlay');
      if (oldOverlay) {
          oldOverlay.style.setProperty('display', 'none', 'important');
          oldOverlay.innerHTML = ''; 
      }

      function isSpecialMode() {
        var isFs = !!(document.fullscreenElement || document.webkitFullscreenElement || document.mozFullScreenElement || document.msFullscreenElement);
        var isPiP = !!(document.pictureInPictureElement && document.pictureInPictureElement === video) || (video.webkitPresentationMode === "picture-in-picture");
        var isIOSFs = !!video.webkitDisplayingFullscreen; 
        return isFs || isPiP || isIOSFs;
      }

      // 初期状態のセット（リストがなければ最初から showing に）
      try {
        if(video.textTracks && video.textTracks.length > 0){
          for(var i=0; i<video.textTracks.length; i++){
             if(video.textTracks[i].kind === 'subtitles' || video.textTracks[i].kind === 'captions'){
                 video.textTracks[i].mode = (!listContainer) ? "showing" : "hidden";
             }
          }
        }
      } catch(e){}

      // 字幕一覧が存在する場合のみ、リストのフォーマット処理を行う
      if (listContainer) {
          var detailsEl = target.querySelector("details");
          if (detailsEl) {
              detailsEl.open = true; 
              var summaryEl = detailsEl.querySelector("summary");
              if (summaryEl) summaryEl.textContent = "字幕(シーン)はここをクリック";
          }

          if (!listContainer.dataset.formatted) {
              var html = listContainer.innerHTML;
              var lines = html.split(/<br\s*\/?>/i);
              var newHtml = "";
              for(var j=0; j<lines.length; j++) {
                  if(lines[j].trim() === "") continue;
                  newHtml += "<span class='imk-line'>" + lines[j] + "</span><br>";
              }
              listContainer.innerHTML = newHtml;
              listContainer.dataset.formatted = "true";
          }

          var rootSublist = target.querySelector(".dr5-sublist") || listContainer.parentElement;
          if (rootSublist) {
            rootSublist.addEventListener("click", function(e){
              var a = e.target.closest && e.target.closest("a.imk-cue[data-seek]");
              if(!a) return;
              e.preventDefault();
              var ts = a.getAttribute("data-seek");
              if(!ts) return;
              var p = ts.trim().split(":").map(function(x){return parseInt(x,10)||0;});
              var sec = (p.length===2) ? p[0]*60+p[1] : (p.length===3 ? p[0]*3600+p[1]*60+p[2] : null);
              if(sec==null) return;
              try{ video.currentTime = sec; if(video.paused) video.play(); }catch(_){}
            });
          }
      }

      // ★ dr52.php と全く同じ「常時監視」のロジック
      // これにより、Safariが読み込み遅延を起こしても確実にONになります
      video.addEventListener("timeupdate", function(){
        var hasList = (listContainer !== null);
        var desiredMode = (isSpecialMode() || !hasList) ? "showing" : "hidden";
        
        try {
            if(video.textTracks && video.textTracks.length > 0){
                for(var i=0; i<video.textTracks.length; i++){
                    if((video.textTracks[i].kind === 'subtitles' || video.textTracks[i].kind === 'captions') && video.textTracks[i].mode !== desiredMode) {
                        video.textTracks[i].mode = desiredMode;
                    }
                }
            }
        } catch(e){}

        // リストがない場合はこれ以降のハイライト処理をスキップ
        if (!hasList) return;

        var cues = listContainer.querySelectorAll("a.imk-cue");
        if(cues.length === 0) return;
        var cur = video.currentTime;
        var activeA = null;

        for(var i=0; i<cues.length; i++){
            var ts = cues[i].getAttribute("data-seek");
            if(!ts) continue;
            var p = ts.trim().split(":").map(function(x){return parseInt(x,10)||0;});
            var t = (p.length===2) ? p[0]*60+p[1] : (p.length===3 ? p[0]*3600+p[1]*60+p[2] : null);
            if(t !== null && cur >= t - 0.5){ activeA = cues[i]; } 
            else if(t > cur){ break; }
        }

        if(activeA){
            var activeLine = activeA.closest(".imk-line");
            if(!activeLine) activeLine = activeA;

            if(activeLine.classList.contains("active-hl")) return;

            var allLines = listContainer.querySelectorAll(".imk-line");
            for(var k=0; k<allLines.length; k++) {
                allLines[k].classList.remove("active-hl");
                allLines[k].removeAttribute("style"); 
            }
            var allLinks = listContainer.querySelectorAll("a");
            for(var m=0; m<allLinks.length; m++) {
                allLinks[m].classList.remove("active-hl");
                allLinks[m].removeAttribute("style"); 
            }

            activeLine.classList.add("active-hl");
            activeLine.style.setProperty("background-color", "#ffff00", "important");
            activeLine.style.setProperty("color", "red", "important");
            activeLine.style.setProperty("font-weight", "normal", "important");
            
            var newLinks = activeLine.querySelectorAll("a");
            for(var n=0; n<newLinks.length; n++) {
                newLinks[n].style.setProperty("color", "red", "important");
                newLinks[n].style.setProperty("text-decoration", "none", "important");
            }

            if(listContainer.offsetParent !== null){
                var containerRect = listContainer.getBoundingClientRect();
                var activeRect = activeLine.getBoundingClientRect();
                var targetScroll = listContainer.scrollTop + (activeRect.top - containerRect.top) - (listContainer.clientHeight / 2) + (activeLine.clientHeight / 2);
                listContainer.scrollTo({ top: targetScroll, behavior: "smooth" });
            }
        }
      });

      return true;
    }

    var checks = 0;
    var checkTimer = setInterval(function(){
      protectVideo();
      var success = initSubtitles();
      checks++;
      if (success || checks > 20) { 
        clearInterval(checkTimer);
      }
    }, 500); 

    if (!window.scStopAndGo) {
      window.scStopAndGo = function(event, link){
        try{
          var mediaEls = document.querySelectorAll('video, audio');
          mediaEls.forEach(function(m){
            try{
              if (!m.paused) m.pause();
              if (document.pictureInPictureElement === m && document.exitPictureInPicture) {
                document.exitPictureInPicture().catch(function(){});
              }
            }catch(e){}
          });
        }finally{
          event.preventDefault();
          setTimeout(function(){
            if (link.target === '_blank') {
              window.open(link.href, '_blank');
            } else {
              window.location.href = link.href;
            }
          }, 50);
        }
        return false;
      };
    }
  })();
  </script>
</div>



<p class="wp-block-paragraph">2月も終盤、昨日、2月22日は、20度を超える初夏の暖かさでした。&nbsp;</p>



<p class="wp-block-paragraph">浜松市浜北森林公園へ行ってきました。</p>



<p class="wp-block-paragraph">気持ち良かったです。</p>



<p class="wp-block-paragraph">ところが、明日の朝は、ぐっと冷え込みます。&nbsp;</p>



<p class="wp-block-paragraph">こうして春が近づいてきます。</p>



<p class="wp-block-paragraph">この曲は、風の通り道になる、色んな場所の映像を使って、</p>



<p class="wp-block-paragraph">シリーズにしてもいいかも知れません。</p>



<p class="wp-block-paragraph">No.71 ( Feb/2021)( Cubase )</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">11700</post-id>	</item>
		<item>
		<title>水平線( The Horizon )</title>
		<link>https://imakat.com/2020/10/12/10881/</link>
		
		<dc:creator><![CDATA[imakat]]></dc:creator>
		<pubDate>Mon, 12 Oct 2020 04:24:23 +0000</pubDate>
				<category><![CDATA[自作音楽'15~]]></category>
		<category><![CDATA[音楽]]></category>
		<category><![CDATA[中田島砂丘]]></category>
		<guid isPermaLink="false">https://imakat.com/?p=10881</guid>

					<description><![CDATA[&#60; &#8216;20.10月12日　浜松市中田島海岸 iPhoneSE2 &#62; 一昨日の土曜、台風14号が沖合を通り過ぎて行きました。 昨日の日曜は、たくさんの人が訪れたのか、あるいはそれ以前の足跡を雨が固め [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>動画はまだ準備中です。</p>



<p class="has-text-align-center wp-block-paragraph">&lt; &#8216;20.10月12日　浜松市中田島海岸  iPhoneSE2 &gt;</p>



<p class="wp-block-paragraph">一昨日の土曜、台風14号が沖合を通り過ぎて行きました。</p>



<p class="wp-block-paragraph">昨日の日曜は、たくさんの人が訪れたのか、あるいはそれ以前の足跡を雨が固めてしまったのかは、分かりませんが、砂浜は、ご覧のように全面が足跡？で、ボコボコになっていました。</p>



<p class="wp-block-paragraph">ここまで派手にボコボコですと、風紋に代わる新しいデザインとして面白く感じます。</p>



<p class="wp-block-paragraph">まだ沖合に低気圧として留まっているせいか、波は幾分高めで、海水も濁った感じです。</p>



<p class="wp-block-paragraph">日本三大砂丘に数えられる中田島ですが、砂浜がどんどん狭くなっています。三大砂丘から外されそうです。</p>



<p class="wp-block-paragraph">それでも、こうして中田島海岸へ来てみますと、キラキラ輝く海、水平線に浮かぶ漁船、心地よい風は、子供の頃と同じです。</p>



<p class="wp-block-paragraph">もっと古くは、3万年前、スンダランド人かその子孫が、この海岸に漂着したのかと想像するのも、楽しい。</p>



<p class="wp-block-paragraph">気持ちが落ち着きます。</p>



<p class="wp-block-paragraph">今年の音楽制作は、風景ビデオ、BGM風のものが多くなっています。この作品も、す~っと通り抜けるような軽いスムースジャズです。</p>



<hr class="wp-block-separator has-css-opacity"/>



<p class="wp-block-paragraph">No.70（ Oct/2020 )(Cubase)</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">10881</post-id>	</item>
		<item>
		<title>黒マントを着た男 ( A Man Wearing a black cloak )</title>
		<link>https://imakat.com/2020/09/09/10629/</link>
		
		<dc:creator><![CDATA[imakat]]></dc:creator>
		<pubDate>Wed, 09 Sep 2020 08:53:59 +0000</pubDate>
				<category><![CDATA[自作音楽'15~]]></category>
		<guid isPermaLink="false">https://imakat.com/?p=10629</guid>

					<description><![CDATA[No.69]]></description>
										<content:encoded><![CDATA[
<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-7387b849 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"><div class="sc-dynamic-embed">
  <style>
  /* 行梱包時の基本スタイル */
  .sc-dynamic-embed .imk-line {
      display: inline-block;
      width: 100%;
      border-radius: 2px;
      transition: background-color 0.1s;
  }

  /* 古い枠内字幕ボックスを強制消去 */
  .sc-dynamic-embed #subtitleOverlay,
  .sc-dynamic-embed #scSubtitleOverlay,
  .sc-dynamic-embed .overlay-cue,
  .sc-dynamic-embed .band {
      display: none !important;
      opacity: 0 !important;
      visibility: hidden !important;
      pointer-events: none !important;
  }
  </style>

  <!-- ★ mu1emd の呼び出し -->
  <style>
            :root{ --mu1emd-max: 1920px; }
            /* Google翻訳まわりのポップアップ・ツールチップ強制非表示スタイル */
            .goog-te-balloon-frame, .goog-tooltip, #goog-gt-tt { display: none !important; visibility: hidden !important; opacity: 0 !important; pointer-events: none !important; }
            .goog-text-highlight { background: none !important; box-shadow: none !important; border: none !important; }
            .goog-te-banner-frame.skiptranslate { display: none !important; }
            
            /* GTranslate メニュー位置調整 */
            html.noscroll .mu1emd-topbar, body.noscroll .mu1emd-topbar, html.sidebar-visible .mu1emd-topbar, body.sidebar-visible .mu1emd-topbar, .sidebar-visible .mu1emd-topbar { display: none !important; }
            .gt_menu, .gt-menu { top: 28px !important; bottom: auto !important; z-index: 999999 !important; }
            
            /* 字幕リストとプレイヤーのスタイル定義 */
            #subtitleOverlay, #scSubtitleOverlay, .overlay-cue, .band { display: none !important; opacity: 0 !important; visibility: hidden !important; pointer-events: none !important; }
            .imk-line { display: inline-block; width: 100%; border-radius: 2px; transition: background-color 0.1s; }
            .mu1emd-sublist details > p{ height:200px; overflow:auto; background-color:#EDF7FF; padding:2px 6px; margin:0; box-shadow:3px 3px 4px black; position: relative; scroll-behavior: smooth; }
            .mu1emd-sublist details > summary{ padding:2px 6px; width:100%; background-color:#ddd; border:none; box-shadow:3px 3px 4px black; cursor:pointer; list-style:none; }
            
            /* 重複回避バリア（URLの書き換え不要）
                ブログ本文（.entry-content）やショートコード枠に埋め込まれた場合は、CSSで強制的に重複バーを消す */
            .entry-content #mu1emd-auto-topbar,
            .post-content #mu1emd-auto-topbar,
            .sc-dynamic-embed #mu1emd-auto-topbar {
                display: none !important;
            }
            
                .audio-player-wrap { position: relative; width: 100%; max-width: min(var(--mu1emd-max, 1920px), 98vw); margin: 0 auto; background: #000; overflow: hidden; border-radius: 4px; }
                .audio-cover-image { width: 100%; height: auto; display: block; cursor: pointer; }
                .center-play-btn { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 56px; height: 56px; background: rgba(0, 0, 0, 0.6); color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 40px; cursor: pointer; z-index: 10; padding-left: 6px; }
                .center-play-btn.is-playing { opacity: 0; pointer-events: none; }
                .custom-audio-bar { display: flex; align-items: center; justify-content: center; height: 27px; background: #111; color: #fff; padding: 0 15px; font-family: sans-serif; font-size: 14px; }
                .custom-audio-bar input[type="range"] { flex: 1; margin: 0 15px; cursor: pointer; height: 4px; }
                #myVideo { display: none !important; }</style><div id="mu1emd-auto-topbar" class="mu1emd-topbar" style="height: 28px!important; display: flex!important; justify-content: space-between!important; align-items: center!important; width: 100%!important; padding: 0 10px!important; border-bottom: 1px solid #eee; background-color: #fff; box-sizing: border-box; overflow: visible!important; margin: 0 0 15px 0!important; position: relative; z-index: 1!important;">
                <div style="height: 28px; display: flex; align-items: center; flex-grow: 1; overflow: visible!important;">
                    <div class="gt-container" style="pointer-events: auto!important;">
                        <div class="gtranslate_wrapper" id="gt-wrapper-81011885"></div>
                    </div>
                </div>
                <div style="height: 28px!important; display: flex; align-items: center;">
                    <a rel="noopener" target="_blank" style="display: block; height: 26px;" href="https://notebooklm.google.com/notebook/aa64cc3d-0160-4433-b934-ecc5ab902287">
                        <img decoding="async" style="height: 26px!important; width: auto!important; border: none!important; display: block!important;" src="https://imakat.com/rd.php?id=NgFHFYXH.png" alt="Q&A" />
                    </a>
                </div>
            </div>            <script>
            // JSによる埋め込み検知（iframe等への対応）
            (function(){
                var isIframe = (window.self !== window.top);
                var isHtmlInjected = (window.location.href.indexOf('mu1emd') === -1);
                
                if (isIframe || isHtmlInjected) {
                    var topbar = document.getElementById('mu1emd-auto-topbar');
                    if (topbar) topbar.style.display = 'none';
                }
            })();

            function initVideoTranslate() {
                if (window.google && google.translate && google.translate.TranslateElement) {
                    new google.translate.TranslateElement({
                        pageLanguage: 'ja',
                        layout: google.translate.TranslateElement.InlineLayout.SIMPLE,
                        autoDisplay: false,
                        includedLanguages: 'ja,en,zh-CN,id,ko,hi,pt,es,de,fr,it,ru'
                    }, 'google_translate_element_video');
                }
            }
            (function() {
                if (!window.google || !google.translate) {
                    var gtScript = document.createElement('script');
                    gtScript.src = 'https://translate.google.com/translate_a/element.js?cb=initVideoTranslate';
                    gtScript.async = true;
                    document.head.appendChild(gtScript);
                } else { 
                    setTimeout(initVideoTranslate, 500); 
                }
            })();
            </script>
            <div class="mu1emd-container" id="mu1emdContainer"><div class="audio-player-wrap"><div id="centerPlayBtn" class="center-play-btn">▶</div><img decoding="async" class="audio-cover-image" id="audioCover" src="https://imakat.com/rd.php?id=tKbLPeRe.png" draggable="false"><audio id="myVideo" playsinline preload="none" data-protected="false"><source src="https://imakat.com/rd.php?id=D9fORSgq.mp3"></audio><div class="custom-audio-bar">
                        <span id="audioTime">00:00</span>
                        <input type="range" id="audioSeek" value="0" min="0" max="1000" step="1">
                        <span id="audioDuration">00:00</span>
                      </div></div></div>            <script>
            (function(){
                function initPlayer() {
                    var video = document.getElementById("myVideo");
                    if(!video) return false;

                                        if (video.dataset.audioInit !== 'true') {
                        var coverImg = document.getElementById("audioCover");
                        var centerBtn = document.getElementById("centerPlayBtn");
                        var audioSeek = document.getElementById("audioSeek");
                        var audioTime = document.getElementById("audioTime");
                        var audioDuration = document.getElementById("audioDuration");
                        
                        // ★追加: ドラッグ中かどうかを判定するフラグ
                        var isDragging = false; 

                        function formatTime(s) {
                            if (isNaN(s) || !isFinite(s)) return "00:00";
                            var m = Math.floor(s / 60); var ss = Math.floor(s % 60);
                            return (m < 10 ? "0" + m : m) + ":" + (ss < 10 ? "0" + ss : ss);
                        }

                        // 長さを更新する処理
                        function updateDuration() {
                            if (video.duration && isFinite(video.duration)) {
                                if(audioDuration) audioDuration.textContent = formatTime(video.duration);
                            }
                        }

                        function togglePlay() { if (video.paused) { video.play(); } else { video.pause(); } }
                        if(coverImg) { coverImg.removeEventListener("click", togglePlay); coverImg.addEventListener("click", togglePlay); }
                        if(centerBtn) { centerBtn.removeEventListener("click", togglePlay); centerBtn.addEventListener("click", togglePlay); }

                        video.addEventListener("play", function() { 
                            if(centerBtn) centerBtn.classList.add("is-playing"); 
                            updateDuration();
                        });
                        video.addEventListener("pause", function() { if(centerBtn) centerBtn.classList.remove("is-playing"); });
                        
                        video.addEventListener("loadedmetadata", updateDuration);
                        video.addEventListener("durationchange", updateDuration);

                        if (video.readyState >= 1) {
                            updateDuration();
                        }

                        video.addEventListener("timeupdate", function() {
                            // ★修正: ユーザーがドラッグしていない時だけ、バーの位置と時間を更新する
                            if (!isDragging) {
                                if(audioTime) audioTime.textContent = formatTime(video.currentTime);
                                if (audioSeek && video.duration && isFinite(video.duration)) { 
                                    audioSeek.value = (video.currentTime / video.duration) * 1000; 
                                }
                            }
                            
                            if (audioDuration && audioDuration.textContent === "00:00" && video.duration && isFinite(video.duration)) {
                                updateDuration();
                            }
                        });

                        if(audioSeek) { 
                            // ★修正: ドラッグ中は「時間の表示」だけを変え、シークは行わない（パンク防止）
                            audioSeek.addEventListener("input", function() { 
                                isDragging = true;
                                if (video.duration && isFinite(video.duration)) {
                                    if(audioTime) audioTime.textContent = formatTime((audioSeek.value / 1000) * video.duration);
                                }
                            }); 
                            
                            // ★修正: 指を離した瞬間に、1回だけシーク命令を出す
                            audioSeek.addEventListener("change", function() { 
                                if (video.duration && isFinite(video.duration)) {
                                    video.currentTime = (audioSeek.value / 1000) * video.duration; 
                                }
                                isDragging = false;
                            }); 
                            
                            // 念のためのフェイルセーフ（マウスアップやタッチ終了時もフラグ解除）
                            audioSeek.addEventListener("mouseup", function() { isDragging = false; });
                            audioSeek.addEventListener("touchend", function() { isDragging = false; });
                        }
                        
                        video.dataset.audioInit = 'true';
                    }
                                        return true;
                }

                function protectVideo() {
                    var mediaEls = document.querySelectorAll('#mu1emdContainer video, #mu1emdContainer audio');
                    mediaEls.forEach(function(v){
                        if(v.dataset.protected === 'true') return;
                        v.dataset.protected = 'true';
                        v.setAttribute('controlsList', 'nodownload');
                        v.oncontextmenu = function() { return false; };
                        v.addEventListener('contextmenu', function(e){ e.preventDefault(); return false; }, false);
                    });
                }

                function initSubtitles() {
                    var video = document.getElementById("myVideo");
                    var container = document.getElementById("mu1emdContainer");
                    if (!video || !container) return false;

                    var rootSublist = container.querySelector(".mu1emd-sublist");
                    if (!rootSublist) return false;

                    var listContainer = rootSublist.querySelector("details > p");
                    if (!listContainer) return false;

                    if (video.dataset.subInit === 'true') return true;
                    video.dataset.subInit = 'true';

                    var oldOverlay = document.getElementById('subtitleOverlay') || document.getElementById('scSubtitleOverlay');
                    if (oldOverlay) {
                        oldOverlay.style.setProperty('display', 'none', 'important');
                        oldOverlay.innerHTML = ''; 
                    }

                    function isSpecialMode() {
                        var isFs = !!(document.fullscreenElement || document.webkitFullscreenElement || document.mozFullScreenElement || document.msFullscreenElement);
                        var isPiP = !!(document.pictureInPictureElement && document.pictureInPictureElement === video) || (video.webkitPresentationMode === "picture-in-picture");
                        var isIOSFs = !!video.webkitDisplayingFullscreen; 
                        return isFs || isPiP || isIOSFs;
                    }

                    try {
                        if(video.textTracks && video.textTracks.length > 0){
                            for(var i=0; i<video.textTracks.length; i++){
                                if(video.textTracks[i].kind === 'subtitles' || video.textTracks[i].kind === 'captions'){
                                    video.textTracks[i].mode = "hidden";
                                }
                            }
                        }
                    } catch(e){}

                    video.addEventListener("webkitbeginfullscreen", function() {
                        try {
                            if(video.textTracks && video.textTracks.length > 0) {
                                for(var i=0; i<video.textTracks.length; i++){
                                    if(video.textTracks[i].kind === 'subtitles' || video.textTracks[i].kind === 'captions') video.textTracks[i].mode = "showing";
                                }
                            }
                        } catch(e){}
                    });
                    video.addEventListener("webkitendfullscreen", function() {
                        try {
                            if(video.textTracks && video.textTracks.length > 0) {
                                for(var i=0; i<video.textTracks.length; i++){
                                    if(video.textTracks[i].kind === 'subtitles' || video.textTracks[i].kind === 'captions') video.textTracks[i].mode = "hidden";
                                }
                            }
                        } catch(e){}
                    });

                    var detailsEl = rootSublist.querySelector("details");
                    if (detailsEl) {
                        detailsEl.open = true; 
                        var summaryEl = detailsEl.querySelector("summary");
                        if (summaryEl) summaryEl.textContent = "字幕(シーン)はここをクリック";
                    }

                    if (!listContainer.dataset.formatted) {
                        var html = listContainer.innerHTML;
                        var lines = html.split(/<br\s*\/?>/i);
                        var newHtml = "";
                        for(var j=0; j<lines.length; j++) {
                            if(lines[j].trim() === "") continue;
                            newHtml += "<span class='imk-line'>" + lines[j] + "</span><br>";
                        }
                        listContainer.innerHTML = newHtml;
                        listContainer.dataset.formatted = "true";
                    }

                    function parseTs(ts){
                        if(!ts) return null;
                        var p = ts.trim().split(":").map(function(x){return parseInt(x,10)||0;});
                        if(p.length===2) return p[0]*60 + p[1];
                        if(p.length===3) return p[0]*3600 + p[1]*60 + p[2];
                        return null;
                    }

                    rootSublist.addEventListener("click", function(e){
                        var a = e.target.closest && e.target.closest("a.imk-cue[data-seek]");
                        if(!a) return;
                        e.preventDefault();
                        var sec = parseTs(a.getAttribute("data-seek"));
                        if(sec==null) return;
                        try{ video.currentTime = sec; if(video.paused) video.play(); }catch(_){}
                    });

                    video.addEventListener("timeupdate", function(){
                        var desiredMode = isSpecialMode() ? "showing" : "hidden";
                        try {
                            if(video.textTracks && video.textTracks.length > 0){
                                for(var i=0; i<video.textTracks.length; i++){
                                    if((video.textTracks[i].kind === 'subtitles' || video.textTracks[i].kind === 'captions') && video.textTracks[i].mode !== desiredMode) {
                                        video.textTracks[i].mode = desiredMode;
                                    }
                                }
                            }
                        } catch(e){}

                        var cues = listContainer.querySelectorAll("a.imk-cue");
                        if(cues.length === 0) return;
                        var cur = video.currentTime;
                        var activeA = null;

                        for(var i=0; i<cues.length; i++){
                            var t = parseTs(cues[i].getAttribute("data-seek"));
                            if(t !== null && cur >= t - 0.5){ activeA = cues[i]; } 
                            else if(t > cur){ break; }
                        }

                        if(activeA){
                            var activeLine = activeA.closest(".imk-line");
                            if(!activeLine) activeLine = activeA;

                            if(activeLine.classList.contains("active-hl")) return;

                            var allLines = listContainer.querySelectorAll(".imk-line");
                            for(var k=0; k<allLines.length; k++) {
                                allLines[k].classList.remove("active-hl");
                                allLines[k].removeAttribute("style"); 
                            }
                            var allLinks = listContainer.querySelectorAll("a");
                            for(var m=0; m<allLinks.length; m++) {
                                allLinks[m].classList.remove("active-hl");
                                allLinks[m].removeAttribute("style"); 
                            }

                            activeLine.classList.add("active-hl");
                            activeLine.style.setProperty("background-color", "#ffff00", "important");
                            activeLine.style.setProperty("color", "red", "important");
                            activeLine.style.setProperty("font-weight", "normal", "important");
                            
                            var newLinks = activeLine.querySelectorAll("a");
                            for(var n=0; n<newLinks.length; n++) {
                                newLinks[n].style.setProperty("color", "red", "important");
                                newLinks[n].style.setProperty("text-decoration", "none", "important");
                            }

                            if(listContainer.offsetParent !== null){
                                var containerRect = listContainer.getBoundingClientRect();
                                var activeRect = activeLine.getBoundingClientRect();
                                var targetScroll = listContainer.scrollTop + (activeRect.top - containerRect.top) - (listContainer.clientHeight / 2) + (activeLine.clientHeight / 2);
                                listContainer.scrollTo({ top: targetScroll, behavior: "smooth" });
                            }
                        }
                    });

                    return true;
                }

                var checks = 0;
                var checkTimer = setInterval(function(){
                    initPlayer();
                    protectVideo();
                    var success = initSubtitles();
                    checks++;
                    if (success || checks > 20) { 
                        clearInterval(checkTimer);
                    }
                }, 500);
            })();
            </script>
            

  <script>
  (function(){
    var me = document.currentScript;
    var wrapper = me ? me.closest('.sc-dynamic-embed') : null;

    function protectVideo() {
      var target = wrapper ? wrapper : document;
      var mediaEls = target.querySelectorAll('video, audio');
      mediaEls.forEach(function(v){
        if(v.dataset.protected === 'true') return;
        v.dataset.protected = 'true';
        v.setAttribute('controlsList', 'nodownload');
        v.oncontextmenu = function() { return false; };
        v.addEventListener('contextmenu', function(e){ e.preventDefault(); return false; }, false);
      });
    }

    function initSubtitles() {
      var target = wrapper ? wrapper : document;
      var video = target.querySelector('video, audio');
      var listContainer = target.querySelector('details > p');
      
      if (!video || !listContainer) return false; 

      if (video.dataset.subInit === 'true') return true; 
      video.dataset.subInit = 'true';

      var oldOverlay = target.querySelector('#subtitleOverlay') || target.querySelector('#scSubtitleOverlay');
      if (oldOverlay) {
          oldOverlay.style.setProperty('display', 'none', 'important');
          oldOverlay.innerHTML = ''; 
      }

      function isSpecialMode() {
        var isFs = !!(document.fullscreenElement || document.webkitFullscreenElement || document.mozFullScreenElement || document.msFullscreenElement);
        var isPiP = !!(document.pictureInPictureElement && document.pictureInPictureElement === video) || (video.webkitPresentationMode === "picture-in-picture");
        var isIOSFs = !!video.webkitDisplayingFullscreen; 
        return isFs || isPiP || isIOSFs;
      }

      try {
        if(video.textTracks && video.textTracks.length > 0){
          for(var i=0; i<video.textTracks.length; i++){
             if(video.textTracks[i].kind === 'subtitles' || video.textTracks[i].kind === 'captions'){
                 video.textTracks[i].mode = "hidden";
             }
          }
        }
      } catch(e){}

      video.addEventListener("webkitbeginfullscreen", function() {
          try {
              if(video.textTracks && video.textTracks.length > 0) {
                  for(var i=0; i<video.textTracks.length; i++){
                      if(video.textTracks[i].kind === 'subtitles' || video.textTracks[i].kind === 'captions') video.textTracks[i].mode = "showing";
                  }
              }
          } catch(e){}
      });
      video.addEventListener("webkitendfullscreen", function() {
          try {
              if(video.textTracks && video.textTracks.length > 0) {
                  for(var i=0; i<video.textTracks.length; i++){
                      if(video.textTracks[i].kind === 'subtitles' || video.textTracks[i].kind === 'captions') video.textTracks[i].mode = "hidden";
                  }
              }
          } catch(e){}
      });

      var detailsEl = target.querySelector("details");
      if (detailsEl) {
          detailsEl.open = true; 
          var summaryEl = detailsEl.querySelector("summary");
          if (summaryEl) summaryEl.textContent = "字幕(シーン)はここをクリック";
      }

      if (!listContainer.dataset.formatted) {
          var html = listContainer.innerHTML;
          var lines = html.split(/<br\s*\/?>/i);
          var newHtml = "";
          for(var j=0; j<lines.length; j++) {
              if(lines[j].trim() === "") continue;
              newHtml += "<span class='imk-line'>" + lines[j] + "</span><br>";
          }
          listContainer.innerHTML = newHtml;
          listContainer.dataset.formatted = "true";
      }

      function parseTs(ts){
        if(!ts) return null;
        var p = ts.trim().split(":").map(function(x){return parseInt(x,10)||0;});
        if(p.length===2) return p[0]*60 + p[1];
        if(p.length===3) return p[0]*3600 + p[1]*60 + p[2];
        return null;
      }

      var rootSublist = target.querySelector(".mu1-sublist, .mu1emd-sublist") || listContainer.parentElement;
      if (rootSublist) {
        rootSublist.addEventListener("click", function(e){
          var a = e.target.closest && e.target.closest("a.imk-cue[data-seek]");
          if(!a) return;
          e.preventDefault();
          var sec = parseTs(a.getAttribute("data-seek"));
          if(sec==null) return;
          try{ video.currentTime = sec; if(video.paused) video.play(); }catch(_){}
        });
      }

      video.addEventListener("timeupdate", function(){
        var desiredMode = isSpecialMode() ? "showing" : "hidden";
        try {
            if(video.textTracks && video.textTracks.length > 0){
                for(var i=0; i<video.textTracks.length; i++){
                    if((video.textTracks[i].kind === 'subtitles' || video.textTracks[i].kind === 'captions') && video.textTracks[i].mode !== desiredMode) {
                        video.textTracks[i].mode = desiredMode;
                    }
                }
            }
        } catch(e){}

        var cues = listContainer.querySelectorAll("a.imk-cue");
        if(cues.length === 0) return;
        var cur = video.currentTime;
        var activeA = null;

        for(var i=0; i<cues.length; i++){
            var t = parseTs(cues[i].getAttribute("data-seek"));
            if(t !== null && cur >= t - 0.5){ activeA = cues[i]; } 
            else if(t > cur){ break; }
        }

        if(activeA){
            var activeLine = activeA.closest(".imk-line");
            if(!activeLine) activeLine = activeA;

            if(activeLine.classList.contains("active-hl")) return;

            var allLines = listContainer.querySelectorAll(".imk-line");
            for(var k=0; k<allLines.length; k++) {
                allLines[k].classList.remove("active-hl");
                allLines[k].removeAttribute("style"); 
            }
            var allLinks = listContainer.querySelectorAll("a");
            for(var m=0; m<allLinks.length; m++) {
                allLinks[m].classList.remove("active-hl");
                allLinks[m].removeAttribute("style"); 
            }

            activeLine.classList.add("active-hl");
            activeLine.style.setProperty("background-color", "#ffff00", "important");
            activeLine.style.setProperty("color", "red", "important");
            activeLine.style.setProperty("font-weight", "normal", "important");
            
            var newLinks = activeLine.querySelectorAll("a");
            for(var n=0; n<newLinks.length; n++) {
                newLinks[n].style.setProperty("color", "red", "important");
                newLinks[n].style.setProperty("text-decoration", "none", "important");
            }

            if(listContainer.offsetParent !== null){
                var containerRect = listContainer.getBoundingClientRect();
                var activeRect = activeLine.getBoundingClientRect();
                var targetScroll = listContainer.scrollTop + (activeRect.top - containerRect.top) - (listContainer.clientHeight / 2) + (activeLine.clientHeight / 2);
                listContainer.scrollTo({ top: targetScroll, behavior: "smooth" });
            }
        }
      });

      return true;
    }

    var checks = 0;
    var checkTimer = setInterval(function(){
      protectVideo();
      var success = initSubtitles();
      checks++;
      if (success || checks > 20) { 
        clearInterval(checkTimer);
      }
    }, 500); 

    if (!window.scStopAndGo) {
      window.scStopAndGo = function(event, link){
        try{
          var mediaEls = document.querySelectorAll('video, audio');
          mediaEls.forEach(function(m){
            try{
              if (!m.paused) m.pause();
              if (document.pictureInPictureElement === m && document.exitPictureInPicture) {
                document.exitPictureInPicture().catch(function(){});
              }
            }catch(e){}
          });
        }finally{
          event.preventDefault();
          setTimeout(function(){
            if (link.target === '_blank') {
              window.open(link.href, '_blank');
            } else {
              window.location.href = link.href;
            }
          }, 50);
        }
        return false;
      };
    }
  })();
  </script>
</div>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"></div>
</div>



<figure class="wp-block-image aligncenter size-large"><a href="https://imakat.com/rd.php?id=yCbSzybT.png" target="_blank"><img decoding="async" src="https://imakat.com/rd.php?id=yCbSzybT.png" alt=""/></a></figure>



<p class="wp-block-paragraph">No.69</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">10629</post-id>	</item>
		<item>
		<title>青空( Blue Sky )</title>
		<link>https://imakat.com/2020/04/23/9694/</link>
		
		<dc:creator><![CDATA[imakat]]></dc:creator>
		<pubDate>Thu, 23 Apr 2020 09:33:40 +0000</pubDate>
				<category><![CDATA[自作音楽'15~]]></category>
		<category><![CDATA[音楽]]></category>
		<guid isPermaLink="false">https://imakat.com/?p=9694</guid>

					<description><![CDATA[2021.3.15 ウオーキングは続けていますが、朝早過ぎるのも体に良くないし暗くて転ぶと危ないので、寒い時季は朝7~8時頃にズラしました。通勤や通学と重なりますが、人目に触れますので安心といえば安心です。 こうして振り [&#8230;]]]></description>
										<content:encoded><![CDATA[<div class="sc-dynamic-embed">
  <style>
  /* リンクの見た目を整える */
  .sc-dynamic-embed .sc-link-container { 
      display: flex; 
      margin-bottom: 10px; 
      flex-wrap: wrap; 
      align-items: center; 
  }
  .sc-dynamic-embed .sc-link { margin-bottom: 0; }
  .sc-dynamic-embed .sc-link a {
    font-size: 15px; 
    font-weight: normal;
    text-decoration: underline;
    color: #0073aa;
  }
  .sc-dynamic-embed .sc-link a:hover { text-decoration: none; color: #000; }
  
  @media (max-width: 500px) {
    .sc-dynamic-embed .sc-link a { font-size: 13px; }
  }

  .sc-dynamic-embed .imk-line {
      display: inline-block;
      width: 100%;
      border-radius: 2px;
      transition: background-color 0.1s;
  }

  .sc-dynamic-embed #subtitleOverlay,
  .sc-dynamic-embed #scSubtitleOverlay,
  .sc-dynamic-embed .overlay-cue,
  .sc-dynamic-embed .band {
      display: none !important;
      opacity: 0 !important;
      visibility: hidden !important;
      pointer-events: none !important;
  }
  </style>

  <div class="sc-link-container">
    <p class="sc-link">
      <a href="https://imakat.com/ds62/?drid=89" target="_blank"
         onclick="return scStopAndGo(event, this);">
        👉低画質・枠外字幕はこちら
      </a>
    </p>
  </div>

  <style>
            :root{ --dr5emd-max: 1920px; }
            #subtitleOverlay, #scSubtitleOverlay, .overlay-cue, .band { display: none !important; opacity: 0 !important; }
            .imk-line { display: inline-block; width: 100%; border-radius: 2px; transition: background-color 0.1s; }
            .dr5emd-sublist details > p{ height:200px; overflow:auto; background-color:#EDF7FF; padding:2px 6px; margin:0; box-shadow:3px 3px 4px black; position: relative; }
            .dr5emd-sublist details > summary{ padding:2px 6px; width:100%; background-color:#ddd; border:none; box-shadow:3px 3px 4px black; cursor:pointer; list-style:none; }
            
                .video-wrap{position:relative;width:100%;margin:0 auto}
                #myVideo{width:100%;height:auto;min-height:200px;display:block;background:#000;}</style><div class="dr5emd-container"><div class="video-wrap"><video id="myVideo" controls poster="https://imakat.com/rd.php?id=EcvnN3XP.png" playsinline preload="none" style="width:100%;height:auto;">  <source src="https://imakat.com/rd.php?id=ze81wgDK.mp4" type="video/mp4"></video></div></div>            <script>
            document.addEventListener("DOMContentLoaded", function(){
                var video = document.getElementById("myVideo");
                if(!video) return;

                            });
            </script>
            

  <script>
  (function(){
    var me = document.currentScript;
    var wrapper = me ? me.closest('.sc-dynamic-embed') : null;

    function protectVideo() {
      var target = wrapper ? wrapper : document;
      var mediaEls = target.querySelectorAll('video, audio');
      mediaEls.forEach(function(v){
        if(v.dataset.protected === 'true') return;
        v.dataset.protected = 'true';
        v.setAttribute('controlsList', 'nodownload');
        v.oncontextmenu = function() { return false; };
        v.addEventListener('contextmenu', function(e){ e.preventDefault(); return false; }, false);
      });
    }

    function initSubtitles() {
      var target = wrapper ? wrapper : document;
      var video = target.querySelector('video, audio');
      var listContainer = target.querySelector('details > p');
      
      if (!video) return false; 
      
      if (video.dataset.subInit === 'true') return true; 
      video.dataset.subInit = 'true';

      var oldOverlay = target.querySelector('#subtitleOverlay') || target.querySelector('#scSubtitleOverlay');
      if (oldOverlay) {
          oldOverlay.style.setProperty('display', 'none', 'important');
          oldOverlay.innerHTML = ''; 
      }

      function isSpecialMode() {
        var isFs = !!(document.fullscreenElement || document.webkitFullscreenElement || document.mozFullScreenElement || document.msFullscreenElement);
        var isPiP = !!(document.pictureInPictureElement && document.pictureInPictureElement === video) || (video.webkitPresentationMode === "picture-in-picture");
        var isIOSFs = !!video.webkitDisplayingFullscreen; 
        return isFs || isPiP || isIOSFs;
      }

      // 初期状態のセット（リストがなければ最初から showing に）
      try {
        if(video.textTracks && video.textTracks.length > 0){
          for(var i=0; i<video.textTracks.length; i++){
             if(video.textTracks[i].kind === 'subtitles' || video.textTracks[i].kind === 'captions'){
                 video.textTracks[i].mode = (!listContainer) ? "showing" : "hidden";
             }
          }
        }
      } catch(e){}

      // 字幕一覧が存在する場合のみ、リストのフォーマット処理を行う
      if (listContainer) {
          var detailsEl = target.querySelector("details");
          if (detailsEl) {
              detailsEl.open = true; 
              var summaryEl = detailsEl.querySelector("summary");
              if (summaryEl) summaryEl.textContent = "字幕(シーン)はここをクリック";
          }

          if (!listContainer.dataset.formatted) {
              var html = listContainer.innerHTML;
              var lines = html.split(/<br\s*\/?>/i);
              var newHtml = "";
              for(var j=0; j<lines.length; j++) {
                  if(lines[j].trim() === "") continue;
                  newHtml += "<span class='imk-line'>" + lines[j] + "</span><br>";
              }
              listContainer.innerHTML = newHtml;
              listContainer.dataset.formatted = "true";
          }

          var rootSublist = target.querySelector(".dr5-sublist") || listContainer.parentElement;
          if (rootSublist) {
            rootSublist.addEventListener("click", function(e){
              var a = e.target.closest && e.target.closest("a.imk-cue[data-seek]");
              if(!a) return;
              e.preventDefault();
              var ts = a.getAttribute("data-seek");
              if(!ts) return;
              var p = ts.trim().split(":").map(function(x){return parseInt(x,10)||0;});
              var sec = (p.length===2) ? p[0]*60+p[1] : (p.length===3 ? p[0]*3600+p[1]*60+p[2] : null);
              if(sec==null) return;
              try{ video.currentTime = sec; if(video.paused) video.play(); }catch(_){}
            });
          }
      }

      // ★ dr52.php と全く同じ「常時監視」のロジック
      // これにより、Safariが読み込み遅延を起こしても確実にONになります
      video.addEventListener("timeupdate", function(){
        var hasList = (listContainer !== null);
        var desiredMode = (isSpecialMode() || !hasList) ? "showing" : "hidden";
        
        try {
            if(video.textTracks && video.textTracks.length > 0){
                for(var i=0; i<video.textTracks.length; i++){
                    if((video.textTracks[i].kind === 'subtitles' || video.textTracks[i].kind === 'captions') && video.textTracks[i].mode !== desiredMode) {
                        video.textTracks[i].mode = desiredMode;
                    }
                }
            }
        } catch(e){}

        // リストがない場合はこれ以降のハイライト処理をスキップ
        if (!hasList) return;

        var cues = listContainer.querySelectorAll("a.imk-cue");
        if(cues.length === 0) return;
        var cur = video.currentTime;
        var activeA = null;

        for(var i=0; i<cues.length; i++){
            var ts = cues[i].getAttribute("data-seek");
            if(!ts) continue;
            var p = ts.trim().split(":").map(function(x){return parseInt(x,10)||0;});
            var t = (p.length===2) ? p[0]*60+p[1] : (p.length===3 ? p[0]*3600+p[1]*60+p[2] : null);
            if(t !== null && cur >= t - 0.5){ activeA = cues[i]; } 
            else if(t > cur){ break; }
        }

        if(activeA){
            var activeLine = activeA.closest(".imk-line");
            if(!activeLine) activeLine = activeA;

            if(activeLine.classList.contains("active-hl")) return;

            var allLines = listContainer.querySelectorAll(".imk-line");
            for(var k=0; k<allLines.length; k++) {
                allLines[k].classList.remove("active-hl");
                allLines[k].removeAttribute("style"); 
            }
            var allLinks = listContainer.querySelectorAll("a");
            for(var m=0; m<allLinks.length; m++) {
                allLinks[m].classList.remove("active-hl");
                allLinks[m].removeAttribute("style"); 
            }

            activeLine.classList.add("active-hl");
            activeLine.style.setProperty("background-color", "#ffff00", "important");
            activeLine.style.setProperty("color", "red", "important");
            activeLine.style.setProperty("font-weight", "normal", "important");
            
            var newLinks = activeLine.querySelectorAll("a");
            for(var n=0; n<newLinks.length; n++) {
                newLinks[n].style.setProperty("color", "red", "important");
                newLinks[n].style.setProperty("text-decoration", "none", "important");
            }

            if(listContainer.offsetParent !== null){
                var containerRect = listContainer.getBoundingClientRect();
                var activeRect = activeLine.getBoundingClientRect();
                var targetScroll = listContainer.scrollTop + (activeRect.top - containerRect.top) - (listContainer.clientHeight / 2) + (activeLine.clientHeight / 2);
                listContainer.scrollTo({ top: targetScroll, behavior: "smooth" });
            }
        }
      });

      return true;
    }

    var checks = 0;
    var checkTimer = setInterval(function(){
      protectVideo();
      var success = initSubtitles();
      checks++;
      if (success || checks > 20) { 
        clearInterval(checkTimer);
      }
    }, 500); 

    if (!window.scStopAndGo) {
      window.scStopAndGo = function(event, link){
        try{
          var mediaEls = document.querySelectorAll('video, audio');
          mediaEls.forEach(function(m){
            try{
              if (!m.paused) m.pause();
              if (document.pictureInPictureElement === m && document.exitPictureInPicture) {
                document.exitPictureInPicture().catch(function(){});
              }
            }catch(e){}
          });
        }finally{
          event.preventDefault();
          setTimeout(function(){
            if (link.target === '_blank') {
              window.open(link.href, '_blank');
            } else {
              window.location.href = link.href;
            }
          }, 50);
        }
        return false;
      };
    }
  })();
  </script>
</div>



<p class="has-text-align-left wp-block-paragraph">2021.3.15</p>



<p class="wp-block-paragraph">ウオーキングは続けていますが、朝早過ぎるのも体に良くないし暗くて転ぶと危ないので、寒い時季は朝7~8時頃にズラしました。通勤や通学と重なりますが、人目に触れますので安心といえば安心です。</p>



<p class="wp-block-paragraph">こうして振り返ると、コロナについて去年の春先に懸念したことは、今時点でも、殆ど変わっていないと感じます。これから先は、きっと良くなっていくでしょう。</p>



<hr class="wp-block-separator has-text-color has-key-color-color has-css-opacity has-key-color-background-color has-background is-style-wide"/>



<p class="wp-block-paragraph">2020.4.23</p>



<p class="wp-block-paragraph">毎朝4時半に起きて、ウオーキングに出掛けています。東の空がオレンジ色に輝き出す頃です。約45分の道のりです。家に着く頃には、青空が広がり出します。</p>



<p class="wp-block-paragraph">コロナの感染の心配はないのか。</p>



<p class="wp-block-paragraph">どうでしょうか。</p>



<p class="wp-block-paragraph">人とすれ違うのは、というか見かけるのは、0人〜1人。いえコンビニに寄るので、1人〜2人です。ウオーキングを始めて5年になりますが、ず〜っと、こんな感じです。</p>



<p class="wp-block-paragraph">そうか。空気で感染することはなくても、何かを触った手に感染することは、可能性がありますね。気を付けなければ。</p>



<p class="wp-block-paragraph">ところでコロナウイルスの影響で、集客型のエンターテインメント産業は完全に休止状態になりましたが、そうした人たちが、なだれを打って、ネット配信に向かうと思いましたが、案外、少ないように感じます。</p>



<p class="wp-block-paragraph">おそらくミュージシャンやタレントの多くは、音楽や芸能活動を本業とはしていないのだと思います。そもそもアルバイトの位置づけ。だから、こうなってくると、収入を得るために、本業周りのことや今忙しくなっている生活必需な仕事を求職することになります。ひとまず、音楽や芸能活動から遠ざかざるを得ないと思います。</p>



<p class="wp-block-paragraph">エンターテインメント産業で本当に厳しいのは、プラットフォーム（活動の場）を提供している会社でしょうね。おそらくその多くが中小企業で資金が乏しい。公的援助が至急必要だが、果たして続ける気力が残っているか。。</p>



<p class="wp-block-paragraph">私の音楽制作は、趣味で、部屋の中で、静かにコツコツやっているだけ。これならなんとか維持は出来ます。</p>



<hr class="wp-block-separator has-css-opacity"/>



<p class="wp-block-paragraph">さて、気分転換しましょう。</p>



<p class="wp-block-paragraph">今回の作品は「青空」。</p>



<p class="wp-block-paragraph">去年の夏作った「一片の夏」をベースにして、一年後の今の環境、心境を重ねて、清々しさと懐かしさを増して、作り直したものです。</p>



<p class="wp-block-paragraph">音楽のタイプは、サンバ・カンソンをベースしました。それにストリングスのジャズを重ねた感じです。</p>



<p class="wp-block-paragraph">サンバ・カンソンは、ボサノバが誕生する前からあった、静かなサンバです。先を食うようなタイミングと、逆に後ずさりするようなタイミングが混ざったような、心地よいリズムです。ボサノバより、お洒落で新鮮に聞こえてくるのは、私だけでしょうか。</p>



<p class="wp-block-paragraph">No.67（ Apr/2020 )(Cubase)</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">9694</post-id>	</item>
		<item>
		<title>うごめき ( Wriggle )</title>
		<link>https://imakat.com/2020/02/16/9359/</link>
		
		<dc:creator><![CDATA[imakat]]></dc:creator>
		<pubDate>Sun, 16 Feb 2020 11:20:27 +0000</pubDate>
				<category><![CDATA[自作音楽'15~]]></category>
		<category><![CDATA[健康]]></category>
		<category><![CDATA[音楽]]></category>
		<category><![CDATA[walking]]></category>
		<category><![CDATA[春]]></category>
		<guid isPermaLink="false">https://imakat.com/?p=9359</guid>

					<description><![CDATA[＜&#8217;20.2月下旬　美薗中央公園＞ 新型コロナウイルスの蔓延で、閉ざされた人混みは避けなければいけない。しかし自然の空気に囲まれるのは、今のところは問題ない（&#8217;20年2月)。家から歩いて15分のと [&#8230;]]]></description>
										<content:encoded><![CDATA[<div class="sc-dynamic-embed">
  <style>
  /* 行梱包時の基本スタイル */
  .sc-dynamic-embed .imk-line {
      display: inline-block;
      width: 100%;
      border-radius: 2px;
      transition: background-color 0.1s;
  }

  /* 古い枠内字幕ボックスを強制消去 */
  .sc-dynamic-embed #subtitleOverlay,
  .sc-dynamic-embed #scSubtitleOverlay,
  .sc-dynamic-embed .overlay-cue,
  .sc-dynamic-embed .band {
      display: none !important;
      opacity: 0 !important;
      visibility: hidden !important;
      pointer-events: none !important;
  }
  </style>

  <!-- ★ mu1emd の呼び出し -->
  <style>
            :root{ --mu1emd-max: 1920px; }
            /* Google翻訳まわりのポップアップ・ツールチップ強制非表示スタイル */
            .goog-te-balloon-frame, .goog-tooltip, #goog-gt-tt { display: none !important; visibility: hidden !important; opacity: 0 !important; pointer-events: none !important; }
            .goog-text-highlight { background: none !important; box-shadow: none !important; border: none !important; }
            .goog-te-banner-frame.skiptranslate { display: none !important; }
            
            /* GTranslate メニュー位置調整 */
            html.noscroll .mu1emd-topbar, body.noscroll .mu1emd-topbar, html.sidebar-visible .mu1emd-topbar, body.sidebar-visible .mu1emd-topbar, .sidebar-visible .mu1emd-topbar { display: none !important; }
            .gt_menu, .gt-menu { top: 28px !important; bottom: auto !important; z-index: 999999 !important; }
            
            /* 字幕リストとプレイヤーのスタイル定義 */
            #subtitleOverlay, #scSubtitleOverlay, .overlay-cue, .band { display: none !important; opacity: 0 !important; visibility: hidden !important; pointer-events: none !important; }
            .imk-line { display: inline-block; width: 100%; border-radius: 2px; transition: background-color 0.1s; }
            .mu1emd-sublist details > p{ height:200px; overflow:auto; background-color:#EDF7FF; padding:2px 6px; margin:0; box-shadow:3px 3px 4px black; position: relative; scroll-behavior: smooth; }
            .mu1emd-sublist details > summary{ padding:2px 6px; width:100%; background-color:#ddd; border:none; box-shadow:3px 3px 4px black; cursor:pointer; list-style:none; }
            
            /* 重複回避バリア（URLの書き換え不要）
                ブログ本文（.entry-content）やショートコード枠に埋め込まれた場合は、CSSで強制的に重複バーを消す */
            .entry-content #mu1emd-auto-topbar,
            .post-content #mu1emd-auto-topbar,
            .sc-dynamic-embed #mu1emd-auto-topbar {
                display: none !important;
            }
            
                .audio-player-wrap { position: relative; width: 100%; max-width: min(var(--mu1emd-max, 1920px), 98vw); margin: 0 auto; background: #000; overflow: hidden; border-radius: 4px; }
                .audio-cover-image { width: 100%; height: auto; display: block; cursor: pointer; }
                .center-play-btn { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 56px; height: 56px; background: rgba(0, 0, 0, 0.6); color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 40px; cursor: pointer; z-index: 10; padding-left: 6px; }
                .center-play-btn.is-playing { opacity: 0; pointer-events: none; }
                .custom-audio-bar { display: flex; align-items: center; justify-content: center; height: 27px; background: #111; color: #fff; padding: 0 15px; font-family: sans-serif; font-size: 14px; }
                .custom-audio-bar input[type="range"] { flex: 1; margin: 0 15px; cursor: pointer; height: 4px; }
                #myVideo { display: none !important; }</style><div id="mu1emd-auto-topbar" class="mu1emd-topbar" style="height: 28px!important; display: flex!important; justify-content: space-between!important; align-items: center!important; width: 100%!important; padding: 0 10px!important; border-bottom: 1px solid #eee; background-color: #fff; box-sizing: border-box; overflow: visible!important; margin: 0 0 15px 0!important; position: relative; z-index: 1!important;">
                <div style="height: 28px; display: flex; align-items: center; flex-grow: 1; overflow: visible!important;">
                    <div class="gt-container" style="pointer-events: auto!important;">
                        <div class="gtranslate_wrapper" id="gt-wrapper-17609264"></div>
                    </div>
                </div>
                <div style="height: 28px!important; display: flex; align-items: center;">
                    <a rel="noopener" target="_blank" style="display: block; height: 26px;" href="https://notebooklm.google.com/notebook/aa64cc3d-0160-4433-b934-ecc5ab902287">
                        <img decoding="async" style="height: 26px!important; width: auto!important; border: none!important; display: block!important;" src="https://imakat.com/rd.php?id=NgFHFYXH.png" alt="Q&A" />
                    </a>
                </div>
            </div>            <script>
            // JSによる埋め込み検知（iframe等への対応）
            (function(){
                var isIframe = (window.self !== window.top);
                var isHtmlInjected = (window.location.href.indexOf('mu1emd') === -1);
                
                if (isIframe || isHtmlInjected) {
                    var topbar = document.getElementById('mu1emd-auto-topbar');
                    if (topbar) topbar.style.display = 'none';
                }
            })();

            function initVideoTranslate() {
                if (window.google && google.translate && google.translate.TranslateElement) {
                    new google.translate.TranslateElement({
                        pageLanguage: 'ja',
                        layout: google.translate.TranslateElement.InlineLayout.SIMPLE,
                        autoDisplay: false,
                        includedLanguages: 'ja,en,zh-CN,id,ko,hi,pt,es,de,fr,it,ru'
                    }, 'google_translate_element_video');
                }
            }
            (function() {
                if (!window.google || !google.translate) {
                    var gtScript = document.createElement('script');
                    gtScript.src = 'https://translate.google.com/translate_a/element.js?cb=initVideoTranslate';
                    gtScript.async = true;
                    document.head.appendChild(gtScript);
                } else { 
                    setTimeout(initVideoTranslate, 500); 
                }
            })();
            </script>
            <div class="mu1emd-container" id="mu1emdContainer"><div class="audio-player-wrap"><div id="centerPlayBtn" class="center-play-btn">▶</div><img decoding="async" class="audio-cover-image" id="audioCover" src="https://imakat.com/rd.php?id=px7wPfrE.png" draggable="false"><audio id="myVideo" playsinline preload="none" data-protected="false"><source src="https://imakat.com/rd.php?id=rohy2MsB.mp3"></audio><div class="custom-audio-bar">
                        <span id="audioTime">00:00</span>
                        <input type="range" id="audioSeek" value="0" min="0" max="1000" step="1">
                        <span id="audioDuration">00:00</span>
                      </div></div></div>            <script>
            (function(){
                function initPlayer() {
                    var video = document.getElementById("myVideo");
                    if(!video) return false;

                                        if (video.dataset.audioInit !== 'true') {
                        var coverImg = document.getElementById("audioCover");
                        var centerBtn = document.getElementById("centerPlayBtn");
                        var audioSeek = document.getElementById("audioSeek");
                        var audioTime = document.getElementById("audioTime");
                        var audioDuration = document.getElementById("audioDuration");
                        
                        // ★追加: ドラッグ中かどうかを判定するフラグ
                        var isDragging = false; 

                        function formatTime(s) {
                            if (isNaN(s) || !isFinite(s)) return "00:00";
                            var m = Math.floor(s / 60); var ss = Math.floor(s % 60);
                            return (m < 10 ? "0" + m : m) + ":" + (ss < 10 ? "0" + ss : ss);
                        }

                        // 長さを更新する処理
                        function updateDuration() {
                            if (video.duration && isFinite(video.duration)) {
                                if(audioDuration) audioDuration.textContent = formatTime(video.duration);
                            }
                        }

                        function togglePlay() { if (video.paused) { video.play(); } else { video.pause(); } }
                        if(coverImg) { coverImg.removeEventListener("click", togglePlay); coverImg.addEventListener("click", togglePlay); }
                        if(centerBtn) { centerBtn.removeEventListener("click", togglePlay); centerBtn.addEventListener("click", togglePlay); }

                        video.addEventListener("play", function() { 
                            if(centerBtn) centerBtn.classList.add("is-playing"); 
                            updateDuration();
                        });
                        video.addEventListener("pause", function() { if(centerBtn) centerBtn.classList.remove("is-playing"); });
                        
                        video.addEventListener("loadedmetadata", updateDuration);
                        video.addEventListener("durationchange", updateDuration);

                        if (video.readyState >= 1) {
                            updateDuration();
                        }

                        video.addEventListener("timeupdate", function() {
                            // ★修正: ユーザーがドラッグしていない時だけ、バーの位置と時間を更新する
                            if (!isDragging) {
                                if(audioTime) audioTime.textContent = formatTime(video.currentTime);
                                if (audioSeek && video.duration && isFinite(video.duration)) { 
                                    audioSeek.value = (video.currentTime / video.duration) * 1000; 
                                }
                            }
                            
                            if (audioDuration && audioDuration.textContent === "00:00" && video.duration && isFinite(video.duration)) {
                                updateDuration();
                            }
                        });

                        if(audioSeek) { 
                            // ★修正: ドラッグ中は「時間の表示」だけを変え、シークは行わない（パンク防止）
                            audioSeek.addEventListener("input", function() { 
                                isDragging = true;
                                if (video.duration && isFinite(video.duration)) {
                                    if(audioTime) audioTime.textContent = formatTime((audioSeek.value / 1000) * video.duration);
                                }
                            }); 
                            
                            // ★修正: 指を離した瞬間に、1回だけシーク命令を出す
                            audioSeek.addEventListener("change", function() { 
                                if (video.duration && isFinite(video.duration)) {
                                    video.currentTime = (audioSeek.value / 1000) * video.duration; 
                                }
                                isDragging = false;
                            }); 
                            
                            // 念のためのフェイルセーフ（マウスアップやタッチ終了時もフラグ解除）
                            audioSeek.addEventListener("mouseup", function() { isDragging = false; });
                            audioSeek.addEventListener("touchend", function() { isDragging = false; });
                        }
                        
                        video.dataset.audioInit = 'true';
                    }
                                        return true;
                }

                function protectVideo() {
                    var mediaEls = document.querySelectorAll('#mu1emdContainer video, #mu1emdContainer audio');
                    mediaEls.forEach(function(v){
                        if(v.dataset.protected === 'true') return;
                        v.dataset.protected = 'true';
                        v.setAttribute('controlsList', 'nodownload');
                        v.oncontextmenu = function() { return false; };
                        v.addEventListener('contextmenu', function(e){ e.preventDefault(); return false; }, false);
                    });
                }

                function initSubtitles() {
                    var video = document.getElementById("myVideo");
                    var container = document.getElementById("mu1emdContainer");
                    if (!video || !container) return false;

                    var rootSublist = container.querySelector(".mu1emd-sublist");
                    if (!rootSublist) return false;

                    var listContainer = rootSublist.querySelector("details > p");
                    if (!listContainer) return false;

                    if (video.dataset.subInit === 'true') return true;
                    video.dataset.subInit = 'true';

                    var oldOverlay = document.getElementById('subtitleOverlay') || document.getElementById('scSubtitleOverlay');
                    if (oldOverlay) {
                        oldOverlay.style.setProperty('display', 'none', 'important');
                        oldOverlay.innerHTML = ''; 
                    }

                    function isSpecialMode() {
                        var isFs = !!(document.fullscreenElement || document.webkitFullscreenElement || document.mozFullScreenElement || document.msFullscreenElement);
                        var isPiP = !!(document.pictureInPictureElement && document.pictureInPictureElement === video) || (video.webkitPresentationMode === "picture-in-picture");
                        var isIOSFs = !!video.webkitDisplayingFullscreen; 
                        return isFs || isPiP || isIOSFs;
                    }

                    try {
                        if(video.textTracks && video.textTracks.length > 0){
                            for(var i=0; i<video.textTracks.length; i++){
                                if(video.textTracks[i].kind === 'subtitles' || video.textTracks[i].kind === 'captions'){
                                    video.textTracks[i].mode = "hidden";
                                }
                            }
                        }
                    } catch(e){}

                    video.addEventListener("webkitbeginfullscreen", function() {
                        try {
                            if(video.textTracks && video.textTracks.length > 0) {
                                for(var i=0; i<video.textTracks.length; i++){
                                    if(video.textTracks[i].kind === 'subtitles' || video.textTracks[i].kind === 'captions') video.textTracks[i].mode = "showing";
                                }
                            }
                        } catch(e){}
                    });
                    video.addEventListener("webkitendfullscreen", function() {
                        try {
                            if(video.textTracks && video.textTracks.length > 0) {
                                for(var i=0; i<video.textTracks.length; i++){
                                    if(video.textTracks[i].kind === 'subtitles' || video.textTracks[i].kind === 'captions') video.textTracks[i].mode = "hidden";
                                }
                            }
                        } catch(e){}
                    });

                    var detailsEl = rootSublist.querySelector("details");
                    if (detailsEl) {
                        detailsEl.open = true; 
                        var summaryEl = detailsEl.querySelector("summary");
                        if (summaryEl) summaryEl.textContent = "字幕(シーン)はここをクリック";
                    }

                    if (!listContainer.dataset.formatted) {
                        var html = listContainer.innerHTML;
                        var lines = html.split(/<br\s*\/?>/i);
                        var newHtml = "";
                        for(var j=0; j<lines.length; j++) {
                            if(lines[j].trim() === "") continue;
                            newHtml += "<span class='imk-line'>" + lines[j] + "</span><br>";
                        }
                        listContainer.innerHTML = newHtml;
                        listContainer.dataset.formatted = "true";
                    }

                    function parseTs(ts){
                        if(!ts) return null;
                        var p = ts.trim().split(":").map(function(x){return parseInt(x,10)||0;});
                        if(p.length===2) return p[0]*60 + p[1];
                        if(p.length===3) return p[0]*3600 + p[1]*60 + p[2];
                        return null;
                    }

                    rootSublist.addEventListener("click", function(e){
                        var a = e.target.closest && e.target.closest("a.imk-cue[data-seek]");
                        if(!a) return;
                        e.preventDefault();
                        var sec = parseTs(a.getAttribute("data-seek"));
                        if(sec==null) return;
                        try{ video.currentTime = sec; if(video.paused) video.play(); }catch(_){}
                    });

                    video.addEventListener("timeupdate", function(){
                        var desiredMode = isSpecialMode() ? "showing" : "hidden";
                        try {
                            if(video.textTracks && video.textTracks.length > 0){
                                for(var i=0; i<video.textTracks.length; i++){
                                    if((video.textTracks[i].kind === 'subtitles' || video.textTracks[i].kind === 'captions') && video.textTracks[i].mode !== desiredMode) {
                                        video.textTracks[i].mode = desiredMode;
                                    }
                                }
                            }
                        } catch(e){}

                        var cues = listContainer.querySelectorAll("a.imk-cue");
                        if(cues.length === 0) return;
                        var cur = video.currentTime;
                        var activeA = null;

                        for(var i=0; i<cues.length; i++){
                            var t = parseTs(cues[i].getAttribute("data-seek"));
                            if(t !== null && cur >= t - 0.5){ activeA = cues[i]; } 
                            else if(t > cur){ break; }
                        }

                        if(activeA){
                            var activeLine = activeA.closest(".imk-line");
                            if(!activeLine) activeLine = activeA;

                            if(activeLine.classList.contains("active-hl")) return;

                            var allLines = listContainer.querySelectorAll(".imk-line");
                            for(var k=0; k<allLines.length; k++) {
                                allLines[k].classList.remove("active-hl");
                                allLines[k].removeAttribute("style"); 
                            }
                            var allLinks = listContainer.querySelectorAll("a");
                            for(var m=0; m<allLinks.length; m++) {
                                allLinks[m].classList.remove("active-hl");
                                allLinks[m].removeAttribute("style"); 
                            }

                            activeLine.classList.add("active-hl");
                            activeLine.style.setProperty("background-color", "#ffff00", "important");
                            activeLine.style.setProperty("color", "red", "important");
                            activeLine.style.setProperty("font-weight", "normal", "important");
                            
                            var newLinks = activeLine.querySelectorAll("a");
                            for(var n=0; n<newLinks.length; n++) {
                                newLinks[n].style.setProperty("color", "red", "important");
                                newLinks[n].style.setProperty("text-decoration", "none", "important");
                            }

                            if(listContainer.offsetParent !== null){
                                var containerRect = listContainer.getBoundingClientRect();
                                var activeRect = activeLine.getBoundingClientRect();
                                var targetScroll = listContainer.scrollTop + (activeRect.top - containerRect.top) - (listContainer.clientHeight / 2) + (activeLine.clientHeight / 2);
                                listContainer.scrollTo({ top: targetScroll, behavior: "smooth" });
                            }
                        }
                    });

                    return true;
                }

                var checks = 0;
                var checkTimer = setInterval(function(){
                    initPlayer();
                    protectVideo();
                    var success = initSubtitles();
                    checks++;
                    if (success || checks > 20) { 
                        clearInterval(checkTimer);
                    }
                }, 500);
            })();
            </script>
            

  <script>
  (function(){
    var me = document.currentScript;
    var wrapper = me ? me.closest('.sc-dynamic-embed') : null;

    function protectVideo() {
      var target = wrapper ? wrapper : document;
      var mediaEls = target.querySelectorAll('video, audio');
      mediaEls.forEach(function(v){
        if(v.dataset.protected === 'true') return;
        v.dataset.protected = 'true';
        v.setAttribute('controlsList', 'nodownload');
        v.oncontextmenu = function() { return false; };
        v.addEventListener('contextmenu', function(e){ e.preventDefault(); return false; }, false);
      });
    }

    function initSubtitles() {
      var target = wrapper ? wrapper : document;
      var video = target.querySelector('video, audio');
      var listContainer = target.querySelector('details > p');
      
      if (!video || !listContainer) return false; 

      if (video.dataset.subInit === 'true') return true; 
      video.dataset.subInit = 'true';

      var oldOverlay = target.querySelector('#subtitleOverlay') || target.querySelector('#scSubtitleOverlay');
      if (oldOverlay) {
          oldOverlay.style.setProperty('display', 'none', 'important');
          oldOverlay.innerHTML = ''; 
      }

      function isSpecialMode() {
        var isFs = !!(document.fullscreenElement || document.webkitFullscreenElement || document.mozFullScreenElement || document.msFullscreenElement);
        var isPiP = !!(document.pictureInPictureElement && document.pictureInPictureElement === video) || (video.webkitPresentationMode === "picture-in-picture");
        var isIOSFs = !!video.webkitDisplayingFullscreen; 
        return isFs || isPiP || isIOSFs;
      }

      try {
        if(video.textTracks && video.textTracks.length > 0){
          for(var i=0; i<video.textTracks.length; i++){
             if(video.textTracks[i].kind === 'subtitles' || video.textTracks[i].kind === 'captions'){
                 video.textTracks[i].mode = "hidden";
             }
          }
        }
      } catch(e){}

      video.addEventListener("webkitbeginfullscreen", function() {
          try {
              if(video.textTracks && video.textTracks.length > 0) {
                  for(var i=0; i<video.textTracks.length; i++){
                      if(video.textTracks[i].kind === 'subtitles' || video.textTracks[i].kind === 'captions') video.textTracks[i].mode = "showing";
                  }
              }
          } catch(e){}
      });
      video.addEventListener("webkitendfullscreen", function() {
          try {
              if(video.textTracks && video.textTracks.length > 0) {
                  for(var i=0; i<video.textTracks.length; i++){
                      if(video.textTracks[i].kind === 'subtitles' || video.textTracks[i].kind === 'captions') video.textTracks[i].mode = "hidden";
                  }
              }
          } catch(e){}
      });

      var detailsEl = target.querySelector("details");
      if (detailsEl) {
          detailsEl.open = true; 
          var summaryEl = detailsEl.querySelector("summary");
          if (summaryEl) summaryEl.textContent = "字幕(シーン)はここをクリック";
      }

      if (!listContainer.dataset.formatted) {
          var html = listContainer.innerHTML;
          var lines = html.split(/<br\s*\/?>/i);
          var newHtml = "";
          for(var j=0; j<lines.length; j++) {
              if(lines[j].trim() === "") continue;
              newHtml += "<span class='imk-line'>" + lines[j] + "</span><br>";
          }
          listContainer.innerHTML = newHtml;
          listContainer.dataset.formatted = "true";
      }

      function parseTs(ts){
        if(!ts) return null;
        var p = ts.trim().split(":").map(function(x){return parseInt(x,10)||0;});
        if(p.length===2) return p[0]*60 + p[1];
        if(p.length===3) return p[0]*3600 + p[1]*60 + p[2];
        return null;
      }

      var rootSublist = target.querySelector(".mu1-sublist, .mu1emd-sublist") || listContainer.parentElement;
      if (rootSublist) {
        rootSublist.addEventListener("click", function(e){
          var a = e.target.closest && e.target.closest("a.imk-cue[data-seek]");
          if(!a) return;
          e.preventDefault();
          var sec = parseTs(a.getAttribute("data-seek"));
          if(sec==null) return;
          try{ video.currentTime = sec; if(video.paused) video.play(); }catch(_){}
        });
      }

      video.addEventListener("timeupdate", function(){
        var desiredMode = isSpecialMode() ? "showing" : "hidden";
        try {
            if(video.textTracks && video.textTracks.length > 0){
                for(var i=0; i<video.textTracks.length; i++){
                    if((video.textTracks[i].kind === 'subtitles' || video.textTracks[i].kind === 'captions') && video.textTracks[i].mode !== desiredMode) {
                        video.textTracks[i].mode = desiredMode;
                    }
                }
            }
        } catch(e){}

        var cues = listContainer.querySelectorAll("a.imk-cue");
        if(cues.length === 0) return;
        var cur = video.currentTime;
        var activeA = null;

        for(var i=0; i<cues.length; i++){
            var t = parseTs(cues[i].getAttribute("data-seek"));
            if(t !== null && cur >= t - 0.5){ activeA = cues[i]; } 
            else if(t > cur){ break; }
        }

        if(activeA){
            var activeLine = activeA.closest(".imk-line");
            if(!activeLine) activeLine = activeA;

            if(activeLine.classList.contains("active-hl")) return;

            var allLines = listContainer.querySelectorAll(".imk-line");
            for(var k=0; k<allLines.length; k++) {
                allLines[k].classList.remove("active-hl");
                allLines[k].removeAttribute("style"); 
            }
            var allLinks = listContainer.querySelectorAll("a");
            for(var m=0; m<allLinks.length; m++) {
                allLinks[m].classList.remove("active-hl");
                allLinks[m].removeAttribute("style"); 
            }

            activeLine.classList.add("active-hl");
            activeLine.style.setProperty("background-color", "#ffff00", "important");
            activeLine.style.setProperty("color", "red", "important");
            activeLine.style.setProperty("font-weight", "normal", "important");
            
            var newLinks = activeLine.querySelectorAll("a");
            for(var n=0; n<newLinks.length; n++) {
                newLinks[n].style.setProperty("color", "red", "important");
                newLinks[n].style.setProperty("text-decoration", "none", "important");
            }

            if(listContainer.offsetParent !== null){
                var containerRect = listContainer.getBoundingClientRect();
                var activeRect = activeLine.getBoundingClientRect();
                var targetScroll = listContainer.scrollTop + (activeRect.top - containerRect.top) - (listContainer.clientHeight / 2) + (activeLine.clientHeight / 2);
                listContainer.scrollTo({ top: targetScroll, behavior: "smooth" });
            }
        }
      });

      return true;
    }

    var checks = 0;
    var checkTimer = setInterval(function(){
      protectVideo();
      var success = initSubtitles();
      checks++;
      if (success || checks > 20) { 
        clearInterval(checkTimer);
      }
    }, 500); 

    if (!window.scStopAndGo) {
      window.scStopAndGo = function(event, link){
        try{
          var mediaEls = document.querySelectorAll('video, audio');
          mediaEls.forEach(function(m){
            try{
              if (!m.paused) m.pause();
              if (document.pictureInPictureElement === m && document.exitPictureInPicture) {
                document.exitPictureInPicture().catch(function(){});
              }
            }catch(e){}
          });
        }finally{
          event.preventDefault();
          setTimeout(function(){
            if (link.target === '_blank') {
              window.open(link.href, '_blank');
            } else {
              window.location.href = link.href;
            }
          }, 50);
        }
        return false;
      };
    }
  })();
  </script>
</div>


<p>動画はまだ準備中です。</p>



<p class="wp-block-paragraph">＜&#8217;20.2月下旬　美薗中央公園＞</p>



<p class="wp-block-paragraph">新型コロナウイルスの蔓延で、閉ざされた人混みは避けなければいけない。しかし自然の空気に囲まれるのは、今のところは問題ない（&#8217;20年2月)。<br>家から歩いて15分のところに、浜松市浜北区美薗中央公園がある。遊歩道、広場、テニスコート、バスケットボールコートなどがある。<br>以前はウオーキングの通り道だった。しかし最近は行くのをやめていた。</p>



<p class="wp-block-paragraph">ウオーキングは不思議である。</p>



<p class="wp-block-paragraph">5年前から始めた。最初、毎朝3,000歩から始めた。始めた当初は、面白いように体重が減る。しかし次第に鈍くなる。そこで7,000歩に増やした。すると減り出したが、やがて鈍くなる。</p>



<p class="wp-block-paragraph">そこで10,000歩にした。中央公園を通過した。すると、少しは減った。しかし殆ど変わらなくなった。あに図らんや、逆に増え出したのである（※1）。</p>



<p class="wp-block-paragraph">非常に不思議である。</p>



<p class="wp-block-paragraph">そこで、4,000歩まで下げた。そうしたら増えない。でも減らない。ちょうどバランスが取れているようだ。しかし、目標の体重は、あと2kg下げたい。</p>



<p class="wp-block-paragraph">立春を過ぎた。三寒四温。水がぬるくなってくる。土手がうごめく。梅、桃、ロウバイ、木瓜、やがて桜と・・つぎつぎに咲き出すだろう。</p>



<p class="wp-block-paragraph">これまでウオーキングは、朝５時前に出発していた。真っ暗い中をライトを点けて歩く。だから、いつも夜空だけ。草木のある自然の風景を見ることがなかった。</p>



<p class="wp-block-paragraph">時間をずらしてみようか。</p>



<p class="wp-block-paragraph">また、美薗中央公園も通るようにしようか。</p>



<p class="wp-block-paragraph">曲は、2020年の１曲目です。時季としては、寒い冬を越えた３月初めの「啓蟄」の頃、外へ出た時の、自然の不思議さに触れたときをイメージしました。前衛的？　どんなものでしょう。</p>



<p class="wp-block-paragraph">春のお菓子シリーズは、しばらくお休みです。<br></p>



<p class="wp-block-paragraph">No.66 (Cubase)(Feb/2020)</p>



<hr class="wp-block-separator has-css-opacity"/>



<p class="wp-block-paragraph">※１：原因は、食べる量が増えていたことも大きい。<br></p>



<figure class="wp-block-image size-large is-resized"><a href="https://imakat.com/rd.php?id=Lu8Bh4qb.png" target="_blank"><img decoding="async" src="https://imakat.com/rd.php?id=Lu8Bh4qb.png" alt="" style="width:114px;height:auto"/></a></figure>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">9359</post-id>	</item>
	</channel>
</rss>
