<?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>Bajo 3 &#8211; AMP en Línea</title>
	<atom:link href="https://www.ampenlinea.com/lesson-category/bajo-3/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.ampenlinea.com</link>
	<description></description>
	<lastBuildDate>Thu, 30 Oct 2025 16:17:48 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://www.ampenlinea.com/wp-content/uploads/2020/07/cropped-LOGOamp-solo_enlinea-M5-32x32.png</url>
	<title>Bajo 3 &#8211; AMP en Línea</title>
	<link>https://www.ampenlinea.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>AMA BJ 3-6-2 &#8211; Concierto final (REPASO)</title>
		<link>https://www.ampenlinea.com/courses/ama-bajo-n3-v15/lessons/ama-bj-3-6-2-2/</link>
		
		<dc:creator><![CDATA[Henry Giron]]></dc:creator>
		<pubDate>Fri, 11 Apr 2025 15:18:16 +0000</pubDate>
				<category><![CDATA[AMA Bajo N3]]></category>
		<guid isPermaLink="false">https://www.ampenlinea.com/lessons/ama-bj-3-6-2-concierto-mi-dulce-chica-2/</guid>

					<description><![CDATA[Concierto Final Actividad 1) Usando en la plataforma la función &#8220;FOCUS&#8221; tocar cada parte de la canción lentamente y subir la velocidad poco a poco. 2) Tocar la canción lentamente y subir la velocidad poco a poco.]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="61742" class="elementor elementor-61742" data-elementor-post-type="sfwd-lessons">
				<div class="elementor-element elementor-element-9a28f0b e-flex e-con-boxed e-con e-parent" data-id="9a28f0b" data-element_type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-4105218 elementor-widget elementor-widget-shortcode" data-id="4105218" data-element_type="widget" data-widget_type="shortcode.default">
				<div class="elementor-widget-container">
					<div class="elementor-shortcode"> <!DOCTYPE html>
<html lang="es">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Audio y Metrónomo</title>
  <style>
    body {
      font-family: sans-serif;
      margin: 0;
      background-color: #fafafa;
    }

    .toolbar {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 10px 15px;
      background-color: #fafafa;
      color: #333;
      border-bottom: 1px solid #ccc;
    }

    .toolbar .icons button {
      background: none;
      border: none;
      color: #333;
      font-size: 22px;
      cursor: pointer;
      margin-left: 15px;
    }

  .toolbar .icons img {
      height: 32px;
      width: 32px;
      cursor: pointer;
    }

    .modal {
      display: none;
      position: fixed;
      z-index: 1000;
      top: 0; left: 0;
      width: 100%; height: 100%;
      background-color: rgba(0, 0, 0, 0.6);
      justify-content: center;
      align-items: center;
    }

    .modal-content {
      background: #fff;
      padding: 20px;
      width: 90%;
      max-width: 480px;
      border-radius: 8px;
      position: relative;
    }

    .modal .close {
      position: absolute;
      top: 10px;
      right: 15px;
      font-size: 24px;
      cursor: pointer;
    }

    .modal iframe {
      width: 100%;
      height: 475px;
      border: none;
      border-radius: 4px;
    }

    .modal .audio-controls {
      display: flex;
      flex-direction: column;
      gap: 10px;
    }

    .modal .audio-controls audio {
      width: 100%;
    }
  </style>
</head>
<body>

  <div class="toolbar">
    <div class="logo">Herramientas AMP<img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f3b6.png" alt="🎶" class="wp-smiley" style="height: 1em; max-height: 1em;" /></div>
    <div class="icons">
      <img decoding="async" src="https://www.ampenlinea.com/wp-content/uploads/2025/06/brand-bandlab.svg" alt="Abrir Modales" onclick="abrirModal('audioModal')">
      <img decoding="async" src="https://www.ampenlinea.com/wp-content/uploads/2025/06/metronome.svg" alt="Abrir Metrónomo" onclick="abrirModal('metronomeModal')">
    
    </div>
  </div>

  <!-- MODAL AUDIO -->
  <div id="audioModal" class="modal">
    <div class="modal-content">
      <span class="close" onclick="cerrarModal('audioModal')">&times;</span>
      <h3>Selecciona un audio</h3>
      <div class="audio-controls">
        <select id="audioSelector" onchange="cambiarAudio(this.value)">
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-4213-C-Rock-Shuffle-80-bpm.mp3">GPP Rock Shuffle 80 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-4213-B-Four-on-the-floor-80-bpm.mp3">GPP Four on the floor 80 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-3411-Disco-80-bpm.mp3">GPP Disco 80 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-3212-Hard-Rock-80-bpm.mp3">GPP Hard Rock 80 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-219-8th-Note-Rock-80-bpm.mp3">GPP 8th Note Rock 80 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-4213-A-16th-Note-Rock-85-bpm.mp3">GPP 16th Note Rock A 85 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-4213-D-16th-Note-Rock-85-bpm.mp3">GPP 16th Note Rock B 85 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-5512-Basic-RB-85-bpm.mp3">GPP Basic R&B 85 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-415-Four-on-the-floor-85-bpm.mp3">GPP Four on the floor 85 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-3112-8th-Note-Rock-90-bpm.mp3">GPP 8th Note Rock A 90 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-338-8th-Note-Rock-90-bpm.mp3">GPP 8th Note Rock B 90 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-3116-Disco-100-bpm.mp3">GPP Disco 100 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-347-Bossa-Nova-100-bpm.mp3">GPP Bossa Nova 100 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-329-Soca-100-bpm.mp3">GPP 329 Soca 100 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-253-8th-Note-Rock-100-bpm.mp3">GPP 8th Note Rock 100 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-235-8th-Note-Rock-100-bpm.mp3">GPP 8th Note Rock 100 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-159-Hard-Rock-100-bpm.mp3">GPP Hard Rock 100 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-156-16th-Note-Syncopated-Kick-100-bpm.mp3">GPP 16th Note Syncopated Kick 100 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-147-Four-on-the-floor-100-bpm.mp3">GPP Four on the floor 100 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-146-Half-time-Shuffle-100-bpm.mp3">GPP Half time Shuffle 100 bpm</option>

        </select>

        <audio id="audioPlayer" controls>
          <source src="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-4213-C-Rock-Shuffle-80-bpm.mp3" type="audio/mp3">
        </audio>

        <label for="velocidadAudio">Velocidad: <span id="velocidadValor">1.00x</span></label>
        <input type="range" id="velocidadAudio" min="0.5" max="2" step="0.05" value="1" oninput="ajustarVelocidad(this.value)">
      </div>
    </div>
  </div>

  <!-- MODAL METRONOMO -->
  <div id="metronomeModal" class="modal">
    <div class="modal-content">
      <span class="close" onclick="cerrarModal('metronomeModal')">&times;</span>
      <iframe 
        src="https://guitarapp.com/metronome.html?embed=true&tempo=120&timeSignature=2&pattern=1&theme=light"
        title="Metrónomo Online">
      </iframe>
    </div>
  </div>

  <script>
    const audioPlayer = document.getElementById('audioPlayer');
    const velocidadValor = document.getElementById('velocidadValor');

    function cambiarAudio(src) {
      audioPlayer.src = src;
      audioPlayer.playbackRate = parseFloat(document.getElementById('velocidadAudio').value);
      audioPlayer.play();
    }

    function ajustarVelocidad(speed) {
      velocidadValor.textContent = parseFloat(speed).toFixed(2) + 'x';
      audioPlayer.playbackRate = parseFloat(speed);
    }

    function abrirModal(id) {
      document.getElementById(id).style.display = 'flex';
    }

    function cerrarModal(id) {
      document.getElementById(id).style.display = 'none';
    }

    window.addEventListener('click', (e) => {
      document.querySelectorAll('.modal').forEach(modal => {
        if (e.target === modal) modal.style.display = 'none';
      });
    });
  </script>

</body>
</html>
</div>
				</div>
				</div>
		<!-- dce invisible element e0d0347 --><style>
  #btnShowBassFretboard {
    padding: 12px 20px;
    margin: 10px;
    font-size: 16px;
    background-color: #1a1a1a;
    color: white;
    border: none;
    border-radius: 8px;
    cursor: pointer;
  }

  .modal {
    display: none;
    position: fixed;
    z-index: 9999;
    left: 0; top: 0;
    width: 100vw; height: 100vh;
    background-color: rgba(0,0,0,0.85);
    overflow-y: auto;
    padding: 30px 10px;
    box-sizing: border-box;
  }

  .modal-content {
    background-color: #2f2f2f;
    margin: auto;
    padding: 20px;
    border-radius: 12px;
    max-width: 1000px;
    max-height: 90vh;
    overflow-y: auto;
    position: relative;
  }

  .close-btn {
    position: absolute;
    top: 12px;
    right: 15px;
    background: transparent;
    border: none;
    color: white;
    font-size: 28px;
    font-weight: bold;
    cursor: pointer;
  }

  .guitar-fretboard {
    display: grid;
    grid-template-columns: repeat(22, 48px);
    grid-template-rows: repeat(4, 42px);
    background: linear-gradient(90deg, #4a3a2f, #7a5c41);
    border-radius: 8px;
    position: relative;
    overflow-x: auto;
  }

  .fret {
    border-right: 1px solid #666;
    position: relative;
    cursor: pointer;
  }

  .fret[data-string="4"] .string-line { height: 2px; }
  .fret[data-string="3"] .string-line { height: 2.5px; }
  .fret[data-string="2"] .string-line { height: 3px; }
  .fret[data-string="1"] .string-line { height: 3.5px; }

  .string-line {
    position: absolute;
    top: 50%; left: 0; right: 0;
    background: #eee;
    transform: translateY(-50%);
  }

  .marker {
    width: 16px;
    height: 16px;
    border: 2px solid white;
    border-radius: 50%;
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
  }

  .fret-numbers {
    display: grid;
    grid-template-columns: repeat(22, 48px);
    margin-top: 8px;
    color: #fff;
    font-family: Georgia, serif;
    font-size: 14px;
    text-align: center;
  }

  .tuning-labels {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-right: 8px;
    color: white;
    font-weight: bold;
    font-family: sans-serif;
  }

  .tuning-labels div {
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
</style><style>
  #btnShowSheet {
    padding: 12px 20px;
    font-size: 18px;
    background-color: #1a1a1a;
    color: white;
    border: none;
    border-radius: 8px;
    cursor: pointer;
  }

  .modal {
    display: none;
    position: fixed;
    z-index: 9999;
    inset: 0;
    background: rgba(0, 0, 0, 0.95);
  }

  .modal-fullscreen {
    width: 100vw;
    height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 0;
    overflow: hidden;
  }

  .close-btn {
    position: absolute;
    top: 20px;
    right: 30px;
    background: transparent;
    border: none;
    font-size: 36px;
    color: #fff;
    cursor: pointer;
    z-index: 10000;
  }

  .sheet-container {
    position: relative;
    max-width: 95vw;
    max-height: 90vh;
    width: auto;
    height: auto;
    overflow: hidden;
  }

  #sheetImage {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 8px;
  }

  #drawCanvas {
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
    z-index: 10;
    pointer-events: auto;
  }
</style><div class="elementor-element elementor-element-d15febd e-con-full e-flex e-con e-child" data-id="d15febd" data-element_type="container">
				<div class="elementor-element elementor-element-19b571b elementor-widget__width-initial elementor-widget elementor-widget-html" data-id="19b571b" data-element_type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
			
<!-- &#x1f7e8; SUBTÍTULO 1 + PÁRRAFO -->
<section class="bloque-leccion">
    
  <h2>Concierto Final</h2>


 
<img decoding="async" src="https://www.ampenlinea.com/wp-content/uploads/2025/10/bj-3-6-2.png" alt="IMG 1" class="imagen-responsiva">

<br>
  
</section>



<!--&#x1f7e8; Actividad + PÁRRAFO -->
<section class="bloque-leccion">
    
<h1>Actividad</h1>
  
<p>1) Usando en la plataforma la función "FOCUS" tocar cada parte de la canción lentamente y subir la velocidad poco a poco.</p>

<p>2) Tocar la canción lentamente y subir la velocidad poco a poco.</p>

 
</section>

<!-- &#x1f3a8; ESTILO PERSONALIZADO -->
<style>
  .header-leccion {
    background-color: #f2f2f2;
    padding: 10px;
    font-size: 16px;
    text-align: center;
    border-bottom: 2px solid #ccc;
    margin-bottom: 20px;
  }

  .titulo-leccion {
    font-size: 28px;
    font-weight: bold;
    text-align: center;
    color: #b30808;
    margin-bottom: 30px;
  }

  .bloque-leccion {
    margin: 30px 0;
  }

  .bloque-leccion h3 {
    font-size: 22px;
    color: #222;
    margin-bottom: 10px;
  }

  .bloque-leccion p {
    font-size: 18px;
    line-height: 1.6;
    color: #444;
  }

  .imagen-responsiva {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 15px auto;
    border-radius: 8px;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
  }
  
.bloque-leccion {
  user-select: none;           /* Desactiva selección en navegadores modernos */
  -webkit-user-select: none;   /* Chrome/Safari */
  -moz-user-select: none;      /* Firefox */
  -ms-user-select: none;       /* Internet Explorer/Edge */
}


</style>

<script>
  // Bloquea clic derecho
  document.addEventListener('contextmenu', function (e) {
    e.preventDefault();
  });

  // Bloquea teclas como Ctrl+C, Ctrl+U, Ctrl+S, Ctrl+Shift+I (inspeccionar)
  document.addEventListener('keydown', function (e) {
    if ((e.ctrlKey && ['c', 'u', 's'].includes(e.key.toLowerCase())) ||
        (e.ctrlKey && e.shiftKey && e.key.toLowerCase() === 'i')) {
      e.preventDefault();
    }
  });
</script>

		</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-8ac8068 e-con-full e-flex e-con e-child" data-id="8ac8068" data-element_type="container">
				<div class="elementor-element elementor-element-ab90c27 elementor-widget elementor-widget-shortcode" data-id="ab90c27" data-element_type="widget" data-widget_type="shortcode.default">
				<div class="elementor-widget-container">
					<div class="elementor-shortcode"><p>Debes iniciar sesión para ver este contenido.</p></div>
				</div>
				</div>
				</div>
					</div>
				</div>
				</div>
		]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>AMA BJ 3-4-4 &#8211; Técnica P.A.C. (Púa, Agarre y Control) / Ejercicio de mano izquierda (REPASO)</title>
		<link>https://www.ampenlinea.com/courses/ama-bajo-n3-v15/lessons/ama-bj-3-4-4-2/</link>
		
		<dc:creator><![CDATA[Henry Giron]]></dc:creator>
		<pubDate>Fri, 28 Feb 2025 18:43:06 +0000</pubDate>
				<category><![CDATA[AMA Bajo N3]]></category>
		<guid isPermaLink="false">https://www.ampenlinea.com/?post_type=sfwd-lessons&#038;p=59716</guid>

					<description><![CDATA[&#160; Metrónomo × TPA AMP Bajo 3-1-3 / Afinación AMP Bajo 3-1-7 / Extracto: Las avispas AMP Bajo 3-1-8 / Extracto: Baracunatana AMP Bajo 3-1-11 / JamCenter &#8211; Lamento boliviano AMP Bajo 3-2-3 / Backing track en G AMP Bajo 3-2-3 / Backing track en D AMP Bajo 3-2-11 / JamCenter &#8211; Knocking on heaven&#8217;s &#8230;<p class="read-more"> <a class="" href="https://www.ampenlinea.com/courses/ama-bajo-n3-v15/lessons/ama-bj-3-4-4-2/"> <span class="screen-reader-text">AMA BJ 3-4-4 &#8211; Técnica P.A.C. (Púa, Agarre y Control) / Ejercicio de mano izquierda (REPASO)</span> Leer más &#187;</a></p>]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="59716" class="elementor elementor-59716" data-elementor-post-type="sfwd-lessons">
				<div class="elementor-element elementor-element-09b4b04 e-flex e-con-boxed e-con e-parent" data-id="09b4b04" data-element_type="container">
					<div class="e-con-inner">
		<div class="elementor-element elementor-element-fa3ed02 e-con-full e-grid e-con e-child" data-id="fa3ed02" data-element_type="container">
				<div class="elementor-element elementor-element-a52872a elementor-widget elementor-widget-global elementor-global-49842 elementor-widget-html" data-id="a52872a" data-element_type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
			<!DOCTYPE html>
<html lang="es">
<head>
  <meta charset="UTF-8">
  <title>Modal con Metrónomo</title>
  <style>
    /* Botón para abrir el modal */
    #openMetronomeBtn {
      padding: 10px 20px;
      font-size: 16px;
      cursor: pointer;
      background-color: #28a745;
      color: white;
      border: none;
      border-radius: 5px;
    }

    /* Estilos para el modal */
    .modal {
      display: none; /* Oculto por defecto */
      position: fixed;
      z-index: 1000;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.5); /* Fondo semi-transparente */
      justify-content: center;
      align-items: center;
    }

    /* Contenido del modal */
    .modal-content {
      background-color: #fff;
      margin: auto;
      padding: 20px;
      border: 1px solid #888;
      width: 400px;
      border-radius: 8px;
      position: relative;
    }

    /* Botón de cierre */
    .close {
      color: #aaa;
      position: absolute;
      top: 10px;
      right: 15px;
      font-size: 28px;
      font-weight: bold;
      cursor: pointer;
    }

    .close:hover,
    .close:focus {
      color: black;
    }
  </style>
</head>
<body>

  <!-- Botón para abrir el modal -->
  <button id="openMetronomeBtn">Metrónomo</button>

  <!-- Modal -->
  <div id="metronomeModal" class="modal">
    <div class="modal-content">
      <!-- Botón de cierre -->
      <span class="close">&times;</span>

      <!-- Iframe del metrónomo -->
      <iframe 
        src="https://guitarapp.com/metronome.html?embed=true&tempo=120&timeSignature=2&pattern=1&theme=light" 
        title="Online Metronome" 
        scrolling="no"
        style="width: 100%; height: 475px; border: none; border-radius: 4px;">
      </iframe>
    </div>
  </div>

  <script>
    // Obtener elementos
    const modal = document.getElementById("metronomeModal");
    const btn = document.getElementById("openMetronomeBtn");
    const closeBtn = document.querySelector(".close");

    // Mostrar el modal al hacer clic en el botón
    btn.addEventListener("click", () => {
      modal.style.display = "flex"; // Usar flex para centrar el contenido
    });

    // Cerrar el modal al hacer clic en el botón de cerrar (X)
    closeBtn.addEventListener("click", () => {
      modal.style.display = "none";
    });

    // Cerrar el modal al hacer clic fuera del contenido
    window.addEventListener("click", (event) => {
      if (event.target === modal) {
        modal.style.display = "none";
      }
    });
  </script>

</body>
</html>
		</div>
				</div>
				<div class="elementor-element elementor-element-6ba8626 elementor-widget elementor-widget-html" data-id="6ba8626" data-element_type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
			<!DOCTYPE html>
<html lang="es">
<head>
  <meta charset="UTF-8">
  <title>Videos en Pop-Up</title>
  <style>
    body {
      font-family: Arial, sans-serif;
      padding: 20px;
    }

    /* Lista desplegable */
    select {
      padding: 10px;
      font-size: 16px;
      border: 1px solid #ccc;
      border-radius: 5px;
      margin-bottom: 20px;
      width: 100%; /* Se ajusta al ancho del contenedor */
      max-width: 400px; /* Ancho máximo */
    }

    /* Modal */
    .modal {
      display: none; /* Oculto por defecto */
      position: fixed;
      z-index: 1000;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.6); /* Fondo semi-transparente */
      justify-content: center;
      align-items: center;
    }

    /* Contenido del modal */
    .modal-content {
      background-color: white;
      border-radius: 8px;
      padding: 20px;
      width: 80%;
      max-width: 800px;
      box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
      position: relative;
    }

    iframe {
      width: 100%;
      height: 450px;
      border: none;
      border-radius: 5px;
    }

    /* Botón de cierre */
    .close {
      position: absolute;
      top: 10px;
      right: 15px;
      font-size: 30px;
      font-weight: bold;
      color: #aaa;
      cursor: pointer;
      transition: color 0.3s;
    }

    .close:hover {
      color: black;
    }
  </style>
</head>
<body>


  <!-- Lista desplegable -->
 <select id="videoSelect">
    <option value="" selected disabled>TPA</option>
    <option value="https://player.vimeo.com/video/999671270?h=33eb09e22e">
      AMP Bajo 3-1-3 / Afinación
    </option>
    <option value="https://player.vimeo.com/video/999671339?h=5bb87a0bb6">
      AMP Bajo 3-1-7 / Extracto: Las avispas
    </option>
    <option value="https://player.vimeo.com/video/999671358?h=b22022fdcd">
      AMP Bajo 3-1-8 / Extracto: Baracunatana
    </option>
    <option value="https://player.vimeo.com/video/1002077827?h=eedbe48d01">
      AMP Bajo 3-1-11 / JamCenter - Lamento boliviano
    </option>
    <option value="https://player.vimeo.com/video/1021028936?h=168ad36f63">
      AMP Bajo 3-2-3 / Backing track en G
    </option>
    <option value="https://player.vimeo.com/video/999671617?h=df5060ff89">
      AMP Bajo 3-2-3 / Backing track en D
    </option>
    <option value="https://player.vimeo.com/video/1020750793?h=58959df6c1">
      AMP Bajo 3-2-11 / JamCenter - Knocking on heaven's door
    </option>
    <option value="https://player.vimeo.com/video/1033985658?h=aa02a04180">
      AMP Bajo 3-3-3 / Extracto: Blue Suede Shoes
    </option>
    <option value="https://player.vimeo.com/video/1002137865?h=2d80b33b1b">
      AMP Bajo 3-3-5 / JamCenter - Zombie
    </option>
    <option value="https://player.vimeo.com/video/999671890?h=d001c21cf3">
      AMP Bajo 3-3-6 / Extracto: Stand by me
    </option>
    <option value="https://player.vimeo.com/video/1002140301?h=635f9b98f6">
      AMP Bajo 3-4-5 / JamCenter - All the small things
    </option>
    <option value="https://player.vimeo.com/video/999672309?h=5e6ea6fb45">
      AMP Bajo 3-4-8 / Backing track en D
    </option>
    <option value="https://player.vimeo.com/video/998872220?h=ec53530d84">
      AMP Bajo 3-5-5 / JamCenter - La camisa negra
    </option>
    <option value="https://player.vimeo.com/video/999672856?h=24eb70c9a8">
      AMP Bajo 3-6-2 / Concierto final - Mi dulce chica
    </option>
</select>


  <!-- Modal -->
  <div id="videoModal" class="modal">
    <div class="modal-content">
      <span class="close">&times;</span>
      <iframe id="videoIframe" src="" allowfullscreen></iframe>
    </div>
  </div>

  <script>
    // Obtener elementos
    const videoSelect = document.getElementById("videoSelect");
    const videoModal = document.getElementById("videoModal");
    const videoIframe = document.getElementById("videoIframe");
    const closeModal = document.querySelector(".close");

    // Mostrar el modal con el video seleccionado
    videoSelect.addEventListener("change", () => {
      const selectedVideo = videoSelect.value;
      if (selectedVideo) {
        videoIframe.src = selectedVideo; // Cambiar el src del iframe
        videoModal.style.display = "flex"; // Mostrar el modal
      }
    });

    // Cerrar el modal al hacer clic en la "X"
    closeModal.addEventListener("click", () => {
      videoModal.style.display = "none"; // Ocultar el modal
      videoIframe.src = ""; // Detener el video
    });

    // Cerrar el modal al hacer clic fuera del contenido
    window.addEventListener("click", (event) => {
      if (event.target === videoModal) {
        videoModal.style.display = "none"; // Ocultar el modal
        videoIframe.src = ""; // Detener el video
      }
    });
  </script>

</body>
</html>

		</div>
				</div>
				<div class="elementor-element elementor-element-c2e5981 elementor-widget__width-auto elementor-widget elementor-widget-global elementor-global-49845 elementor-widget-html" data-id="c2e5981" data-element_type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
			<!DOCTYPE html>
<html lang="es">
<head>
  <meta charset="UTF-8">
  <title>Prueba Audio JS</title>
  <style>
    /* Contenedor que muestra botones y velocidad en la misma línea */
    .controls-container {
      display: inline-flex;      /* o "flex" si prefieres ocupar todo el ancho */
      align-items: center;       /* centra verticalmente */
      gap: 15px;                 /* espacio entre los elementos */
      margin: 30px;
    }

    /* Ajuste de estilo para los botones */
    button {
      padding: 6px 12px;
      font-size: 14px;
      cursor: pointer;
    }
  </style>
</head>
<body>
  
  <audio id="myAudio" src="https://www.ampenlinea.com/wp-content/uploads/2025/01/GPP.mp3"></audio>
  
  <!-- Contenedor para alinear en una sola línea -->
  <div class="controls-container">
    <button id="decreaseSpeedBtn">-</button>
    <button id="playPauseBtn">GPP</button>
    <button id="increaseSpeedBtn">+</button>
    <div id="speedDisplay">1.0x</div> <!-- Velocidad en la misma línea -->
  </div>
  
  <script>
    const audio = document.getElementById('myAudio');
    const playPauseBtn = document.getElementById('playPauseBtn');
    const increaseSpeedBtn = document.getElementById('increaseSpeedBtn');
    const decreaseSpeedBtn = document.getElementById('decreaseSpeedBtn');
    const speedDisplay = document.getElementById('speedDisplay');

    let isPlaying = false;

    // Actualiza el texto que muestra la velocidad
    function updateSpeedDisplay() {
      speedDisplay.textContent = `${audio.playbackRate.toFixed(1)}x`;
    }

    // Al hacer clic en el botón Reproducir/Pausar
    playPauseBtn.onclick = () => {
      if (isPlaying) {
        audio.pause();
        isPlaying = false;
        playPauseBtn.textContent = "GPP"; // Texto cuando está en pausa
      } else {
        audio.play();
        isPlaying = true;
        playPauseBtn.textContent = "Pausar"; // Texto cuando está reproduciendo
      }
    };

    // Al hacer clic en el botón de +10% Velocidad
    increaseSpeedBtn.onclick = () => {
      if (audio.playbackRate < 3.0) {
        audio.playbackRate += 0.1;
        updateSpeedDisplay();
      }
    };

    // Al hacer clic en el botón de -10% Velocidad
    decreaseSpeedBtn.onclick = () => {
      if (audio.playbackRate > 0.5) {
        audio.playbackRate -= 0.1;
        updateSpeedDisplay();
      }
    };

    // Al cargar la página
    window.onload = () => {
      updateSpeedDisplay();
    };
  </script>
</body>
</html>
		</div>
				</div>
				</div>
				<div class="elementor-element elementor-element-c14ce4d elementor-widget elementor-widget-html" data-id="c14ce4d" data-element_type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
			<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Modal con Pantalla Completa</title>
    <style>
        body {
            font-family: 'Arial', sans-serif;
            background-color: #f0f0f0;
            margin: 0;
            padding: 20px;
        }

        .container {
            max-width: 1000px;
            margin: 0 auto;
            padding: 20px;
            background-color: #fff;
            box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
            border-radius: 8px;
        }

        h1 {
            text-align: center;
            margin-bottom: 20px;
        }

        .pdf-container {
            position: relative;
            width: 100%;
            height: 800px; /* Ajusta la altura según tus necesidades */
            border: 1px solid #ccc;
            border-radius: 8px;
            overflow: hidden;
        }

        .pdf-container iframe {
            width: 100%;
            height: 100%;
            border: none;
        }

        .fullscreen-btn {
            position: absolute;
            top: 3px;
            right: 10px;
            padding: 8px 12px;
            background-color: #4CAF50;
            color: white;
            border: none;
            border-radius: 4px;
            cursor: pointer;
            font-size: 14px;
            transition: background-color 0.3s;
        }

        .fullscreen-btn:hover {
            background-color: #45a049;
        }

        @media (max-width: 768px) {
            .pdf-container {
                height: 500px; /* Altura reducida para tablets */
            }
        }

        @media (max-width: 480px) {
            .pdf-container {
                height: 300px; /* Altura reducida para móviles */
            }
        }
    </style>
</head>
<body>
    <div class="container">

        <div class="pdf-container" id="pdf-container">
            <iframe 
                src="https://www.ampenlinea.com/wp-content/uploads/2025/01/Bajo-3-4-4.pdf"  
                allowfullscreen>
            </iframe>
            <button class="fullscreen-btn" id="fullscreen-btn">Pantalla Completa</button>
        </div>
    </div>

    <script>
        // Obtener referencias a los elementos
        const fullscreenBtn = document.getElementById('fullscreen-btn');
        const pdfContainer = document.getElementById('pdf-container');

        // Función para activar pantalla completa
        function toggleFullscreen() {
            if (
                document.fullscreenElement ||
                document.webkitFullscreenElement ||
                document.msFullscreenElement
            ) {
                // Salir de pantalla completa
                if (document.exitFullscreen) {
                    document.exitFullscreen();
                } else if (document.webkitExitFullscreen) { /* Safari */
                    document.webkitExitFullscreen();
                } else if (document.msExitFullscreen) { /* IE11 */
                    document.msExitFullscreen();
                }
            } else {
                // Entrar en pantalla completa
                if (pdfContainer.requestFullscreen) {
                    pdfContainer.requestFullscreen();
                } else if (pdfContainer.webkitRequestFullscreen) { /* Safari */
                    pdfContainer.webkitRequestFullscreen();
                } else if (pdfContainer.msRequestFullscreen) { /* IE11 */
                    pdfContainer.msRequestFullscreen();
                }
            }
        }

        // Evento de clic en el botón para alternar pantalla completa
        fullscreenBtn.addEventListener('click', toggleFullscreen);

        // Evento para actualizar el texto del botón según el estado de pantalla completa
        function updateFullscreenButton() {
            if (
                document.fullscreenElement === pdfContainer ||
                document.webkitFullscreenElement === pdfContainer ||
                document.msFullscreenElement === pdfContainer
            ) {
                fullscreenBtn.textContent = 'Salir de Pantalla Completa';
            } else {
                fullscreenBtn.textContent = 'Pantalla Completa';
            }
        }

        // Escuchar cambios en el estado de pantalla completa
        document.addEventListener('fullscreenchange', updateFullscreenButton);
        document.addEventListener('webkitfullscreenchange', updateFullscreenButton); // Safari
        document.addEventListener('MSFullscreenChange', updateFullscreenButton); // IE11
    </script>
</body>
</html>
		</div>
				</div>
				<div class="elementor-element elementor-element-84db4f0 elementor-widget elementor-widget-template" data-id="84db4f0" data-element_type="widget" data-widget_type="template.default">
				<div class="elementor-widget-container">
					<div class="elementor-template">
					</div>
				</div>
				</div>
					</div>
				</div>
				</div>
		]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>AMA BJ 2-5-7 &#8211; El Blues de 12 compases / Canción #8 &#8220;Blues for Ana Caro&#8221;</title>
		<link>https://www.ampenlinea.com/courses/ama-bajo-n2-v15/lessons/ama-bj-2-5-7/</link>
		
		<dc:creator><![CDATA[Henry Giron]]></dc:creator>
		<pubDate>Fri, 28 Feb 2025 14:48:44 +0000</pubDate>
				<category><![CDATA[AMA Bajo N3]]></category>
		<guid isPermaLink="false">https://www.ampenlinea.com/?post_type=sfwd-lessons&#038;p=59578</guid>

					<description><![CDATA[Canción #8 El blues de 12 compases A continuación tienes una canción con la estructura del blues de 12 compases. El blues es un género musical muy popular entre los guitarristas y bajistas. Debes saber tocar un blues para acompañar bien al guitarrista y también poder improvisar en su momento con la escala menor pentatónica. &#8230;<p class="read-more"> <a class="" href="https://www.ampenlinea.com/courses/ama-bajo-n2-v15/lessons/ama-bj-2-5-7/"> <span class="screen-reader-text">AMA BJ 2-5-7 &#8211; El Blues de 12 compases / Canción #8 &#8220;Blues for Ana Caro&#8221;</span> Leer más &#187;</a></p>]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="59578" class="elementor elementor-59578" data-elementor-post-type="sfwd-lessons">
				<div class="elementor-element elementor-element-df09436 e-flex e-con-boxed e-con e-parent" data-id="df09436" data-element_type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-7c3d43c elementor-widget elementor-widget-shortcode" data-id="7c3d43c" data-element_type="widget" data-widget_type="shortcode.default">
				<div class="elementor-widget-container">
					<div class="elementor-shortcode"> <!DOCTYPE html>
<html lang="es">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Audio y Metrónomo</title>
  <style>
    body {
      font-family: sans-serif;
      margin: 0;
      background-color: #fafafa;
    }

    .toolbar {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 10px 15px;
      background-color: #fafafa;
      color: #333;
      border-bottom: 1px solid #ccc;
    }

    .toolbar .icons button {
      background: none;
      border: none;
      color: #333;
      font-size: 22px;
      cursor: pointer;
      margin-left: 15px;
    }

  .toolbar .icons img {
      height: 32px;
      width: 32px;
      cursor: pointer;
    }

    .modal {
      display: none;
      position: fixed;
      z-index: 1000;
      top: 0; left: 0;
      width: 100%; height: 100%;
      background-color: rgba(0, 0, 0, 0.6);
      justify-content: center;
      align-items: center;
    }

    .modal-content {
      background: #fff;
      padding: 20px;
      width: 90%;
      max-width: 480px;
      border-radius: 8px;
      position: relative;
    }

    .modal .close {
      position: absolute;
      top: 10px;
      right: 15px;
      font-size: 24px;
      cursor: pointer;
    }

    .modal iframe {
      width: 100%;
      height: 475px;
      border: none;
      border-radius: 4px;
    }

    .modal .audio-controls {
      display: flex;
      flex-direction: column;
      gap: 10px;
    }

    .modal .audio-controls audio {
      width: 100%;
    }
  </style>
</head>
<body>

  <div class="toolbar">
    <div class="logo">Herramientas AMP<img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f3b6.png" alt="🎶" class="wp-smiley" style="height: 1em; max-height: 1em;" /></div>
    <div class="icons">
      <img decoding="async" src="https://www.ampenlinea.com/wp-content/uploads/2025/06/brand-bandlab.svg" alt="Abrir Modales" onclick="abrirModal('audioModal')">
      <img decoding="async" src="https://www.ampenlinea.com/wp-content/uploads/2025/06/metronome.svg" alt="Abrir Metrónomo" onclick="abrirModal('metronomeModal')">
    
    </div>
  </div>

  <!-- MODAL AUDIO -->
  <div id="audioModal" class="modal">
    <div class="modal-content">
      <span class="close" onclick="cerrarModal('audioModal')">&times;</span>
      <h3>Selecciona un audio</h3>
      <div class="audio-controls">
        <select id="audioSelector" onchange="cambiarAudio(this.value)">
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-4213-C-Rock-Shuffle-80-bpm.mp3">GPP Rock Shuffle 80 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-4213-B-Four-on-the-floor-80-bpm.mp3">GPP Four on the floor 80 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-3411-Disco-80-bpm.mp3">GPP Disco 80 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-3212-Hard-Rock-80-bpm.mp3">GPP Hard Rock 80 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-219-8th-Note-Rock-80-bpm.mp3">GPP 8th Note Rock 80 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-4213-A-16th-Note-Rock-85-bpm.mp3">GPP 16th Note Rock A 85 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-4213-D-16th-Note-Rock-85-bpm.mp3">GPP 16th Note Rock B 85 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-5512-Basic-RB-85-bpm.mp3">GPP Basic R&B 85 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-415-Four-on-the-floor-85-bpm.mp3">GPP Four on the floor 85 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-3112-8th-Note-Rock-90-bpm.mp3">GPP 8th Note Rock A 90 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-338-8th-Note-Rock-90-bpm.mp3">GPP 8th Note Rock B 90 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-3116-Disco-100-bpm.mp3">GPP Disco 100 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-347-Bossa-Nova-100-bpm.mp3">GPP Bossa Nova 100 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-329-Soca-100-bpm.mp3">GPP 329 Soca 100 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-253-8th-Note-Rock-100-bpm.mp3">GPP 8th Note Rock 100 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-235-8th-Note-Rock-100-bpm.mp3">GPP 8th Note Rock 100 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-159-Hard-Rock-100-bpm.mp3">GPP Hard Rock 100 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-156-16th-Note-Syncopated-Kick-100-bpm.mp3">GPP 16th Note Syncopated Kick 100 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-147-Four-on-the-floor-100-bpm.mp3">GPP Four on the floor 100 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-146-Half-time-Shuffle-100-bpm.mp3">GPP Half time Shuffle 100 bpm</option>

        </select>

        <audio id="audioPlayer" controls>
          <source src="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-4213-C-Rock-Shuffle-80-bpm.mp3" type="audio/mp3">
        </audio>

        <label for="velocidadAudio">Velocidad: <span id="velocidadValor">1.00x</span></label>
        <input type="range" id="velocidadAudio" min="0.5" max="2" step="0.05" value="1" oninput="ajustarVelocidad(this.value)">
      </div>
    </div>
  </div>

  <!-- MODAL METRONOMO -->
  <div id="metronomeModal" class="modal">
    <div class="modal-content">
      <span class="close" onclick="cerrarModal('metronomeModal')">&times;</span>
      <iframe 
        src="https://guitarapp.com/metronome.html?embed=true&tempo=120&timeSignature=2&pattern=1&theme=light"
        title="Metrónomo Online">
      </iframe>
    </div>
  </div>

  <script>
    const audioPlayer = document.getElementById('audioPlayer');
    const velocidadValor = document.getElementById('velocidadValor');

    function cambiarAudio(src) {
      audioPlayer.src = src;
      audioPlayer.playbackRate = parseFloat(document.getElementById('velocidadAudio').value);
      audioPlayer.play();
    }

    function ajustarVelocidad(speed) {
      velocidadValor.textContent = parseFloat(speed).toFixed(2) + 'x';
      audioPlayer.playbackRate = parseFloat(speed);
    }

    function abrirModal(id) {
      document.getElementById(id).style.display = 'flex';
    }

    function cerrarModal(id) {
      document.getElementById(id).style.display = 'none';
    }

    window.addEventListener('click', (e) => {
      document.querySelectorAll('.modal').forEach(modal => {
        if (e.target === modal) modal.style.display = 'none';
      });
    });
  </script>

</body>
</html>
</div>
				</div>
				</div>
		<!-- dce invisible element 81225c4 --><style>
  #btnShowBassFretboard {
    padding: 12px 20px;
    margin: 10px;
    font-size: 16px;
    background-color: #1a1a1a;
    color: white;
    border: none;
    border-radius: 8px;
    cursor: pointer;
  }

  .modal {
    display: none;
    position: fixed;
    z-index: 9999;
    left: 0; top: 0;
    width: 100vw; height: 100vh;
    background-color: rgba(0,0,0,0.85);
    overflow-y: auto;
    padding: 30px 10px;
    box-sizing: border-box;
  }

  .modal-content {
    background-color: #2f2f2f;
    margin: auto;
    padding: 20px;
    border-radius: 12px;
    max-width: 1000px;
    max-height: 90vh;
    overflow-y: auto;
    position: relative;
  }

  .close-btn {
    position: absolute;
    top: 12px;
    right: 15px;
    background: transparent;
    border: none;
    color: white;
    font-size: 28px;
    font-weight: bold;
    cursor: pointer;
  }

  .guitar-fretboard {
    display: grid;
    grid-template-columns: repeat(22, 48px);
    grid-template-rows: repeat(4, 42px);
    background: linear-gradient(90deg, #4a3a2f, #7a5c41);
    border-radius: 8px;
    position: relative;
    overflow-x: auto;
  }

  .fret {
    border-right: 1px solid #666;
    position: relative;
    cursor: pointer;
  }

  .fret[data-string="4"] .string-line { height: 2px; }
  .fret[data-string="3"] .string-line { height: 2.5px; }
  .fret[data-string="2"] .string-line { height: 3px; }
  .fret[data-string="1"] .string-line { height: 3.5px; }

  .string-line {
    position: absolute;
    top: 50%; left: 0; right: 0;
    background: #eee;
    transform: translateY(-50%);
  }

  .marker {
    width: 16px;
    height: 16px;
    border: 2px solid white;
    border-radius: 50%;
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
  }

  .fret-numbers {
    display: grid;
    grid-template-columns: repeat(22, 48px);
    margin-top: 8px;
    color: #fff;
    font-family: Georgia, serif;
    font-size: 14px;
    text-align: center;
  }

  .tuning-labels {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-right: 8px;
    color: white;
    font-weight: bold;
    font-family: sans-serif;
  }

  .tuning-labels div {
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
</style><style>
  #btnShowSheet {
    padding: 12px 20px;
    font-size: 18px;
    background-color: #1a1a1a;
    color: white;
    border: none;
    border-radius: 8px;
    cursor: pointer;
  }

  .modal {
    display: none;
    position: fixed;
    z-index: 9999;
    inset: 0;
    background: rgba(0, 0, 0, 0.95);
  }

  .modal-fullscreen {
    width: 100vw;
    height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 0;
    overflow: hidden;
  }

  .close-btn {
    position: absolute;
    top: 20px;
    right: 30px;
    background: transparent;
    border: none;
    font-size: 36px;
    color: #fff;
    cursor: pointer;
    z-index: 10000;
  }

  .sheet-container {
    position: relative;
    max-width: 95vw;
    max-height: 90vh;
    width: auto;
    height: auto;
    overflow: hidden;
  }

  #sheetImage {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 8px;
  }

  #drawCanvas {
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
    z-index: 10;
    pointer-events: auto;
  }
</style><div class="elementor-element elementor-element-6fc746c e-con-full e-flex e-con e-child" data-id="6fc746c" data-element_type="container">
				<div class="elementor-element elementor-element-2540bcd elementor-widget__width-initial elementor-widget elementor-widget-html" data-id="2540bcd" data-element_type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
			
<!-- &#x1f7e8; SUBTÍTULO 1 + PÁRRAFO -->
<section class="bloque-leccion">
  <h2>Canción #8</h2>
    <h2>El blues de 12 compases</h2>
    
  <p>A continuación tienes una canción con la estructura del blues de 12 compases. El blues es un género musical muy popular entre los guitarristas y bajistas. Debes saber tocar un blues para acompañar bien al guitarrista y también poder improvisar en su momento con la escala menor pentatónica.</p>
   <br>

  <h2>El blues de 12 compases en "G"</h2>
  
  
  <p>Toca este blues con los arpegios dominantes 7 y también puedes alternarlo con su raíz y 5ta.</p>
  
 
  <img decoding="async" src="https://www.ampenlinea.com/wp-content/uploads/2025/09/bj-2-5-7-a-scaled.png" alt="img 1" class="imagen-responsiva">
  
 
  
  <img decoding="async" src="https://www.ampenlinea.com/wp-content/uploads/2025/09/bj-2-5-7-b-scaled.png" alt="img 2" class="imagen-responsiva">
  
   

<!--&#x1f7e8; Actividad + PÁRRAFO -->
<section class="bloque-leccion">
  <h1>Actividad</h1>
  
<p>1) Practicar los arpegios Dom7 en las cuerdas "E" y "A".</p>

<p>2) Tocar el tema de esta lección con arpegios Dom7, usar los ritmos "Blues 1 y 2" para acompañar.</p>

<p>3) Utilizar los patrones de la escala pentatónica menor en "G" para tocar libremente (improvisar).</p>



  <br>
 
</section>

<!-- &#x1f3a8; ESTILO PERSONALIZADO -->
<style>
  .header-leccion {
    background-color: #f2f2f2;
    padding: 10px;
    font-size: 16px;
    text-align: center;
    border-bottom: 2px solid #ccc;
    margin-bottom: 20px;
  }

  .titulo-leccion {
    font-size: 28px;
    font-weight: bold;
    text-align: center;
    color: #b30808;
    margin-bottom: 30px;
  }

  .bloque-leccion {
    margin: 30px 0;
  }

  .bloque-leccion h3 {
    font-size: 22px;
    color: #222;
    margin-bottom: 10px;
  }

  .bloque-leccion p {
    font-size: 18px;
    line-height: 1.6;
    color: #444;
  }

  .imagen-responsiva {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 15px auto;
    border-radius: 8px;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
  }
  
.bloque-leccion {
  user-select: none;           /* Desactiva selección en navegadores modernos */
  -webkit-user-select: none;   /* Chrome/Safari */
  -moz-user-select: none;      /* Firefox */
  -ms-user-select: none;       /* Internet Explorer/Edge */
}


</style>

<script>
  // Bloquea clic derecho
  document.addEventListener('contextmenu', function (e) {
    e.preventDefault();
  });

  // Bloquea teclas como Ctrl+C, Ctrl+U, Ctrl+S, Ctrl+Shift+I (inspeccionar)
  document.addEventListener('keydown', function (e) {
    if ((e.ctrlKey && ['c', 'u', 's'].includes(e.key.toLowerCase())) ||
        (e.ctrlKey && e.shiftKey && e.key.toLowerCase() === 'i')) {
      e.preventDefault();
    }
  });
</script>

		</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-c0262b1 e-con-full e-flex e-con e-child" data-id="c0262b1" data-element_type="container">
				<div class="elementor-element elementor-element-44786b4 elementor-widget elementor-widget-shortcode" data-id="44786b4" data-element_type="widget" data-widget_type="shortcode.default">
				<div class="elementor-widget-container">
					<div class="elementor-shortcode"><p>Debes iniciar sesión para ver este contenido.</p></div>
				</div>
				</div>
				</div>
					</div>
				</div>
				</div>
		]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>AMA BJ 2-1-9 &#8211; Lectura Melódica / Ejercicio UNI #1 (REPASO)</title>
		<link>https://www.ampenlinea.com/courses/ama-bajo-n2-v15/lessons/ama-bj-2-1-9-2/</link>
		
		<dc:creator><![CDATA[Henry Giron]]></dc:creator>
		<pubDate>Wed, 05 Feb 2025 21:44:35 +0000</pubDate>
				<guid isPermaLink="false">https://www.ampenlinea.com/?post_type=sfwd-lessons&#038;p=55830</guid>

					<description><![CDATA[Modal con Metrónomo Metrónomo &#215; Videos en Pop-Up TPA AMP Bajo 2-1-8 / Introducción a la lectura melódica AMP Bajo 2-1-11 / Canción #1 &#8211; Sobre tu arcoiris AMP Bajo 2-2-6 / Extracto: Livin on a Prayer AMP Bajo 2-2-8 / Extracto: La bamba AMP Bajo 2-2-9 / Canción #2 &#8211; Encanto mayor AMP Bajo &#8230;<p class="read-more"> <a class="" href="https://www.ampenlinea.com/courses/ama-bajo-n2-v15/lessons/ama-bj-2-1-9-2/"> <span class="screen-reader-text">AMA BJ 2-1-9 &#8211; Lectura Melódica / Ejercicio UNI #1 (REPASO)</span> Leer más &#187;</a></p>]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="55830" class="elementor elementor-55830" data-elementor-post-type="sfwd-lessons">
				<div class="elementor-element elementor-element-2b89edc e-flex e-con-boxed e-con e-parent" data-id="2b89edc" data-element_type="container">
					<div class="e-con-inner">
		<div class="elementor-element elementor-element-eeaf824 e-con-full e-grid e-con e-child" data-id="eeaf824" data-element_type="container">
				<div class="elementor-element elementor-element-b9f0a4f elementor-widget elementor-widget-global elementor-global-49842 elementor-widget-html" data-id="b9f0a4f" data-element_type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
			<!DOCTYPE html>
<html lang="es">
<head>
  <meta charset="UTF-8">
  <title>Modal con Metrónomo</title>
  <style>
    /* Botón para abrir el modal */
    #openMetronomeBtn {
      padding: 10px 20px;
      font-size: 16px;
      cursor: pointer;
      background-color: #28a745;
      color: white;
      border: none;
      border-radius: 5px;
    }

    /* Estilos para el modal */
    .modal {
      display: none; /* Oculto por defecto */
      position: fixed;
      z-index: 1000;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.5); /* Fondo semi-transparente */
      justify-content: center;
      align-items: center;
    }

    /* Contenido del modal */
    .modal-content {
      background-color: #fff;
      margin: auto;
      padding: 20px;
      border: 1px solid #888;
      width: 400px;
      border-radius: 8px;
      position: relative;
    }

    /* Botón de cierre */
    .close {
      color: #aaa;
      position: absolute;
      top: 10px;
      right: 15px;
      font-size: 28px;
      font-weight: bold;
      cursor: pointer;
    }

    .close:hover,
    .close:focus {
      color: black;
    }
  </style>
</head>
<body>

  <!-- Botón para abrir el modal -->
  <button id="openMetronomeBtn">Metrónomo</button>

  <!-- Modal -->
  <div id="metronomeModal" class="modal">
    <div class="modal-content">
      <!-- Botón de cierre -->
      <span class="close">&times;</span>

      <!-- Iframe del metrónomo -->
      <iframe 
        src="https://guitarapp.com/metronome.html?embed=true&tempo=120&timeSignature=2&pattern=1&theme=light" 
        title="Online Metronome" 
        scrolling="no"
        style="width: 100%; height: 475px; border: none; border-radius: 4px;">
      </iframe>
    </div>
  </div>

  <script>
    // Obtener elementos
    const modal = document.getElementById("metronomeModal");
    const btn = document.getElementById("openMetronomeBtn");
    const closeBtn = document.querySelector(".close");

    // Mostrar el modal al hacer clic en el botón
    btn.addEventListener("click", () => {
      modal.style.display = "flex"; // Usar flex para centrar el contenido
    });

    // Cerrar el modal al hacer clic en el botón de cerrar (X)
    closeBtn.addEventListener("click", () => {
      modal.style.display = "none";
    });

    // Cerrar el modal al hacer clic fuera del contenido
    window.addEventListener("click", (event) => {
      if (event.target === modal) {
        modal.style.display = "none";
      }
    });
  </script>

</body>
</html>
		</div>
				</div>
				<div class="elementor-element elementor-element-244672e elementor-widget elementor-widget-html" data-id="244672e" data-element_type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
			<!DOCTYPE html>
<html lang="es">
<head>
  <meta charset="UTF-8">
  <title>Videos en Pop-Up</title>
  <style>
    body {
      font-family: Arial, sans-serif;
      padding: 20px;
    }

    /* Lista desplegable */
    select {
      padding: 10px;
      font-size: 16px;
      border: 1px solid #ccc;
      border-radius: 5px;
      margin-bottom: 20px;
      width: 100%; /* Se ajusta al ancho del contenedor */
      max-width: 400px; /* Ancho máximo */
    }

    /* Modal */
    .modal {
      display: none; /* Oculto por defecto */
      position: fixed;
      z-index: 1000;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.6); /* Fondo semi-transparente */
      justify-content: center;
      align-items: center;
    }

    /* Contenido del modal */
    .modal-content {
      background-color: white;
      border-radius: 8px;
      padding: 20px;
      width: 80%;
      max-width: 800px;
      box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
      position: relative;
    }

    iframe {
      width: 100%;
      height: 450px;
      border: none;
      border-radius: 5px;
    }

    /* Botón de cierre */
    .close {
      position: absolute;
      top: 10px;
      right: 15px;
      font-size: 30px;
      font-weight: bold;
      color: #aaa;
      cursor: pointer;
      transition: color 0.3s;
    }

    .close:hover {
      color: black;
    }
  </style>
</head>
<body>


  <!-- Lista desplegable -->
 <select id="videoSelect">
    <option value="" selected disabled>TPA</option>
    <option value="https://player.vimeo.com/video/1033975999?h=056779d005">
      AMP Bajo 2-1-8 / Introducción a la lectura melódica
    </option>
    <option value="https://player.vimeo.com/video/999632152?h=fcfda3e78f">
      AMP Bajo 2-1-11 / Canción #1 - Sobre tu arcoiris
    </option>
    <option value="https://player.vimeo.com/video/999632246?h=cb05870709">
      AMP Bajo 2-2-6 / Extracto: Livin on a Prayer
    </option>
    <option value="https://player.vimeo.com/video/999632279?h=f4bd06e35c">
      AMP Bajo 2-2-8 / Extracto: La bamba
    </option>
    <option value="https://player.vimeo.com/video/999632336?h=e3b10ce904">
      AMP Bajo 2-2-9 / Canción #2 - Encanto mayor
    </option>
    <option value="https://player.vimeo.com/video/999632393?h=cdd7660aba">
      AMP Bajo 2-2-10 / Backing track en G
    </option>
    <option value="https://player.vimeo.com/video/999632570?h=a96fb9d527">
      AMP Bajo 2-2-11 / Backing track en D
    </option>
    <option value="https://player.vimeo.com/video/999632750?h=cf0888d8bb">
      AMP Bajo 2-3-5 / Canción #3 - Intento menor
    </option>
    <option value="https://player.vimeo.com/video/999632807?h=d4b361a032">
      AMP Bajo 2-3-6 / Backing track en G
    </option>
    <option value="https://player.vimeo.com/video/999632980?h=008da75e2f">
      AMP Bajo 2-3-7 / Backing track en D
    </option>
    <option value="https://player.vimeo.com/video/999633142?h=dcc1113236">
      AMP Bajo 2-3-8 / Canción #4 - Fiesta en Bruges
    </option>
    <option value="https://player.vimeo.com/video/999633185?h=c7e55a5610">
      AMP Bajo 2-3-9 / Extracto: Baracunatana
    </option>
    <option value="https://player.vimeo.com/video/999633220?h=5d4d012215">
      AMP Bajo 2-3-10 / Canción #5 - Colina Govardhana
    </option>
    <option value="https://player.vimeo.com/video/999633287?h=d816462c2e">
      AMP Bajo 2-3-13 / Extracto: Lamento boliviano
    </option>
    <option value="https://player.vimeo.com/video/999633316?h=c6b53fc0ff">
      AMP Bajo 2-3-13 / Extracto: Thunderstruck
    </option>
    <option value="https://player.vimeo.com/video/999633342?h=4ec124ea9e">
      AMP Bajo 2-3-13 / Extracto: Uptown funk
    </option>
    <option value="https://player.vimeo.com/video/999633372?h=1fb0a6f25a">
      AMP Bajo 2-4-8 / Canción #6 - Acacias para ti
    </option>
    <option value="https://player.vimeo.com/video/999633846?h=80ca98e0ec">
      AMP Bajo 2-5-5 / Canción #7 - Viaje a ti
    </option>
    <option value="https://player.vimeo.com/video/999633903?h=41f091393f">
      AMP Bajo 2-5-6 / Extracto: Blue Suede Shoes (Elvis Presley)
    </option>
    <option value="https://player.vimeo.com/video/999633924?h=dfded4b7d6">
      AMP Bajo 2-5-7 / Canción #8 - Blues for Ana Caro
    </option>
    <option value="https://player.vimeo.com/video/999633979?h=a5e0fe153e">
      AMP Bajo 2-5-8 / Practica Escala Blues
    </option>
    <option value="https://player.vimeo.com/video/999634043?h=5e434d0409">
      AMP Bajo 2-6-2 / Concierto final - American country
    </option>
</select>


  <!-- Modal -->
  <div id="videoModal" class="modal">
    <div class="modal-content">
      <span class="close">&times;</span>
      <iframe id="videoIframe" src="" allowfullscreen></iframe>
    </div>
  </div>

  <script>
    // Obtener elementos
    const videoSelect = document.getElementById("videoSelect");
    const videoModal = document.getElementById("videoModal");
    const videoIframe = document.getElementById("videoIframe");
    const closeModal = document.querySelector(".close");

    // Mostrar el modal con el video seleccionado
    videoSelect.addEventListener("change", () => {
      const selectedVideo = videoSelect.value;
      if (selectedVideo) {
        videoIframe.src = selectedVideo; // Cambiar el src del iframe
        videoModal.style.display = "flex"; // Mostrar el modal
      }
    });

    // Cerrar el modal al hacer clic en la "X"
    closeModal.addEventListener("click", () => {
      videoModal.style.display = "none"; // Ocultar el modal
      videoIframe.src = ""; // Detener el video
    });

    // Cerrar el modal al hacer clic fuera del contenido
    window.addEventListener("click", (event) => {
      if (event.target === videoModal) {
        videoModal.style.display = "none"; // Ocultar el modal
        videoIframe.src = ""; // Detener el video
      }
    });
  </script>

</body>
</html>

		</div>
				</div>
				<div class="elementor-element elementor-element-6d86b3e elementor-widget__width-auto elementor-widget elementor-widget-global elementor-global-49845 elementor-widget-html" data-id="6d86b3e" data-element_type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
			<!DOCTYPE html>
<html lang="es">
<head>
  <meta charset="UTF-8">
  <title>Prueba Audio JS</title>
  <style>
    /* Contenedor que muestra botones y velocidad en la misma línea */
    .controls-container {
      display: inline-flex;      /* o "flex" si prefieres ocupar todo el ancho */
      align-items: center;       /* centra verticalmente */
      gap: 15px;                 /* espacio entre los elementos */
      margin: 30px;
    }

    /* Ajuste de estilo para los botones */
    button {
      padding: 6px 12px;
      font-size: 14px;
      cursor: pointer;
    }
  </style>
</head>
<body>
  
  <audio id="myAudio" src="https://www.ampenlinea.com/wp-content/uploads/2025/01/GPP.mp3"></audio>
  
  <!-- Contenedor para alinear en una sola línea -->
  <div class="controls-container">
    <button id="decreaseSpeedBtn">-</button>
    <button id="playPauseBtn">GPP</button>
    <button id="increaseSpeedBtn">+</button>
    <div id="speedDisplay">1.0x</div> <!-- Velocidad en la misma línea -->
  </div>
  
  <script>
    const audio = document.getElementById('myAudio');
    const playPauseBtn = document.getElementById('playPauseBtn');
    const increaseSpeedBtn = document.getElementById('increaseSpeedBtn');
    const decreaseSpeedBtn = document.getElementById('decreaseSpeedBtn');
    const speedDisplay = document.getElementById('speedDisplay');

    let isPlaying = false;

    // Actualiza el texto que muestra la velocidad
    function updateSpeedDisplay() {
      speedDisplay.textContent = `${audio.playbackRate.toFixed(1)}x`;
    }

    // Al hacer clic en el botón Reproducir/Pausar
    playPauseBtn.onclick = () => {
      if (isPlaying) {
        audio.pause();
        isPlaying = false;
        playPauseBtn.textContent = "GPP"; // Texto cuando está en pausa
      } else {
        audio.play();
        isPlaying = true;
        playPauseBtn.textContent = "Pausar"; // Texto cuando está reproduciendo
      }
    };

    // Al hacer clic en el botón de +10% Velocidad
    increaseSpeedBtn.onclick = () => {
      if (audio.playbackRate < 3.0) {
        audio.playbackRate += 0.1;
        updateSpeedDisplay();
      }
    };

    // Al hacer clic en el botón de -10% Velocidad
    decreaseSpeedBtn.onclick = () => {
      if (audio.playbackRate > 0.5) {
        audio.playbackRate -= 0.1;
        updateSpeedDisplay();
      }
    };

    // Al cargar la página
    window.onload = () => {
      updateSpeedDisplay();
    };
  </script>
</body>
</html>
		</div>
				</div>
				</div>
				<div class="elementor-element elementor-element-5a3d582 elementor-widget elementor-widget-html" data-id="5a3d582" data-element_type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
			<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Modal con Pantalla Completa</title>
    <style>
        body {
            font-family: 'Arial', sans-serif;
            background-color: #f0f0f0;
            margin: 0;
            padding: 20px;
        }

        .container {
            max-width: 1000px;
            margin: 0 auto;
            padding: 20px;
            background-color: #fff;
            box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
            border-radius: 8px;
        }

        h1 {
            text-align: center;
            margin-bottom: 20px;
        }

        .pdf-container {
            position: relative;
            width: 100%;
            height: 800px; /* Ajusta la altura según tus necesidades */
            border: 1px solid #ccc;
            border-radius: 8px;
            overflow: hidden;
        }

        .pdf-container iframe {
            width: 100%;
            height: 100%;
            border: none;
        }

        .fullscreen-btn {
            position: absolute;
            top: 3px;
            right: 10px;
            padding: 8px 12px;
            background-color: #4CAF50;
            color: white;
            border: none;
            border-radius: 4px;
            cursor: pointer;
            font-size: 14px;
            transition: background-color 0.3s;
        }

        .fullscreen-btn:hover {
            background-color: #45a049;
        }

        @media (max-width: 768px) {
            .pdf-container {
                height: 500px; /* Altura reducida para tablets */
            }
        }

        @media (max-width: 480px) {
            .pdf-container {
                height: 300px; /* Altura reducida para móviles */
            }
        }
    </style>
</head>
<body>
    <div class="container">

        <div class="pdf-container" id="pdf-container">
            <iframe 
                src="https://www.ampenlinea.com/wp-content/uploads/2025/01/Bajo-2-1-9.pdf"  
                allowfullscreen>
            </iframe>
            <button class="fullscreen-btn" id="fullscreen-btn">Pantalla Completa</button>
        </div>
    </div>

    <script>
        // Obtener referencias a los elementos
        const fullscreenBtn = document.getElementById('fullscreen-btn');
        const pdfContainer = document.getElementById('pdf-container');

        // Función para activar pantalla completa
        function toggleFullscreen() {
            if (
                document.fullscreenElement ||
                document.webkitFullscreenElement ||
                document.msFullscreenElement
            ) {
                // Salir de pantalla completa
                if (document.exitFullscreen) {
                    document.exitFullscreen();
                } else if (document.webkitExitFullscreen) { /* Safari */
                    document.webkitExitFullscreen();
                } else if (document.msExitFullscreen) { /* IE11 */
                    document.msExitFullscreen();
                }
            } else {
                // Entrar en pantalla completa
                if (pdfContainer.requestFullscreen) {
                    pdfContainer.requestFullscreen();
                } else if (pdfContainer.webkitRequestFullscreen) { /* Safari */
                    pdfContainer.webkitRequestFullscreen();
                } else if (pdfContainer.msRequestFullscreen) { /* IE11 */
                    pdfContainer.msRequestFullscreen();
                }
            }
        }

        // Evento de clic en el botón para alternar pantalla completa
        fullscreenBtn.addEventListener('click', toggleFullscreen);

        // Evento para actualizar el texto del botón según el estado de pantalla completa
        function updateFullscreenButton() {
            if (
                document.fullscreenElement === pdfContainer ||
                document.webkitFullscreenElement === pdfContainer ||
                document.msFullscreenElement === pdfContainer
            ) {
                fullscreenBtn.textContent = 'Salir de Pantalla Completa';
            } else {
                fullscreenBtn.textContent = 'Pantalla Completa';
            }
        }

        // Escuchar cambios en el estado de pantalla completa
        document.addEventListener('fullscreenchange', updateFullscreenButton);
        document.addEventListener('webkitfullscreenchange', updateFullscreenButton); // Safari
        document.addEventListener('MSFullscreenChange', updateFullscreenButton); // IE11
    </script>
</body>
</html>
		</div>
				</div>
				<div class="elementor-element elementor-element-55b18ec elementor-widget elementor-widget-template" data-id="55b18ec" data-element_type="widget" data-widget_type="template.default">
				<div class="elementor-widget-container">
					<div class="elementor-template">
					</div>
				</div>
				</div>
					</div>
				</div>
				</div>
		]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>AMA BJ 3-6-2 &#8211; Concierto final (Presentación)</title>
		<link>https://www.ampenlinea.com/courses/ama-bajo-n3-v15/lessons/ama-bj-3-6-2/</link>
		
		<dc:creator><![CDATA[Henry Giron]]></dc:creator>
		<pubDate>Fri, 24 Jan 2025 16:37:02 +0000</pubDate>
				<category><![CDATA[AMA Bajo N3]]></category>
		<guid isPermaLink="false">https://www.ampenlinea.com/?post_type=sfwd-lessons&#038;p=53955</guid>

					<description><![CDATA[Concierto Final Actividad 1) Usando en la plataforma la función &#8220;FOCUS&#8221; tocar cada parte de la canción lentamente y subir la velocidad poco a poco. 2) Tocar la canción lentamente y subir la velocidad poco a poco.]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="53955" class="elementor elementor-53955" data-elementor-post-type="sfwd-lessons">
				<div class="elementor-element elementor-element-23bc9bd e-flex e-con-boxed e-con e-parent" data-id="23bc9bd" data-element_type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-69b3a2f elementor-widget elementor-widget-shortcode" data-id="69b3a2f" data-element_type="widget" data-widget_type="shortcode.default">
				<div class="elementor-widget-container">
					<div class="elementor-shortcode"> <!DOCTYPE html>
<html lang="es">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Audio y Metrónomo</title>
  <style>
    body {
      font-family: sans-serif;
      margin: 0;
      background-color: #fafafa;
    }

    .toolbar {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 10px 15px;
      background-color: #fafafa;
      color: #333;
      border-bottom: 1px solid #ccc;
    }

    .toolbar .icons button {
      background: none;
      border: none;
      color: #333;
      font-size: 22px;
      cursor: pointer;
      margin-left: 15px;
    }

  .toolbar .icons img {
      height: 32px;
      width: 32px;
      cursor: pointer;
    }

    .modal {
      display: none;
      position: fixed;
      z-index: 1000;
      top: 0; left: 0;
      width: 100%; height: 100%;
      background-color: rgba(0, 0, 0, 0.6);
      justify-content: center;
      align-items: center;
    }

    .modal-content {
      background: #fff;
      padding: 20px;
      width: 90%;
      max-width: 480px;
      border-radius: 8px;
      position: relative;
    }

    .modal .close {
      position: absolute;
      top: 10px;
      right: 15px;
      font-size: 24px;
      cursor: pointer;
    }

    .modal iframe {
      width: 100%;
      height: 475px;
      border: none;
      border-radius: 4px;
    }

    .modal .audio-controls {
      display: flex;
      flex-direction: column;
      gap: 10px;
    }

    .modal .audio-controls audio {
      width: 100%;
    }
  </style>
</head>
<body>

  <div class="toolbar">
    <div class="logo">Herramientas AMP<img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f3b6.png" alt="🎶" class="wp-smiley" style="height: 1em; max-height: 1em;" /></div>
    <div class="icons">
      <img decoding="async" src="https://www.ampenlinea.com/wp-content/uploads/2025/06/brand-bandlab.svg" alt="Abrir Modales" onclick="abrirModal('audioModal')">
      <img decoding="async" src="https://www.ampenlinea.com/wp-content/uploads/2025/06/metronome.svg" alt="Abrir Metrónomo" onclick="abrirModal('metronomeModal')">
    
    </div>
  </div>

  <!-- MODAL AUDIO -->
  <div id="audioModal" class="modal">
    <div class="modal-content">
      <span class="close" onclick="cerrarModal('audioModal')">&times;</span>
      <h3>Selecciona un audio</h3>
      <div class="audio-controls">
        <select id="audioSelector" onchange="cambiarAudio(this.value)">
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-4213-C-Rock-Shuffle-80-bpm.mp3">GPP Rock Shuffle 80 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-4213-B-Four-on-the-floor-80-bpm.mp3">GPP Four on the floor 80 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-3411-Disco-80-bpm.mp3">GPP Disco 80 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-3212-Hard-Rock-80-bpm.mp3">GPP Hard Rock 80 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-219-8th-Note-Rock-80-bpm.mp3">GPP 8th Note Rock 80 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-4213-A-16th-Note-Rock-85-bpm.mp3">GPP 16th Note Rock A 85 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-4213-D-16th-Note-Rock-85-bpm.mp3">GPP 16th Note Rock B 85 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-5512-Basic-RB-85-bpm.mp3">GPP Basic R&B 85 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-415-Four-on-the-floor-85-bpm.mp3">GPP Four on the floor 85 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-3112-8th-Note-Rock-90-bpm.mp3">GPP 8th Note Rock A 90 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-338-8th-Note-Rock-90-bpm.mp3">GPP 8th Note Rock B 90 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-3116-Disco-100-bpm.mp3">GPP Disco 100 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-347-Bossa-Nova-100-bpm.mp3">GPP Bossa Nova 100 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-329-Soca-100-bpm.mp3">GPP 329 Soca 100 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-253-8th-Note-Rock-100-bpm.mp3">GPP 8th Note Rock 100 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-235-8th-Note-Rock-100-bpm.mp3">GPP 8th Note Rock 100 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-159-Hard-Rock-100-bpm.mp3">GPP Hard Rock 100 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-156-16th-Note-Syncopated-Kick-100-bpm.mp3">GPP 16th Note Syncopated Kick 100 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-147-Four-on-the-floor-100-bpm.mp3">GPP Four on the floor 100 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-146-Half-time-Shuffle-100-bpm.mp3">GPP Half time Shuffle 100 bpm</option>

        </select>

        <audio id="audioPlayer" controls>
          <source src="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-4213-C-Rock-Shuffle-80-bpm.mp3" type="audio/mp3">
        </audio>

        <label for="velocidadAudio">Velocidad: <span id="velocidadValor">1.00x</span></label>
        <input type="range" id="velocidadAudio" min="0.5" max="2" step="0.05" value="1" oninput="ajustarVelocidad(this.value)">
      </div>
    </div>
  </div>

  <!-- MODAL METRONOMO -->
  <div id="metronomeModal" class="modal">
    <div class="modal-content">
      <span class="close" onclick="cerrarModal('metronomeModal')">&times;</span>
      <iframe 
        src="https://guitarapp.com/metronome.html?embed=true&tempo=120&timeSignature=2&pattern=1&theme=light"
        title="Metrónomo Online">
      </iframe>
    </div>
  </div>

  <script>
    const audioPlayer = document.getElementById('audioPlayer');
    const velocidadValor = document.getElementById('velocidadValor');

    function cambiarAudio(src) {
      audioPlayer.src = src;
      audioPlayer.playbackRate = parseFloat(document.getElementById('velocidadAudio').value);
      audioPlayer.play();
    }

    function ajustarVelocidad(speed) {
      velocidadValor.textContent = parseFloat(speed).toFixed(2) + 'x';
      audioPlayer.playbackRate = parseFloat(speed);
    }

    function abrirModal(id) {
      document.getElementById(id).style.display = 'flex';
    }

    function cerrarModal(id) {
      document.getElementById(id).style.display = 'none';
    }

    window.addEventListener('click', (e) => {
      document.querySelectorAll('.modal').forEach(modal => {
        if (e.target === modal) modal.style.display = 'none';
      });
    });
  </script>

</body>
</html>
</div>
				</div>
				</div>
		<!-- dce invisible element 38fcace --><style>
  #btnShowBassFretboard {
    padding: 12px 20px;
    margin: 10px;
    font-size: 16px;
    background-color: #1a1a1a;
    color: white;
    border: none;
    border-radius: 8px;
    cursor: pointer;
  }

  .modal {
    display: none;
    position: fixed;
    z-index: 9999;
    left: 0; top: 0;
    width: 100vw; height: 100vh;
    background-color: rgba(0,0,0,0.85);
    overflow-y: auto;
    padding: 30px 10px;
    box-sizing: border-box;
  }

  .modal-content {
    background-color: #2f2f2f;
    margin: auto;
    padding: 20px;
    border-radius: 12px;
    max-width: 1000px;
    max-height: 90vh;
    overflow-y: auto;
    position: relative;
  }

  .close-btn {
    position: absolute;
    top: 12px;
    right: 15px;
    background: transparent;
    border: none;
    color: white;
    font-size: 28px;
    font-weight: bold;
    cursor: pointer;
  }

  .guitar-fretboard {
    display: grid;
    grid-template-columns: repeat(22, 48px);
    grid-template-rows: repeat(4, 42px);
    background: linear-gradient(90deg, #4a3a2f, #7a5c41);
    border-radius: 8px;
    position: relative;
    overflow-x: auto;
  }

  .fret {
    border-right: 1px solid #666;
    position: relative;
    cursor: pointer;
  }

  .fret[data-string="4"] .string-line { height: 2px; }
  .fret[data-string="3"] .string-line { height: 2.5px; }
  .fret[data-string="2"] .string-line { height: 3px; }
  .fret[data-string="1"] .string-line { height: 3.5px; }

  .string-line {
    position: absolute;
    top: 50%; left: 0; right: 0;
    background: #eee;
    transform: translateY(-50%);
  }

  .marker {
    width: 16px;
    height: 16px;
    border: 2px solid white;
    border-radius: 50%;
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
  }

  .fret-numbers {
    display: grid;
    grid-template-columns: repeat(22, 48px);
    margin-top: 8px;
    color: #fff;
    font-family: Georgia, serif;
    font-size: 14px;
    text-align: center;
  }

  .tuning-labels {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-right: 8px;
    color: white;
    font-weight: bold;
    font-family: sans-serif;
  }

  .tuning-labels div {
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
</style><style>
  #btnShowSheet {
    padding: 12px 20px;
    font-size: 18px;
    background-color: #1a1a1a;
    color: white;
    border: none;
    border-radius: 8px;
    cursor: pointer;
  }

  .modal {
    display: none;
    position: fixed;
    z-index: 9999;
    inset: 0;
    background: rgba(0, 0, 0, 0.95);
  }

  .modal-fullscreen {
    width: 100vw;
    height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 0;
    overflow: hidden;
  }

  .close-btn {
    position: absolute;
    top: 20px;
    right: 30px;
    background: transparent;
    border: none;
    font-size: 36px;
    color: #fff;
    cursor: pointer;
    z-index: 10000;
  }

  .sheet-container {
    position: relative;
    max-width: 95vw;
    max-height: 90vh;
    width: auto;
    height: auto;
    overflow: hidden;
  }

  #sheetImage {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 8px;
  }

  #drawCanvas {
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
    z-index: 10;
    pointer-events: auto;
  }
</style><div class="elementor-element elementor-element-42fe9a1 e-con-full e-flex e-con e-child" data-id="42fe9a1" data-element_type="container">
				<div class="elementor-element elementor-element-cb168b2 elementor-widget__width-initial elementor-widget elementor-widget-html" data-id="cb168b2" data-element_type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
			
<!-- &#x1f7e8; SUBTÍTULO 1 + PÁRRAFO -->
<section class="bloque-leccion">
    
  <h2>Concierto Final</h2>


 
<img decoding="async" src="https://www.ampenlinea.com/wp-content/uploads/2025/10/bj-3-6-2.png" alt="IMG 1" class="imagen-responsiva">

<br>
  
</section>



<!--&#x1f7e8; Actividad + PÁRRAFO -->
<section class="bloque-leccion">
    
<h1>Actividad</h1>
  
<p>1) Usando en la plataforma la función "FOCUS" tocar cada parte de la canción lentamente y subir la velocidad poco a poco.</p>

<p>2) Tocar la canción lentamente y subir la velocidad poco a poco.</p>

 
</section>

<!-- &#x1f3a8; ESTILO PERSONALIZADO -->
<style>
  .header-leccion {
    background-color: #f2f2f2;
    padding: 10px;
    font-size: 16px;
    text-align: center;
    border-bottom: 2px solid #ccc;
    margin-bottom: 20px;
  }

  .titulo-leccion {
    font-size: 28px;
    font-weight: bold;
    text-align: center;
    color: #b30808;
    margin-bottom: 30px;
  }

  .bloque-leccion {
    margin: 30px 0;
  }

  .bloque-leccion h3 {
    font-size: 22px;
    color: #222;
    margin-bottom: 10px;
  }

  .bloque-leccion p {
    font-size: 18px;
    line-height: 1.6;
    color: #444;
  }

  .imagen-responsiva {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 15px auto;
    border-radius: 8px;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
  }
  
.bloque-leccion {
  user-select: none;           /* Desactiva selección en navegadores modernos */
  -webkit-user-select: none;   /* Chrome/Safari */
  -moz-user-select: none;      /* Firefox */
  -ms-user-select: none;       /* Internet Explorer/Edge */
}


</style>

<script>
  // Bloquea clic derecho
  document.addEventListener('contextmenu', function (e) {
    e.preventDefault();
  });

  // Bloquea teclas como Ctrl+C, Ctrl+U, Ctrl+S, Ctrl+Shift+I (inspeccionar)
  document.addEventListener('keydown', function (e) {
    if ((e.ctrlKey && ['c', 'u', 's'].includes(e.key.toLowerCase())) ||
        (e.ctrlKey && e.shiftKey && e.key.toLowerCase() === 'i')) {
      e.preventDefault();
    }
  });
</script>

		</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-924d6c3 e-con-full e-flex e-con e-child" data-id="924d6c3" data-element_type="container">
				<div class="elementor-element elementor-element-88fa63a elementor-widget elementor-widget-shortcode" data-id="88fa63a" data-element_type="widget" data-widget_type="shortcode.default">
				<div class="elementor-widget-container">
					<div class="elementor-shortcode"><p>Debes iniciar sesión para ver este contenido.</p></div>
				</div>
				</div>
				</div>
					</div>
				</div>
				</div>
		]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>AMA BJ 3-5-6 &#8211; Amplificadores de Bajo y Efectos: Una Guía Esencial</title>
		<link>https://www.ampenlinea.com/courses/ama-bajo-n3-v15/lessons/ama-bj-3-5-6/</link>
		
		<dc:creator><![CDATA[Henry Giron]]></dc:creator>
		<pubDate>Fri, 24 Jan 2025 16:30:54 +0000</pubDate>
				<category><![CDATA[AMA Bajo N3]]></category>
		<guid isPermaLink="false">https://www.ampenlinea.com/?post_type=sfwd-lessons&#038;p=53925</guid>

					<description><![CDATA[Amplificadores de Bajo y Efectos: Una Guía Esencial Amplificadores de Bajo Los amplificadores de bajo amplifican y moldean el tono del instrumento. Hay varios tipos con características específicas: 1) Combo Amps: : Cabezal y altavoz en una unidad, portátiles y prácticos para ensayos y pequeños conciertos. 2) Cabezal y Gabinete: Unidades separadas, ideales para escenarios &#8230;<p class="read-more"> <a class="" href="https://www.ampenlinea.com/courses/ama-bajo-n3-v15/lessons/ama-bj-3-5-6/"> <span class="screen-reader-text">AMA BJ 3-5-6 &#8211; Amplificadores de Bajo y Efectos: Una Guía Esencial</span> Leer más &#187;</a></p>]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="53925" class="elementor elementor-53925" data-elementor-post-type="sfwd-lessons">
				<div class="elementor-element elementor-element-21e3b5a e-flex e-con-boxed e-con e-parent" data-id="21e3b5a" data-element_type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-da945cc elementor-widget elementor-widget-shortcode" data-id="da945cc" data-element_type="widget" data-widget_type="shortcode.default">
				<div class="elementor-widget-container">
					<div class="elementor-shortcode"> <!DOCTYPE html>
<html lang="es">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Audio y Metrónomo</title>
  <style>
    body {
      font-family: sans-serif;
      margin: 0;
      background-color: #fafafa;
    }

    .toolbar {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 10px 15px;
      background-color: #fafafa;
      color: #333;
      border-bottom: 1px solid #ccc;
    }

    .toolbar .icons button {
      background: none;
      border: none;
      color: #333;
      font-size: 22px;
      cursor: pointer;
      margin-left: 15px;
    }

  .toolbar .icons img {
      height: 32px;
      width: 32px;
      cursor: pointer;
    }

    .modal {
      display: none;
      position: fixed;
      z-index: 1000;
      top: 0; left: 0;
      width: 100%; height: 100%;
      background-color: rgba(0, 0, 0, 0.6);
      justify-content: center;
      align-items: center;
    }

    .modal-content {
      background: #fff;
      padding: 20px;
      width: 90%;
      max-width: 480px;
      border-radius: 8px;
      position: relative;
    }

    .modal .close {
      position: absolute;
      top: 10px;
      right: 15px;
      font-size: 24px;
      cursor: pointer;
    }

    .modal iframe {
      width: 100%;
      height: 475px;
      border: none;
      border-radius: 4px;
    }

    .modal .audio-controls {
      display: flex;
      flex-direction: column;
      gap: 10px;
    }

    .modal .audio-controls audio {
      width: 100%;
    }
  </style>
</head>
<body>

  <div class="toolbar">
    <div class="logo">Herramientas AMP<img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f3b6.png" alt="🎶" class="wp-smiley" style="height: 1em; max-height: 1em;" /></div>
    <div class="icons">
      <img decoding="async" src="https://www.ampenlinea.com/wp-content/uploads/2025/06/brand-bandlab.svg" alt="Abrir Modales" onclick="abrirModal('audioModal')">
      <img decoding="async" src="https://www.ampenlinea.com/wp-content/uploads/2025/06/metronome.svg" alt="Abrir Metrónomo" onclick="abrirModal('metronomeModal')">
    
    </div>
  </div>

  <!-- MODAL AUDIO -->
  <div id="audioModal" class="modal">
    <div class="modal-content">
      <span class="close" onclick="cerrarModal('audioModal')">&times;</span>
      <h3>Selecciona un audio</h3>
      <div class="audio-controls">
        <select id="audioSelector" onchange="cambiarAudio(this.value)">
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-4213-C-Rock-Shuffle-80-bpm.mp3">GPP Rock Shuffle 80 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-4213-B-Four-on-the-floor-80-bpm.mp3">GPP Four on the floor 80 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-3411-Disco-80-bpm.mp3">GPP Disco 80 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-3212-Hard-Rock-80-bpm.mp3">GPP Hard Rock 80 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-219-8th-Note-Rock-80-bpm.mp3">GPP 8th Note Rock 80 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-4213-A-16th-Note-Rock-85-bpm.mp3">GPP 16th Note Rock A 85 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-4213-D-16th-Note-Rock-85-bpm.mp3">GPP 16th Note Rock B 85 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-5512-Basic-RB-85-bpm.mp3">GPP Basic R&B 85 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-415-Four-on-the-floor-85-bpm.mp3">GPP Four on the floor 85 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-3112-8th-Note-Rock-90-bpm.mp3">GPP 8th Note Rock A 90 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-338-8th-Note-Rock-90-bpm.mp3">GPP 8th Note Rock B 90 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-3116-Disco-100-bpm.mp3">GPP Disco 100 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-347-Bossa-Nova-100-bpm.mp3">GPP Bossa Nova 100 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-329-Soca-100-bpm.mp3">GPP 329 Soca 100 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-253-8th-Note-Rock-100-bpm.mp3">GPP 8th Note Rock 100 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-235-8th-Note-Rock-100-bpm.mp3">GPP 8th Note Rock 100 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-159-Hard-Rock-100-bpm.mp3">GPP Hard Rock 100 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-156-16th-Note-Syncopated-Kick-100-bpm.mp3">GPP 16th Note Syncopated Kick 100 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-147-Four-on-the-floor-100-bpm.mp3">GPP Four on the floor 100 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-146-Half-time-Shuffle-100-bpm.mp3">GPP Half time Shuffle 100 bpm</option>

        </select>

        <audio id="audioPlayer" controls>
          <source src="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-4213-C-Rock-Shuffle-80-bpm.mp3" type="audio/mp3">
        </audio>

        <label for="velocidadAudio">Velocidad: <span id="velocidadValor">1.00x</span></label>
        <input type="range" id="velocidadAudio" min="0.5" max="2" step="0.05" value="1" oninput="ajustarVelocidad(this.value)">
      </div>
    </div>
  </div>

  <!-- MODAL METRONOMO -->
  <div id="metronomeModal" class="modal">
    <div class="modal-content">
      <span class="close" onclick="cerrarModal('metronomeModal')">&times;</span>
      <iframe 
        src="https://guitarapp.com/metronome.html?embed=true&tempo=120&timeSignature=2&pattern=1&theme=light"
        title="Metrónomo Online">
      </iframe>
    </div>
  </div>

  <script>
    const audioPlayer = document.getElementById('audioPlayer');
    const velocidadValor = document.getElementById('velocidadValor');

    function cambiarAudio(src) {
      audioPlayer.src = src;
      audioPlayer.playbackRate = parseFloat(document.getElementById('velocidadAudio').value);
      audioPlayer.play();
    }

    function ajustarVelocidad(speed) {
      velocidadValor.textContent = parseFloat(speed).toFixed(2) + 'x';
      audioPlayer.playbackRate = parseFloat(speed);
    }

    function abrirModal(id) {
      document.getElementById(id).style.display = 'flex';
    }

    function cerrarModal(id) {
      document.getElementById(id).style.display = 'none';
    }

    window.addEventListener('click', (e) => {
      document.querySelectorAll('.modal').forEach(modal => {
        if (e.target === modal) modal.style.display = 'none';
      });
    });
  </script>

</body>
</html>
</div>
				</div>
				</div>
		<!-- dce invisible element b1f8449 --><style>
  #btnShowBassFretboard {
    padding: 12px 20px;
    margin: 10px;
    font-size: 16px;
    background-color: #1a1a1a;
    color: white;
    border: none;
    border-radius: 8px;
    cursor: pointer;
  }

  .modal {
    display: none;
    position: fixed;
    z-index: 9999;
    left: 0; top: 0;
    width: 100vw; height: 100vh;
    background-color: rgba(0,0,0,0.85);
    overflow-y: auto;
    padding: 30px 10px;
    box-sizing: border-box;
  }

  .modal-content {
    background-color: #2f2f2f;
    margin: auto;
    padding: 20px;
    border-radius: 12px;
    max-width: 1000px;
    max-height: 90vh;
    overflow-y: auto;
    position: relative;
  }

  .close-btn {
    position: absolute;
    top: 12px;
    right: 15px;
    background: transparent;
    border: none;
    color: white;
    font-size: 28px;
    font-weight: bold;
    cursor: pointer;
  }

  .guitar-fretboard {
    display: grid;
    grid-template-columns: repeat(22, 48px);
    grid-template-rows: repeat(4, 42px);
    background: linear-gradient(90deg, #4a3a2f, #7a5c41);
    border-radius: 8px;
    position: relative;
    overflow-x: auto;
  }

  .fret {
    border-right: 1px solid #666;
    position: relative;
    cursor: pointer;
  }

  .fret[data-string="4"] .string-line { height: 2px; }
  .fret[data-string="3"] .string-line { height: 2.5px; }
  .fret[data-string="2"] .string-line { height: 3px; }
  .fret[data-string="1"] .string-line { height: 3.5px; }

  .string-line {
    position: absolute;
    top: 50%; left: 0; right: 0;
    background: #eee;
    transform: translateY(-50%);
  }

  .marker {
    width: 16px;
    height: 16px;
    border: 2px solid white;
    border-radius: 50%;
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
  }

  .fret-numbers {
    display: grid;
    grid-template-columns: repeat(22, 48px);
    margin-top: 8px;
    color: #fff;
    font-family: Georgia, serif;
    font-size: 14px;
    text-align: center;
  }

  .tuning-labels {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-right: 8px;
    color: white;
    font-weight: bold;
    font-family: sans-serif;
  }

  .tuning-labels div {
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
</style><style>
  #btnShowSheet {
    padding: 12px 20px;
    font-size: 18px;
    background-color: #1a1a1a;
    color: white;
    border: none;
    border-radius: 8px;
    cursor: pointer;
  }

  .modal {
    display: none;
    position: fixed;
    z-index: 9999;
    inset: 0;
    background: rgba(0, 0, 0, 0.95);
  }

  .modal-fullscreen {
    width: 100vw;
    height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 0;
    overflow: hidden;
  }

  .close-btn {
    position: absolute;
    top: 20px;
    right: 30px;
    background: transparent;
    border: none;
    font-size: 36px;
    color: #fff;
    cursor: pointer;
    z-index: 10000;
  }

  .sheet-container {
    position: relative;
    max-width: 95vw;
    max-height: 90vh;
    width: auto;
    height: auto;
    overflow: hidden;
  }

  #sheetImage {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 8px;
  }

  #drawCanvas {
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
    z-index: 10;
    pointer-events: auto;
  }
</style><div class="elementor-element elementor-element-f583eb6 e-con-full e-flex e-con e-child" data-id="f583eb6" data-element_type="container">
				<div class="elementor-element elementor-element-77bde22 elementor-widget__width-initial elementor-widget elementor-widget-html" data-id="77bde22" data-element_type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
			
<!-- &#x1f7e8; SUBTÍTULO 1 + PÁRRAFO -->
<section class="bloque-leccion">


<h2>Amplificadores de Bajo y Efectos: Una Guía Esencial</h2> 

<br>

<h2>Amplificadores de Bajo</h2> 


<p>Los amplificadores de bajo amplifican y moldean el tono del instrumento. Hay varios tipos con características específicas:</p>


<p><b>1) Combo Amps: </b>: Cabezal y altavoz en una unidad, portátiles y prácticos para ensayos y pequeños conciertos.</p>


<p><b>2) Cabezal y Gabinete:</b> Unidades separadas, ideales para escenarios grandes y configuraciones profesionales. </p>


<p><b>3) Amps a Válvulas:</b> Sonido cálido y natural, pero más pesados y requieren más mantenimiento.</p>


<p><b>4) Amps de Estado Sólido:</b>  Ligeros, confiables y de sonido limpio, con menos mantenimiento.</p>


<p><b>5) Amps Híbridos: </b>  Combinan válvulas y estado sólido, aprovechando lo mejor de ambos.</p>

<br>

<p><b>Consideraciones al elegir un amplificador</b>.</p>

<p><b>Potencia:</b> 50-100 watts para ensayos; 200+ watts para conciertos.</p>

<p><b>Tamaño del Altavoz:</b> 15 pulgadas para más graves; 10-12 pulgadas para respuesta rápida y definida.</p>

<p><b>Controles de EQ:</b> Ajustes de graves, medios y agudos para personalizar el tono.</p>

<br>


<h2>Efectos para Bajo</h2> 


<p><b>Compresor:</b> Mejora la consistencia y el sustain.</p>
<p><b>Overdrive/Distorsión:</b> Añade agresividad, ideal para rock y metal.</p>
<p><b>Chorus:</b> Añade profundidad mediante modulación.</p>
<p><b>Delay:</b> Crea ecos con retraso.</p>
<p><b>Octavador:</b> Añade una octava por encima o por debajo.</p>
<p><b>Envelope Filter:</b> Modifica el tono según la intensidad, común en funk y electrónica.</p>
<br>

<p><b>Consejos para usar efectos.</b> </p>


<p><b>Experimenta:</b> Prueba combinaciones para encontrar tu sonido único.</p>
<p><b>Menos es más:</b> Usa efectos con moderación.</p>
<p><b>Configura tu cadena:</b> El orden de los efectos afecta el sonido; experimenta para encontrar la mejor configuración.</p> 

<br>

<p>Comprender y utilizar amplificadores y efectos de bajo te permitirá expandir tu creatividad y adaptarte a cualquier situación musical. Explora las opciones disponibles, experimenta con configuraciones y desarrolla un sonido que refleje tu estilo único.</p>

<br>

<p>¡Sigue practicando y explorando para desarrollar tu estilo único!</p>
  
</section>



<!--&#x1f7e8; Actividad + PÁRRAFO -->
<section class="bloque-leccion">
    
<h1>Actividad</h1>
  
<p> </p>

</section>

<!-- &#x1f3a8; ESTILO PERSONALIZADO -->
<style>
  .header-leccion {
    background-color: #f2f2f2;
    padding: 10px;
    font-size: 16px;
    text-align: center;
    border-bottom: 2px solid #ccc;
    margin-bottom: 20px;
  }

  .titulo-leccion {
    font-size: 28px;
    font-weight: bold;
    text-align: center;
    color: #b30808;
    margin-bottom: 30px;
  }

  .bloque-leccion {
    margin: 30px 0;
  }

  .bloque-leccion h3 {
    font-size: 22px;
    color: #222;
    margin-bottom: 10px;
  }

  .bloque-leccion p {
    font-size: 18px;
    line-height: 1.6;
    color: #444;
  }

  .imagen-responsiva {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 15px auto;
    border-radius: 8px;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
  }
  
.bloque-leccion {
  user-select: none;           /* Desactiva selección en navegadores modernos */
  -webkit-user-select: none;   /* Chrome/Safari */
  -moz-user-select: none;      /* Firefox */
  -ms-user-select: none;       /* Internet Explorer/Edge */
}


</style>

<script>
  // Bloquea clic derecho
  document.addEventListener('contextmenu', function (e) {
    e.preventDefault();
  });

  // Bloquea teclas como Ctrl+C, Ctrl+U, Ctrl+S, Ctrl+Shift+I (inspeccionar)
  document.addEventListener('keydown', function (e) {
    if ((e.ctrlKey && ['c', 'u', 's'].includes(e.key.toLowerCase())) ||
        (e.ctrlKey && e.shiftKey && e.key.toLowerCase() === 'i')) {
      e.preventDefault();
    }
  });
</script>

		</div>
				</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-4547ddc e-flex e-con-boxed e-con e-parent" data-id="4547ddc" data-element_type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-b239a65 elementor-widget elementor-widget-shortcode" data-id="b239a65" data-element_type="widget" data-widget_type="shortcode.default">
				<div class="elementor-widget-container">
					<div class="elementor-shortcode"><!doctype html>
<html lang="es">
<head>
<meta charset="utf-8" />
<style>
  :root { --bg:#fff; --card:#f5f5f5; --txt:#000; --muted:#444; --acc:#00ffd0; }
  .pedal-wrap{max-width:980px;margin:40px auto;padding:20px;font-family:Inter,system-ui,Segoe UI,Roboto,Arial;background:var(--bg);color:var(--txt);}
  .card{background:var(--card);border-radius:18px;box-shadow:0 4px 12px rgba(0,0,0,.1);padding:20px;}
  .row{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-start}
  select,button,input[type="range"],input[type="checkbox"],input[type="number"]{
    border:none;border-radius:12px;background:#e9e9e9;color:var(--txt);padding:12px 14px;font-size:14px;
  }
  button{font-weight:700;cursor:pointer;background:var(--acc);color:#000}
  .audio{width:100%;margin:10px 0 20px;border-radius:12px;background:#ddd}
  .ctrl{flex:1 1 230px;background:#fafafa;border-radius:14px;padding:14px;min-width:230px;border:1px solid #ddd}
  .ctrl h3{margin:0 0 8px;font-size:15px;color:#111}
  .ctrl label{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted);margin:10px 0 2px}
  .ctrl output{font-variant-numeric:tabular-nums;color:#000}
  input[type="range"]{width:100%;height:6px;background:#ccc;outline:none;padding:0}
  .notice{font-size:13px;color:#c00;background:#ffecec;border:1px solid #f3c2c2;padding:10px;border-radius:10px;margin:0 0 12px}
  .kv{display:flex;align-items:center;gap:8px}
  .subtle{color:#666;font-size:12px}
  .pill{display:inline-flex;align-items:center;gap:8px;background:#e9e9e9;border-radius:999px;padding:8px 12px}
  .hidden{display:none}
</style>
</head>
<body>
<div class="pedal-wrap">
  <div class="card">
    <h2 style="margin-top:0">Pedales de Bajo AMP</h2>

    
    <audio id="player" class="audio" controls  crossorigin="anonymous">
              <source src="https://www.ampenlinea.com/wp-content/uploads/2025/10/Homemade-bass-guitar-and-pickup.-Clean-sound-test.mp3" type="audio/mpeg">
          </audio>

    <div class="row" style="margin-bottom:12px">
      <select id="preset" aria-label="Seleccionar pedal">
        <option value="clean">Clean</option>
        <option value="overdrive" selected>Overdrive</option>
        <option value="chorus">Chorus</option>
        <option value="fuzz">Fuzz</option>
        <option value="lofi">Lo-Fi</option>
        <option value="compressor">Compressor</option>
        <option value="autowah">Auto-Wah</option>
        <option value="delay">Delay</option>
        <option value="octaver">Octaver</option>
        <option value="reverb">Reverb</option>
      </select>

      <button id="start" >Conectar audio</button>

      <span class="pill">
        <input type="checkbox" id="cabOn" checked />
        <label for="cabOn" style="padding:0;background:transparent">Cabinet IR</label>
      </span>
      <div class="kv">
        <label class="subtle">Cab Mix <output id="cabVal">1.00</output></label>
        <input id="cabMix" type="range" min="0" max="1" step="0.01" value="1" >
      </div>
    </div>

    <!-- Controles genéricos (rápidos) -->
    <div class="row">
      <div class="ctrl">
        <h3 id="p1Title">Drive / Param 1</h3>
        <label>Valor <output id="p1Val">0.55</output></label>
        <input id="p1" type="range" min="0" max="1" step="0.01" value="0.55">
      </div>
      <div class="ctrl">
        <h3 id="p2Title">Output / Param 2</h3>
        <label>Valor <output id="p2Val">0.95</output></label>
        <input id="p2" type="range" min="0" max="1.5" step="0.01" value="0.95">
      </div>
      <div class="ctrl">
        <h3 id="mixTitle">Mix</h3>
        <label>Valor <output id="mixVal">0.35</output></label>
        <input id="mix" type="range" min="0" max="1" step="0.01" value="0.35">
      </div>
    </div>

    <!-- Panel COMPRESSOR -->
    <div id="panel-comp" class="row hidden">
      <div class="ctrl"><h3>Threshold</h3>
        <label><output id="cmpThVal">-24 dB</output></label>
        <input id="cmpTh" type="range" min="-60" max="0" step="1" value="-24">
      </div>
      <div class="ctrl"><h3>Ratio</h3>
        <label><output id="cmpRaVal">4.0 : 1</output></label>
        <input id="cmpRa" type="range" min="1" max="20" step="0.1" value="4">
      </div>
      <div class="ctrl"><h3>Attack</h3>
        <label><output id="cmpAtVal">0.01 s</output></label>
        <input id="cmpAt" type="range" min="0" max="0.2" step="0.001" value="0.01">
      </div>
      <div class="ctrl"><h3>Release</h3>
        <label><output id="cmpRlVal">0.10 s</output></label>
        <input id="cmpRl" type="range" min="0" max="1" step="0.005" value="0.10">
      </div>
      <div class="ctrl"><h3>Makeup</h3>
        <label><output id="cmpMkVal">1.00×</output></label>
        <input id="cmpMk" type="range" min="0" max="2" step="0.01" value="1.0">
      </div>
    </div>

    <!-- Panel DELAY -->
    <div id="panel-delay" class="row hidden">
      <div class="ctrl"><h3>BPM / Tap</h3>
        <div class="kv" style="gap:10px">
          <input id="bpm" type="number" min="20" max="300" step="1" value="120" style="width:110px">
          <button id="tap">Tap</button>
        </div>
        <p class="subtle">Pulsa 3-5 veces “Tap” para detectar tempo.</p>
      </div>
      <div class="ctrl"><h3>Sync y Subdivisión</h3>
        <div class="kv" style="gap:10px">
          <label class="pill"><input type="checkbox" id="sync" checked> Sync a BPM</label>
          <select id="subdiv">
            <option value="1">1/1</option>
            <option value="0.5">1/2</option>
            <option value="0.25" selected>1/4</option>
            <option value="0.125">1/8</option>
            <option value="0.1875">1/8.</option>
            <option value="0.1667">1/8T</option>
            <option value="0.0625">1/16</option>
            <option value="0.09375">1/16.</option>
            <option value="0.0833">1/16T</option>
          </select>
        </div>
        <p class="subtle">Si Sync está apagado, el tiempo se toma de “Param 1”.</p>
      </div>
      <div class="ctrl"><h3>Feedback</h3>
        <label><output id="fbVal">0.35</output></label>
        <input id="feedback" type="range" min="0" max="0.9" step="0.01" value="0.35">
      </div>
    </div>

    <!-- Panel OCTAVER -->
    <div id="panel-oct" class="row hidden">
      <div class="ctrl"><h3>Sub 1</h3>
        <label><output id="sub1Val">0.70</output></label>
        <input id="sub1" type="range" min="0" max="1" step="0.01" value="0.70">
      </div>
      <div class="ctrl"><h3>Sub 2</h3>
        <label><output id="sub2Val">0.00</output></label>
        <input id="sub2" type="range" min="0" max="1" step="0.01" value="0.00">
      </div>
      <div class="ctrl"><h3>Tone (LPF Hz)</h3>
        <label><output id="octToneVal">2000</output></label>
        <input id="octTone" type="range" min="200" max="4000" step="10" value="2000">
      </div>
    </div>

    <!-- Panel REVERB -->
    <div id="panel-rev" class="row hidden">
      <div class="ctrl"><h3>Size</h3>
        <label><output id="rvSizeVal">0.50</output></label>
        <input id="rvSize" type="range" min="0" max="1" step="0.01" value="0.50">
      </div>
      <div class="ctrl"><h3>Damping</h3>
        <label><output id="rvDampVal">0.50</output></label>
        <input id="rvDamp" type="range" min="0" max="1" step="0.01" value="0.50">
      </div>
      <div class="ctrl"><h3>Pre-Delay (s)</h3>
        <label><output id="rvPreVal">0.02</output></label>
        <input id="rvPre" type="range" min="0" max="0.1" step="0.001" value="0.02">
      </div>
      <div class="ctrl"><h3>Color (LPF Hz)</h3>
        <label><output id="rvLPFVal">8000</output></label>
        <input id="rvLPF" type="range" min="1000" max="12000" step="100" value="8000">
      </div>
    </div>

      </div>
</div>

<script>
(() => {
  const IR_URL = "https:\/\/www.ampenlinea.com\/wp-content\/uploads\/2025\/10\/ML-Sound-Labs-BEST-IR-IN-THE-WORLD.wav";

  let ctx, src, chain = {};
  let convBuffer = null;

  const player   = document.getElementById('player');
  const presetEl = document.getElementById('preset');
  const startBtn = document.getElementById('start');
  const cabOn    = document.getElementById('cabOn');
  const cabMixEl = document.getElementById('cabMix'); const cabVal = document.getElementById('cabVal');

  // genéricos
  const p1 = document.getElementById('p1'), p1Val=document.getElementById('p1Val'), p1Title=document.getElementById('p1Title');
  const p2 = document.getElementById('p2'), p2Val=document.getElementById('p2Val'), p2Title=document.getElementById('p2Title');
  const mix = document.getElementById('mix'), mixVal=document.getElementById('mixVal'), mixTitle=document.getElementById('mixTitle');

  // comp
  const cmpTh = document.getElementById('cmpTh'), cmpThVal=document.getElementById('cmpThVal');
  const cmpRa = document.getElementById('cmpRa'), cmpRaVal=document.getElementById('cmpRaVal');
  const cmpAt = document.getElementById('cmpAt'), cmpAtVal=document.getElementById('cmpAtVal');
  const cmpRl = document.getElementById('cmpRl'), cmpRlVal=document.getElementById('cmpRlVal');
  const cmpMk = document.getElementById('cmpMk'), cmpMkVal=document.getElementById('cmpMkVal');

  // delay
  const bpmEl = document.getElementById('bpm');
  const tapBtn = document.getElementById('tap');
  const syncEl = document.getElementById('sync');
  const subdivEl = document.getElementById('subdiv');
  const feedbackEl = document.getElementById('feedback'); const fbVal=document.getElementById('fbVal');
  let tapTimes = [];

  // octaver
  const sub1 = document.getElementById('sub1'), sub1Val=document.getElementById('sub1Val');
  const sub2 = document.getElementById('sub2'), sub2Val=document.getElementById('sub2Val');
  const octTone = document.getElementById('octTone'), octToneVal=document.getElementById('octToneVal');

  // reverb
  const rvSize = document.getElementById('rvSize'), rvSizeVal=document.getElementById('rvSizeVal');
  const rvDamp = document.getElementById('rvDamp'), rvDampVal=document.getElementById('rvDampVal');
  const rvPre  = document.getElementById('rvPre'), rvPreVal=document.getElementById('rvPreVal');
  const rvLPF  = document.getElementById('rvLPF'), rvLPFVal=document.getElementById('rvLPFVal');

  // Panels
  const panelComp = document.getElementById('panel-comp');
  const panelDelay = document.getElementById('panel-delay');
  const panelOct = document.getElementById('panel-oct');
  const panelRev = document.getElementById('panel-rev');

  function fmt(v, suffix=''){ return (typeof v === 'number' ? v : +v).toFixed( (Math.abs(v)>=10)?2:2) + suffix; }

  async function loadIR() {
    if (!IR_URL) return;
    try {
      const res = await fetch(IR_URL, {cache:'force-cache'});
      const ab  = await res.arrayBuffer();
      convBuffer = await ctx.decodeAudioData(ab);
    } catch(e) { console.warn('No se pudo cargar el IR:', e); }
  }

  function makeCurve(amount=0.5) {
    const n=1024, curve=new Float32Array(n); const k=amount*100;
    for(let i=0;i<n;i++){const x=(i*2/n)-1; curve[i]=(1+k)*x/(1+k*Math.abs(x));}
    return curve;
  }

  function buildChorus(context,time=0.02,depth=0.003,rate=0.8){
    const input=context.createGain();
    const split=context.createChannelSplitter(2);
    const merge=context.createChannelMerger(2);
    const delayL=context.createDelay(0.05),delayR=context.createDelay(0.05);
    delayL.delayTime.value=time-depth; delayR.delayTime.value=time+depth;
    const lfo=context.createOscillator(),lfoGain=context.createGain();
    lfo.type='sine'; lfo.frequency.value=rate; lfoGain.gain.value=depth;
    lfo.connect(lfoGain); lfoGain.connect(delayL.delayTime); lfoGain.connect(delayR.delayTime); lfo.start();
    input.connect(split); split.connect(delayL,0); split.connect(delayR,1);
    delayL.connect(merge,0,0); delayR.connect(merge,0,1);
    return {input,output:merge,nodes:[input,split,delayL,delayR,lfo,lfoGain,merge]};
  }

  // Auto-Wah con follower simple (Analyser)
  function buildAutoWah(context, sens=0.6, q=10) {
    const input = context.createGain();
    const lp = context.createBiquadFilter(); lp.type='lowpass'; lp.frequency.value=250; lp.Q.value=q;
    input.connect(lp);

    const analyser = context.createAnalyser(); analyser.fftSize=256;
    const detector = context.createGain(); detector.gain.value=1.0;
    input.connect(detector); detector.connect(analyser);

    function tick(){
      const arr = new Uint8Array(analyser.frequencyBinCount);
      analyser.getByteTimeDomainData(arr);
      let sum=0; for (let i=0;i<arr.length;i++){ const v=(arr[i]-128)/128; sum+=Math.abs(v); }
      const env = sum/arr.length; // 0..1
      const base = 200 + env * (1200 * sens + 400);
      lp.frequency.setTargetAtTime(base, context.currentTime, 0.015);
      requestAnimationFrame(tick);
    }
    tick();

    return { input, output: lp, nodes:[input, lp, analyser, detector] };
  }

  // Delay con feedback y mix interno
  function buildDelay(context, time=0.35, feedback=0.35, mix=0.35) {
    const input = context.createGain();
    const dry = context.createGain(); dry.gain.value = 1 - mix;
    const wet = context.createGain(); wet.gain.value = mix;
    const delay = context.createDelay(2.0); delay.delayTime.value = time;
    const fb = context.createGain(); fb.gain.value = feedback;

    input.connect(dry);
    input.connect(delay);
    delay.connect(fb);
    fb.connect(delay);
    delay.connect(wet);

    const output = context.createGain();
    dry.connect(output);
    wet.connect(output);

    return { input, output, delay, fb, mixNode: wet, nodes:[input, dry, wet, delay, fb, output] };
  }

  // Octaver (aprox sub-armónico por rectificación + LPF)
  function buildOctaver(context, sub1Amt=0.7, sub2Amt=0.0, toneHz=2000) {
    const input = context.createGain();
    const split = context.createGain(); input.connect(split);

    // Rectificador (aprox abs)
    const rect = context.createWaveShaper();
    const curve = new Float32Array(65536);
    for (let i=0;i<65536;i++){ const x=(i-32768)/32768; curve[i]=Math.abs(x); }
    rect.curve = curve;

    const sub1 = context.createBiquadFilter(); sub1.type='lowpass'; sub1.frequency.value = Math.max(150, toneHz * 0.7);
    const sub2 = context.createBiquadFilter(); sub2.type='lowpass'; sub2.frequency.value = Math.max(120, toneHz * 0.5);

    const s1Gain = context.createGain(); s1Gain.gain.value = sub1Amt;
    const s2Gain = context.createGain(); s2Gain.gain.value = sub2Amt;
    const dry = context.createGain(); dry.gain.value = 1 - Math.min(1, sub1Amt + sub2Amt * 0.8);

    split.connect(dry);
    split.connect(rect);
    rect.connect(sub1); sub1.connect(s1Gain);
    rect.connect(sub2); sub2.connect(s2Gain);

    const sum = context.createGain();
    dry.connect(sum); s1Gain.connect(sum); s2Gain.connect(sum);

    return { input, output: sum, nodes:[input, split, rect, sub1, sub2, s1Gain, s2Gain, dry, sum] };
  }

  // Reverb algorítmica (Schroeder-like)
  function buildReverb(context, size=0.5, damping=0.5, preDelay=0.02, lpfHz=8000, mix=0.35) {
    const input = context.createGain();
    const dry = context.createGain(); dry.gain.value = 1 - mix;
    const wet = context.createGain(); wet.gain.value = mix;

    const pre = context.createDelay(0.2); pre.delayTime.value = preDelay;

    // 4 combs
    const combTimes = [0.0297, 0.0371, 0.0411, 0.0437].map(t => t * (0.6 + size*0.8));
    const combs = combTimes.map(t => {
      const d = context.createDelay(1.0); d.delayTime.value = t;
      const fb = context.createGain(); fb.gain.value = 0.7 + size*0.25;
      const lp = context.createBiquadFilter(); lp.type='lowpass'; lp.frequency.value = 3000 + (lpfHz-3000)*0.5;
      pre.connect(d); d.connect(lp); lp.connect(fb); fb.connect(d);
      return {d, fb, lp};
    });

    // 2 allpass
    function allpassNode(delayTime, gainVal){
      const split = context.createGain();
      const delay = context.createDelay(1.0); delay.delayTime.value = delayTime;
      const g = context.createGain(); g.gain.value = gainVal;
      const sum = context.createGain();
      // estructura allpass
      split.connect(delay);
      delay.connect(g);
      g.connect(sum);
      split.connect(sum);
      g.connect(split);
      return {input: split, output: sum, nodes:[split, delay, g, sum]};
    }
    const ap1 = allpassNode(0.005, 0.7);
    const ap2 = allpassNode(0.0017, 0.7);

    const lpfOut = context.createBiquadFilter(); lpfOut.type='lowpass'; lpfOut.frequency.value = lpfHz;

    input.connect(dry);
    input.connect(pre);
    combs.forEach(c => c.d.connect(ap1.input));
    ap1.output.connect(ap2.input);
    ap2.output.connect(lpfOut);
    lpfOut.connect(wet);

    const out = context.createGain();
    dry.connect(out); wet.connect(out);

    // damping
    combs.forEach(c => c.lp.frequency.value = 2000 + (lpfHz-2000)*damping);

    return { input, output: out, nodes:[input, dry, wet, pre, lpfOut, out, ...combs.flatMap(c=>[c.d,c.fb,c.lp]), ...ap1.nodes, ...ap2.nodes] };
  }

  function disconnectChain(){ if(!ctx||!chain.nodes) return; chain.nodes.forEach(n=>{try{n.disconnect();}catch(e){}}); chain={}; }

  function setTitles(preset){
    const map = {
      overdrive: ['Drive', 'Output', 'Mix'],
      fuzz: ['Drive (Pre)', 'Output', 'Mix'],
      chorus: ['Depth', 'Output', 'Mix'],
      lofi: ['Bits', 'Output', 'Mix'],
      compressor: ['(usando panel)', 'Makeup', 'Mix'],
      autowah: ['Sensitivity', 'Resonance (Q)', 'Mix'],
      delay: ['Time (s)', 'Feedback', 'Mix'],
      octaver: ['(usa panel)', 'Output', 'Mix'],
      reverb: ['(usa panel)', 'Output', 'Mix'],
      clean: ['Gain', 'Output', 'Mix']
    };
    const t = map[preset] || map.clean;
    p1Title.textContent = t[0]; p2Title.textContent = t[1]; mixTitle.textContent = t[2];
  }

  function showPanelFor(preset){
    panelComp.classList.add('hidden');
    panelDelay.classList.add('hidden');
    panelOct.classList.add('hidden');
    panelRev.classList.add('hidden');
    if (preset === 'compressor') panelComp.classList.remove('hidden');
    if (preset === 'delay') panelDelay.classList.remove('hidden');
    if (preset === 'octaver') panelOct.classList.remove('hidden');
    if (preset === 'reverb') panelRev.classList.remove('hidden');
  }

  function buildChain(preset){
    disconnectChain();
    const nodes=[];
    const input=ctx.createGain(); nodes.push(input);
    let last=input;

    if (preset === 'overdrive') {
      const sh=ctx.createWaveShaper(); sh.curve=makeCurve(+p1.value); sh.oversample='4x'; nodes.push(sh);
      last.connect(sh); last=sh;

    } else if (preset === 'fuzz') {
      const pre=ctx.createGain(); pre.gain.value=2+(+p1.value*4); nodes.push(pre);
      const sh=ctx.createWaveShaper(); sh.curve=makeCurve(0.9); sh.oversample='4x'; nodes.push(sh);
      last.connect(pre); pre.connect(sh); last=sh;

    } else if (preset === 'chorus') {
      const {input:chIn,output:chOut,nodes:chNodes}=buildChorus(ctx,0.015 + (+p1.value*0.03), +mix.value*0.006, 0.6 + (+p1.value));
      nodes.push(...chNodes); last.connect(chIn); last=chOut;

    } else if (preset === 'lofi') {
      const bits=16-Math.round(+p1.value*12);const norm=Math.pow(2,bits)-1;
      const curve=new Float32Array(65536);
      for(let i=0;i<65536;i++){const x=(i-32768)/32768;curve[i]=Math.round(x*norm)/norm;}
      const bc=ctx.createWaveShaper(); bc.curve=curve; nodes.push(bc);
      last.connect(bc); last=bc;

    } else if (preset === 'compressor') {
      const comp = ctx.createDynamicsCompressor();
      comp.threshold.value = +cmpTh.value;
      comp.ratio.value = +cmpRa.value;
      comp.knee.value = 8;
      comp.attack = +cmpAt.value;
      comp.release = +cmpRl.value;
      nodes.push(comp);
      last.connect(comp); last=comp;

    } else if (preset === 'autowah') {
      const q = 2 + Math.round(+p2.value*18);
      const aw = buildAutoWah(ctx, +p1.value, q);
      nodes.push(...aw.nodes); last.connect(aw.input); last=aw.output;

    } else if (preset === 'delay') {
      let time = +p1.value; // modo libre por si sync off
      if (syncEl.checked) {
        const bpm = Math.max(20, Math.min(300, +bpmEl.value || 120));
        const frac = parseFloat(subdivEl.value);
        time = (60 / bpm) * frac; // negra = 1/4 => frac=0.25
      }
      const fbk = +feedbackEl.value;
      const d = buildDelay(ctx, time, fbk, +mix.value);
      nodes.push(...d.nodes); last.connect(d.input); last=d.output;

    } else if (preset === 'octaver') {
      const o = buildOctaver(ctx, +sub1.value, +sub2.value, +octTone.value);
      nodes.push(...o.nodes); last.connect(o.input); last=o.output;

    } else if (preset === 'reverb') {
      const r = buildReverb(ctx, +rvSize.value, +rvDamp.value, +rvPre.value, +rvLPF.value, +mix.value);
      nodes.push(...r.nodes); last.connect(r.input); last=r.output;

    }

    // Mezcla genérica (para efectos sin mezcla interna)
    if (!['delay','reverb'].includes(preset)) {
      const wet=ctx.createGain(); wet.gain.value=+mix.value; nodes.push(wet);
      const dry=ctx.createGain(); dry.gain.value=1-(+mix.value); nodes.push(dry);
      const sum=ctx.createGain(); nodes.push(sum);
      input.connect(dry); last.connect(wet);
      dry.connect(sum); wet.connect(sum);
      last = sum;
    }

    // Output / Makeup
    const outGain=ctx.createGain();
    const outVal = (preset==='compressor') ? (+cmpMk.value) : (+p2.value);
    outGain.gain.value = outVal;
    nodes.push(outGain); last.connect(outGain); last = outGain;

    // Cabinet IR post
    if (IR_URL && convBuffer && cabOn && cabOn.checked) {
      const preCab = ctx.createGain(); nodes.push(preCab);
      const conv = ctx.createConvolver(); conv.buffer = convBuffer; nodes.push(conv);
      const cabWet = ctx.createGain(); cabWet.gain.value = +cabMixEl.value; nodes.push(cabWet);
      const cabDry = ctx.createGain(); cabDry.gain.value = 1 - (+cabMixEl.value); nodes.push(cabDry);
      const cabSum = ctx.createGain(); nodes.push(cabSum);

      last.connect(preCab);
      preCab.connect(conv); conv.connect(cabWet);
      preCab.connect(cabDry);
      cabDry.connect(cabSum); cabWet.connect(cabSum);
      last = cabSum;
    }

    last.connect(ctx.destination);
    chain = { input, output: last, nodes };
    if (src) src.connect(input);
  }

  function ensureContext(){
    if (!ctx) {
      ctx = new (window.AudioContext || window.webkitAudioContext)();
      src = ctx.createMediaElementSource(player);
    }
  }

  function refreshTitles(){ setTitles(presetEl.value); showPanelFor(presetEl.value); }

  async function startAudio(){
    ensureContext();
    await ctx.resume();
    if (IR_URL && !convBuffer) { await loadIR(); }
    buildChain(presetEl.value);
    startBtn.disabled = true;
    startBtn.textContent = 'Conectado &#x2705;';
  }

  // Tap tempo
  function onTap(){
    const now = performance.now();
    tapTimes.push(now);
    if (tapTimes.length > 6) tapTimes.shift();
    if (tapTimes.length >= 3) {
      let intervals = [];
      for (let i=1;i<tapTimes.length;i++) intervals.push(tapTimes[i]-tapTimes[i-1]);
      const avg = intervals.reduce((a,b)=>a+b,0)/intervals.length;
      const bpm = Math.max(20, Math.min(300, 60000/avg));
      bpmEl.value = Math.round(bpm);
      if (ctx && presetEl.value==='delay' && syncEl.checked) buildChain('delay');
    }
  }

  // UI bindings
  if (startBtn) startBtn.addEventListener('click', startAudio);
  if (presetEl) presetEl.addEventListener('change', ()=>{ if(!ctx) {refreshTitles(); return;} refreshTitles(); buildChain(presetEl.value); });

  // gen sliders
  function bindSlider(el, out, suffix='', cb){
    const render=()=>{ out.textContent = (suffix===' dB') ? (parseFloat(el.value).toFixed(0)+suffix)
                        : (suffix===' s' ? parseFloat(el.value).toFixed(3)+suffix
                        : (suffix==='×' ? parseFloat(el.value).toFixed(2)+suffix
                        : parseFloat(el.value).toFixed(2))); };
    el.addEventListener('input', ()=>{ render(); if (ctx) buildChain(presetEl.value); if (cb) cb(); });
    render();
  }

  bindSlider(p1, p1Val);
  bindSlider(p2, p2Val);
  bindSlider(mix, mixVal);

  // comp
  bindSlider(cmpTh, cmpThVal, ' dB');
  bindSlider(cmpRa, cmpRaVal, '', ()=>{ cmpRaVal.textContent = parseFloat(cmpRa.value).toFixed(1)+' : 1'; });
  bindSlider(cmpAt, cmpAtVal, ' s');
  bindSlider(cmpRl, cmpRlVal, ' s');
  bindSlider(cmpMk, cmpMkVal, '×');

  // delay extras
  tapBtn.addEventListener('click', onTap);
  [bpmEl, syncEl, subdivEl, feedbackEl].forEach(el=>{
    el.addEventListener('input', ()=>{ if (el===feedbackEl) fbVal.textContent = parseFloat(feedbackEl.value).toFixed(2); if (ctx) buildChain('delay'); });
  });
  fbVal.textContent = parseFloat(feedbackEl.value).toFixed(2);

  // octaver
  bindSlider(sub1, sub1Val);
  bindSlider(sub2, sub2Val);
  bindSlider(octTone, octToneVal);

  // reverb
  bindSlider(rvSize, rvSizeVal);
  bindSlider(rvDamp, rvDampVal);
  bindSlider(rvPre, rvPreVal, ' s');
  bindSlider(rvLPF, rvLPFVal);

  // Cabinet mix
  if (cabMixEl) cabMixEl.addEventListener('input', ()=>{ cabVal.textContent = (+cabMixEl.value).toFixed(2); if (ctx) buildChain(presetEl.value); });
  if (cabOn) cabOn.addEventListener('change', ()=>{ if (ctx) buildChain(presetEl.value); });

  refreshTitles();
})();
</script>
</body>
</html>
</div>
				</div>
				</div>
					</div>
				</div>
				</div>
		]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>AMA BJ 3-5-5 &#8211; JamCenter &#8211; &#8220;Camisa negra&#8221;</title>
		<link>https://www.ampenlinea.com/courses/ama-bajo-n3-v15/lessons/ama-bj-3-5-5/</link>
		
		<dc:creator><![CDATA[Henry Giron]]></dc:creator>
		<pubDate>Fri, 24 Jan 2025 16:30:43 +0000</pubDate>
				<category><![CDATA[AMA Bajo N3]]></category>
		<guid isPermaLink="false">https://www.ampenlinea.com/?post_type=sfwd-lessons&#038;p=53923</guid>

					<description><![CDATA[Modal con Metrónomo Metrónomo &#215; Videos en Pop-Up TPA AMP Bajo 3-5-5 / JamCenter &#8211; La camisa negra &#215; Prueba Audio JS &#8211; GPP + 1.0x Modal con Pantalla Completa Pantalla Completa]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="53923" class="elementor elementor-53923" data-elementor-post-type="sfwd-lessons">
				<div class="elementor-element elementor-element-5c95491 e-flex e-con-boxed e-con e-parent" data-id="5c95491" data-element_type="container">
					<div class="e-con-inner">
		<div class="elementor-element elementor-element-8f6e63a e-con-full e-grid e-con e-child" data-id="8f6e63a" data-element_type="container">
				<div class="elementor-element elementor-element-b4cf74c elementor-widget elementor-widget-global elementor-global-49842 elementor-widget-html" data-id="b4cf74c" data-element_type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
			<!DOCTYPE html>
<html lang="es">
<head>
  <meta charset="UTF-8">
  <title>Modal con Metrónomo</title>
  <style>
    /* Botón para abrir el modal */
    #openMetronomeBtn {
      padding: 10px 20px;
      font-size: 16px;
      cursor: pointer;
      background-color: #28a745;
      color: white;
      border: none;
      border-radius: 5px;
    }

    /* Estilos para el modal */
    .modal {
      display: none; /* Oculto por defecto */
      position: fixed;
      z-index: 1000;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.5); /* Fondo semi-transparente */
      justify-content: center;
      align-items: center;
    }

    /* Contenido del modal */
    .modal-content {
      background-color: #fff;
      margin: auto;
      padding: 20px;
      border: 1px solid #888;
      width: 400px;
      border-radius: 8px;
      position: relative;
    }

    /* Botón de cierre */
    .close {
      color: #aaa;
      position: absolute;
      top: 10px;
      right: 15px;
      font-size: 28px;
      font-weight: bold;
      cursor: pointer;
    }

    .close:hover,
    .close:focus {
      color: black;
    }
  </style>
</head>
<body>

  <!-- Botón para abrir el modal -->
  <button id="openMetronomeBtn">Metrónomo</button>

  <!-- Modal -->
  <div id="metronomeModal" class="modal">
    <div class="modal-content">
      <!-- Botón de cierre -->
      <span class="close">&times;</span>

      <!-- Iframe del metrónomo -->
      <iframe 
        src="https://guitarapp.com/metronome.html?embed=true&tempo=120&timeSignature=2&pattern=1&theme=light" 
        title="Online Metronome" 
        scrolling="no"
        style="width: 100%; height: 475px; border: none; border-radius: 4px;">
      </iframe>
    </div>
  </div>

  <script>
    // Obtener elementos
    const modal = document.getElementById("metronomeModal");
    const btn = document.getElementById("openMetronomeBtn");
    const closeBtn = document.querySelector(".close");

    // Mostrar el modal al hacer clic en el botón
    btn.addEventListener("click", () => {
      modal.style.display = "flex"; // Usar flex para centrar el contenido
    });

    // Cerrar el modal al hacer clic en el botón de cerrar (X)
    closeBtn.addEventListener("click", () => {
      modal.style.display = "none";
    });

    // Cerrar el modal al hacer clic fuera del contenido
    window.addEventListener("click", (event) => {
      if (event.target === modal) {
        modal.style.display = "none";
      }
    });
  </script>

</body>
</html>
		</div>
				</div>
				<div class="elementor-element elementor-element-e888cba elementor-widget elementor-widget-html" data-id="e888cba" data-element_type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
			<!DOCTYPE html>
<html lang="es">
<head>
  <meta charset="UTF-8">
  <title>Videos en Pop-Up</title>
  <style>
    body {
      font-family: Arial, sans-serif;
      padding: 20px;
    }

    /* Lista desplegable */
    select {
      padding: 10px;
      font-size: 16px;
      border: 1px solid #ccc;
      border-radius: 5px;
      margin-bottom: 20px;
      width: 100%; /* Se ajusta al ancho del contenedor */
      max-width: 400px; /* Ancho máximo */
    }

    /* Modal */
    .modal {
      display: none; /* Oculto por defecto */
      position: fixed;
      z-index: 1000;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.6); /* Fondo semi-transparente */
      justify-content: center;
      align-items: center;
    }

    /* Contenido del modal */
    .modal-content {
      background-color: white;
      border-radius: 8px;
      padding: 20px;
      width: 80%;
      max-width: 800px;
      box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
      position: relative;
    }

    iframe {
      width: 100%;
      height: 450px;
      border: none;
      border-radius: 5px;
    }

    /* Botón de cierre */
    .close {
      position: absolute;
      top: 10px;
      right: 15px;
      font-size: 30px;
      font-weight: bold;
      color: #aaa;
      cursor: pointer;
      transition: color 0.3s;
    }

    .close:hover {
      color: black;
    }
  </style>
</head>
<body>


  <!-- Lista desplegable -->
 <select id="videoSelect">
    <option value="" selected disabled>TPA</option>

    <option value="https://player.vimeo.com/video/998872220?h=ec53530d84">
      AMP Bajo 3-5-5 / JamCenter - La camisa negra
    </option>
  
</select>


  <!-- Modal -->
  <div id="videoModal" class="modal">
    <div class="modal-content">
      <span class="close">&times;</span>
      <iframe id="videoIframe" src="" allowfullscreen></iframe>
    </div>
  </div>

  <script>
    // Obtener elementos
    const videoSelect = document.getElementById("videoSelect");
    const videoModal = document.getElementById("videoModal");
    const videoIframe = document.getElementById("videoIframe");
    const closeModal = document.querySelector(".close");

    // Mostrar el modal con el video seleccionado
    videoSelect.addEventListener("change", () => {
      const selectedVideo = videoSelect.value;
      if (selectedVideo) {
        videoIframe.src = selectedVideo; // Cambiar el src del iframe
        videoModal.style.display = "flex"; // Mostrar el modal
      }
    });

    // Cerrar el modal al hacer clic en la "X"
    closeModal.addEventListener("click", () => {
      videoModal.style.display = "none"; // Ocultar el modal
      videoIframe.src = ""; // Detener el video
    });

    // Cerrar el modal al hacer clic fuera del contenido
    window.addEventListener("click", (event) => {
      if (event.target === videoModal) {
        videoModal.style.display = "none"; // Ocultar el modal
        videoIframe.src = ""; // Detener el video
      }
    });
  </script>

</body>
</html>

		</div>
				</div>
				<div class="elementor-element elementor-element-2a1b22e elementor-widget__width-auto elementor-widget elementor-widget-global elementor-global-49845 elementor-widget-html" data-id="2a1b22e" data-element_type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
			<!DOCTYPE html>
<html lang="es">
<head>
  <meta charset="UTF-8">
  <title>Prueba Audio JS</title>
  <style>
    /* Contenedor que muestra botones y velocidad en la misma línea */
    .controls-container {
      display: inline-flex;      /* o "flex" si prefieres ocupar todo el ancho */
      align-items: center;       /* centra verticalmente */
      gap: 15px;                 /* espacio entre los elementos */
      margin: 30px;
    }

    /* Ajuste de estilo para los botones */
    button {
      padding: 6px 12px;
      font-size: 14px;
      cursor: pointer;
    }
  </style>
</head>
<body>
  
  <audio id="myAudio" src="https://www.ampenlinea.com/wp-content/uploads/2025/01/GPP.mp3"></audio>
  
  <!-- Contenedor para alinear en una sola línea -->
  <div class="controls-container">
    <button id="decreaseSpeedBtn">-</button>
    <button id="playPauseBtn">GPP</button>
    <button id="increaseSpeedBtn">+</button>
    <div id="speedDisplay">1.0x</div> <!-- Velocidad en la misma línea -->
  </div>
  
  <script>
    const audio = document.getElementById('myAudio');
    const playPauseBtn = document.getElementById('playPauseBtn');
    const increaseSpeedBtn = document.getElementById('increaseSpeedBtn');
    const decreaseSpeedBtn = document.getElementById('decreaseSpeedBtn');
    const speedDisplay = document.getElementById('speedDisplay');

    let isPlaying = false;

    // Actualiza el texto que muestra la velocidad
    function updateSpeedDisplay() {
      speedDisplay.textContent = `${audio.playbackRate.toFixed(1)}x`;
    }

    // Al hacer clic en el botón Reproducir/Pausar
    playPauseBtn.onclick = () => {
      if (isPlaying) {
        audio.pause();
        isPlaying = false;
        playPauseBtn.textContent = "GPP"; // Texto cuando está en pausa
      } else {
        audio.play();
        isPlaying = true;
        playPauseBtn.textContent = "Pausar"; // Texto cuando está reproduciendo
      }
    };

    // Al hacer clic en el botón de +10% Velocidad
    increaseSpeedBtn.onclick = () => {
      if (audio.playbackRate < 3.0) {
        audio.playbackRate += 0.1;
        updateSpeedDisplay();
      }
    };

    // Al hacer clic en el botón de -10% Velocidad
    decreaseSpeedBtn.onclick = () => {
      if (audio.playbackRate > 0.5) {
        audio.playbackRate -= 0.1;
        updateSpeedDisplay();
      }
    };

    // Al cargar la página
    window.onload = () => {
      updateSpeedDisplay();
    };
  </script>
</body>
</html>
		</div>
				</div>
				</div>
				<div class="elementor-element elementor-element-98e2af4 elementor-widget elementor-widget-html" data-id="98e2af4" data-element_type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
			<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Modal con Pantalla Completa</title>
    <style>
        body {
            font-family: 'Arial', sans-serif;
            background-color: #f0f0f0;
            margin: 0;
            padding: 20px;
        }

        .container {
            max-width: 1000px;
            margin: 0 auto;
            padding: 20px;
            background-color: #fff;
            box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
            border-radius: 8px;
        }

        h1 {
            text-align: center;
            margin-bottom: 20px;
        }

        .pdf-container {
            position: relative;
            width: 100%;
            height: 800px; /* Ajusta la altura según tus necesidades */
            border: 1px solid #ccc;
            border-radius: 8px;
            overflow: hidden;
        }

        .pdf-container iframe {
            width: 100%;
            height: 100%;
            border: none;
        }

        .fullscreen-btn {
            position: absolute;
            top: 3px;
            right: 10px;
            padding: 8px 12px;
            background-color: #4CAF50;
            color: white;
            border: none;
            border-radius: 4px;
            cursor: pointer;
            font-size: 14px;
            transition: background-color 0.3s;
        }

        .fullscreen-btn:hover {
            background-color: #45a049;
        }

        @media (max-width: 768px) {
            .pdf-container {
                height: 500px; /* Altura reducida para tablets */
            }
        }

        @media (max-width: 480px) {
            .pdf-container {
                height: 300px; /* Altura reducida para móviles */
            }
        }
    </style>
</head>
<body>
    <div class="container">

        <div class="pdf-container" id="pdf-container">
            <iframe 
                src="https://www.ampenlinea.com/wp-content/uploads/2025/01/Bajo-3-5-5.pdf"  
                allowfullscreen>
            </iframe>
            <button class="fullscreen-btn" id="fullscreen-btn">Pantalla Completa</button>
        </div>
    </div>

    <script>
        // Obtener referencias a los elementos
        const fullscreenBtn = document.getElementById('fullscreen-btn');
        const pdfContainer = document.getElementById('pdf-container');

        // Función para activar pantalla completa
        function toggleFullscreen() {
            if (
                document.fullscreenElement ||
                document.webkitFullscreenElement ||
                document.msFullscreenElement
            ) {
                // Salir de pantalla completa
                if (document.exitFullscreen) {
                    document.exitFullscreen();
                } else if (document.webkitExitFullscreen) { /* Safari */
                    document.webkitExitFullscreen();
                } else if (document.msExitFullscreen) { /* IE11 */
                    document.msExitFullscreen();
                }
            } else {
                // Entrar en pantalla completa
                if (pdfContainer.requestFullscreen) {
                    pdfContainer.requestFullscreen();
                } else if (pdfContainer.webkitRequestFullscreen) { /* Safari */
                    pdfContainer.webkitRequestFullscreen();
                } else if (pdfContainer.msRequestFullscreen) { /* IE11 */
                    pdfContainer.msRequestFullscreen();
                }
            }
        }

        // Evento de clic en el botón para alternar pantalla completa
        fullscreenBtn.addEventListener('click', toggleFullscreen);

        // Evento para actualizar el texto del botón según el estado de pantalla completa
        function updateFullscreenButton() {
            if (
                document.fullscreenElement === pdfContainer ||
                document.webkitFullscreenElement === pdfContainer ||
                document.msFullscreenElement === pdfContainer
            ) {
                fullscreenBtn.textContent = 'Salir de Pantalla Completa';
            } else {
                fullscreenBtn.textContent = 'Pantalla Completa';
            }
        }

        // Escuchar cambios en el estado de pantalla completa
        document.addEventListener('fullscreenchange', updateFullscreenButton);
        document.addEventListener('webkitfullscreenchange', updateFullscreenButton); // Safari
        document.addEventListener('MSFullscreenChange', updateFullscreenButton); // IE11
    </script>
</body>
</html>
		</div>
				</div>
				<div class="elementor-element elementor-element-d8bb89b elementor-widget elementor-widget-template" data-id="d8bb89b" data-element_type="widget" data-widget_type="template.default">
				<div class="elementor-widget-container">
					<div class="elementor-template">
					</div>
				</div>
				</div>
					</div>
				</div>
				</div>
		]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>AMA BJ 3-5-4 &#8211; JamCenter &#8211; Análisis &#8220;Camisa negra&#8221;</title>
		<link>https://www.ampenlinea.com/courses/ama-bajo-n3-v15/lessons/ama-bj-3-5-4/</link>
		
		<dc:creator><![CDATA[Henry Giron]]></dc:creator>
		<pubDate>Fri, 24 Jan 2025 16:30:33 +0000</pubDate>
				<category><![CDATA[AMA Bajo N3]]></category>
		<guid isPermaLink="false">https://www.ampenlinea.com/?post_type=sfwd-lessons&#038;p=53922</guid>

					<description><![CDATA[Modal con Metrónomo Metrónomo &#215; Videos en Pop-Up TPA AMP Bajo 3-5-5 / JamCenter &#8211; La camisa negra &#215; Prueba Audio JS &#8211; GPP + 1.0x Modal con Pantalla Completa Pantalla Completa]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="53922" class="elementor elementor-53922" data-elementor-post-type="sfwd-lessons">
				<div class="elementor-element elementor-element-3edfbd4 e-flex e-con-boxed e-con e-parent" data-id="3edfbd4" data-element_type="container">
					<div class="e-con-inner">
		<div class="elementor-element elementor-element-32bb16f e-con-full e-grid e-con e-child" data-id="32bb16f" data-element_type="container">
				<div class="elementor-element elementor-element-170cc63 elementor-widget elementor-widget-global elementor-global-49842 elementor-widget-html" data-id="170cc63" data-element_type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
			<!DOCTYPE html>
<html lang="es">
<head>
  <meta charset="UTF-8">
  <title>Modal con Metrónomo</title>
  <style>
    /* Botón para abrir el modal */
    #openMetronomeBtn {
      padding: 10px 20px;
      font-size: 16px;
      cursor: pointer;
      background-color: #28a745;
      color: white;
      border: none;
      border-radius: 5px;
    }

    /* Estilos para el modal */
    .modal {
      display: none; /* Oculto por defecto */
      position: fixed;
      z-index: 1000;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.5); /* Fondo semi-transparente */
      justify-content: center;
      align-items: center;
    }

    /* Contenido del modal */
    .modal-content {
      background-color: #fff;
      margin: auto;
      padding: 20px;
      border: 1px solid #888;
      width: 400px;
      border-radius: 8px;
      position: relative;
    }

    /* Botón de cierre */
    .close {
      color: #aaa;
      position: absolute;
      top: 10px;
      right: 15px;
      font-size: 28px;
      font-weight: bold;
      cursor: pointer;
    }

    .close:hover,
    .close:focus {
      color: black;
    }
  </style>
</head>
<body>

  <!-- Botón para abrir el modal -->
  <button id="openMetronomeBtn">Metrónomo</button>

  <!-- Modal -->
  <div id="metronomeModal" class="modal">
    <div class="modal-content">
      <!-- Botón de cierre -->
      <span class="close">&times;</span>

      <!-- Iframe del metrónomo -->
      <iframe 
        src="https://guitarapp.com/metronome.html?embed=true&tempo=120&timeSignature=2&pattern=1&theme=light" 
        title="Online Metronome" 
        scrolling="no"
        style="width: 100%; height: 475px; border: none; border-radius: 4px;">
      </iframe>
    </div>
  </div>

  <script>
    // Obtener elementos
    const modal = document.getElementById("metronomeModal");
    const btn = document.getElementById("openMetronomeBtn");
    const closeBtn = document.querySelector(".close");

    // Mostrar el modal al hacer clic en el botón
    btn.addEventListener("click", () => {
      modal.style.display = "flex"; // Usar flex para centrar el contenido
    });

    // Cerrar el modal al hacer clic en el botón de cerrar (X)
    closeBtn.addEventListener("click", () => {
      modal.style.display = "none";
    });

    // Cerrar el modal al hacer clic fuera del contenido
    window.addEventListener("click", (event) => {
      if (event.target === modal) {
        modal.style.display = "none";
      }
    });
  </script>

</body>
</html>
		</div>
				</div>
				<div class="elementor-element elementor-element-6ba3b09 elementor-widget elementor-widget-html" data-id="6ba3b09" data-element_type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
			<!DOCTYPE html>
<html lang="es">
<head>
  <meta charset="UTF-8">
  <title>Videos en Pop-Up</title>
  <style>
    body {
      font-family: Arial, sans-serif;
      padding: 20px;
    }

    /* Lista desplegable */
    select {
      padding: 10px;
      font-size: 16px;
      border: 1px solid #ccc;
      border-radius: 5px;
      margin-bottom: 20px;
      width: 100%; /* Se ajusta al ancho del contenedor */
      max-width: 400px; /* Ancho máximo */
    }

    /* Modal */
    .modal {
      display: none; /* Oculto por defecto */
      position: fixed;
      z-index: 1000;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.6); /* Fondo semi-transparente */
      justify-content: center;
      align-items: center;
    }

    /* Contenido del modal */
    .modal-content {
      background-color: white;
      border-radius: 8px;
      padding: 20px;
      width: 80%;
      max-width: 800px;
      box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
      position: relative;
    }

    iframe {
      width: 100%;
      height: 450px;
      border: none;
      border-radius: 5px;
    }

    /* Botón de cierre */
    .close {
      position: absolute;
      top: 10px;
      right: 15px;
      font-size: 30px;
      font-weight: bold;
      color: #aaa;
      cursor: pointer;
      transition: color 0.3s;
    }

    .close:hover {
      color: black;
    }
  </style>
</head>
<body>


  <!-- Lista desplegable -->
 <select id="videoSelect">
    <option value="" selected disabled>TPA</option>

    <option value="https://player.vimeo.com/video/998872220?h=ec53530d84">
      AMP Bajo 3-5-5 / JamCenter - La camisa negra
    </option>

</select>


  <!-- Modal -->
  <div id="videoModal" class="modal">
    <div class="modal-content">
      <span class="close">&times;</span>
      <iframe id="videoIframe" src="" allowfullscreen></iframe>
    </div>
  </div>

  <script>
    // Obtener elementos
    const videoSelect = document.getElementById("videoSelect");
    const videoModal = document.getElementById("videoModal");
    const videoIframe = document.getElementById("videoIframe");
    const closeModal = document.querySelector(".close");

    // Mostrar el modal con el video seleccionado
    videoSelect.addEventListener("change", () => {
      const selectedVideo = videoSelect.value;
      if (selectedVideo) {
        videoIframe.src = selectedVideo; // Cambiar el src del iframe
        videoModal.style.display = "flex"; // Mostrar el modal
      }
    });

    // Cerrar el modal al hacer clic en la "X"
    closeModal.addEventListener("click", () => {
      videoModal.style.display = "none"; // Ocultar el modal
      videoIframe.src = ""; // Detener el video
    });

    // Cerrar el modal al hacer clic fuera del contenido
    window.addEventListener("click", (event) => {
      if (event.target === videoModal) {
        videoModal.style.display = "none"; // Ocultar el modal
        videoIframe.src = ""; // Detener el video
      }
    });
  </script>

</body>
</html>

		</div>
				</div>
				<div class="elementor-element elementor-element-6867de2 elementor-widget__width-auto elementor-widget elementor-widget-global elementor-global-49845 elementor-widget-html" data-id="6867de2" data-element_type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
			<!DOCTYPE html>
<html lang="es">
<head>
  <meta charset="UTF-8">
  <title>Prueba Audio JS</title>
  <style>
    /* Contenedor que muestra botones y velocidad en la misma línea */
    .controls-container {
      display: inline-flex;      /* o "flex" si prefieres ocupar todo el ancho */
      align-items: center;       /* centra verticalmente */
      gap: 15px;                 /* espacio entre los elementos */
      margin: 30px;
    }

    /* Ajuste de estilo para los botones */
    button {
      padding: 6px 12px;
      font-size: 14px;
      cursor: pointer;
    }
  </style>
</head>
<body>
  
  <audio id="myAudio" src="https://www.ampenlinea.com/wp-content/uploads/2025/01/GPP.mp3"></audio>
  
  <!-- Contenedor para alinear en una sola línea -->
  <div class="controls-container">
    <button id="decreaseSpeedBtn">-</button>
    <button id="playPauseBtn">GPP</button>
    <button id="increaseSpeedBtn">+</button>
    <div id="speedDisplay">1.0x</div> <!-- Velocidad en la misma línea -->
  </div>
  
  <script>
    const audio = document.getElementById('myAudio');
    const playPauseBtn = document.getElementById('playPauseBtn');
    const increaseSpeedBtn = document.getElementById('increaseSpeedBtn');
    const decreaseSpeedBtn = document.getElementById('decreaseSpeedBtn');
    const speedDisplay = document.getElementById('speedDisplay');

    let isPlaying = false;

    // Actualiza el texto que muestra la velocidad
    function updateSpeedDisplay() {
      speedDisplay.textContent = `${audio.playbackRate.toFixed(1)}x`;
    }

    // Al hacer clic en el botón Reproducir/Pausar
    playPauseBtn.onclick = () => {
      if (isPlaying) {
        audio.pause();
        isPlaying = false;
        playPauseBtn.textContent = "GPP"; // Texto cuando está en pausa
      } else {
        audio.play();
        isPlaying = true;
        playPauseBtn.textContent = "Pausar"; // Texto cuando está reproduciendo
      }
    };

    // Al hacer clic en el botón de +10% Velocidad
    increaseSpeedBtn.onclick = () => {
      if (audio.playbackRate < 3.0) {
        audio.playbackRate += 0.1;
        updateSpeedDisplay();
      }
    };

    // Al hacer clic en el botón de -10% Velocidad
    decreaseSpeedBtn.onclick = () => {
      if (audio.playbackRate > 0.5) {
        audio.playbackRate -= 0.1;
        updateSpeedDisplay();
      }
    };

    // Al cargar la página
    window.onload = () => {
      updateSpeedDisplay();
    };
  </script>
</body>
</html>
		</div>
				</div>
				</div>
				<div class="elementor-element elementor-element-d0fea3a elementor-widget elementor-widget-html" data-id="d0fea3a" data-element_type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
			<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Modal con Pantalla Completa</title>
    <style>
        body {
            font-family: 'Arial', sans-serif;
            background-color: #f0f0f0;
            margin: 0;
            padding: 20px;
        }

        .container {
            max-width: 1000px;
            margin: 0 auto;
            padding: 20px;
            background-color: #fff;
            box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
            border-radius: 8px;
        }

        h1 {
            text-align: center;
            margin-bottom: 20px;
        }

        .pdf-container {
            position: relative;
            width: 100%;
            height: 800px; /* Ajusta la altura según tus necesidades */
            border: 1px solid #ccc;
            border-radius: 8px;
            overflow: hidden;
        }

        .pdf-container iframe {
            width: 100%;
            height: 100%;
            border: none;
        }

        .fullscreen-btn {
            position: absolute;
            top: 3px;
            right: 10px;
            padding: 8px 12px;
            background-color: #4CAF50;
            color: white;
            border: none;
            border-radius: 4px;
            cursor: pointer;
            font-size: 14px;
            transition: background-color 0.3s;
        }

        .fullscreen-btn:hover {
            background-color: #45a049;
        }

        @media (max-width: 768px) {
            .pdf-container {
                height: 500px; /* Altura reducida para tablets */
            }
        }

        @media (max-width: 480px) {
            .pdf-container {
                height: 300px; /* Altura reducida para móviles */
            }
        }
    </style>
</head>
<body>
    <div class="container">

        <div class="pdf-container" id="pdf-container">
            <iframe 
                src="https://www.ampenlinea.com/wp-content/uploads/2025/01/Bajo-3-5-4.pdf"  
                allowfullscreen>
            </iframe>
            <button class="fullscreen-btn" id="fullscreen-btn">Pantalla Completa</button>
        </div>
    </div>

    <script>
        // Obtener referencias a los elementos
        const fullscreenBtn = document.getElementById('fullscreen-btn');
        const pdfContainer = document.getElementById('pdf-container');

        // Función para activar pantalla completa
        function toggleFullscreen() {
            if (
                document.fullscreenElement ||
                document.webkitFullscreenElement ||
                document.msFullscreenElement
            ) {
                // Salir de pantalla completa
                if (document.exitFullscreen) {
                    document.exitFullscreen();
                } else if (document.webkitExitFullscreen) { /* Safari */
                    document.webkitExitFullscreen();
                } else if (document.msExitFullscreen) { /* IE11 */
                    document.msExitFullscreen();
                }
            } else {
                // Entrar en pantalla completa
                if (pdfContainer.requestFullscreen) {
                    pdfContainer.requestFullscreen();
                } else if (pdfContainer.webkitRequestFullscreen) { /* Safari */
                    pdfContainer.webkitRequestFullscreen();
                } else if (pdfContainer.msRequestFullscreen) { /* IE11 */
                    pdfContainer.msRequestFullscreen();
                }
            }
        }

        // Evento de clic en el botón para alternar pantalla completa
        fullscreenBtn.addEventListener('click', toggleFullscreen);

        // Evento para actualizar el texto del botón según el estado de pantalla completa
        function updateFullscreenButton() {
            if (
                document.fullscreenElement === pdfContainer ||
                document.webkitFullscreenElement === pdfContainer ||
                document.msFullscreenElement === pdfContainer
            ) {
                fullscreenBtn.textContent = 'Salir de Pantalla Completa';
            } else {
                fullscreenBtn.textContent = 'Pantalla Completa';
            }
        }

        // Escuchar cambios en el estado de pantalla completa
        document.addEventListener('fullscreenchange', updateFullscreenButton);
        document.addEventListener('webkitfullscreenchange', updateFullscreenButton); // Safari
        document.addEventListener('MSFullscreenChange', updateFullscreenButton); // IE11
    </script>
</body>
</html>
		</div>
				</div>
				<div class="elementor-element elementor-element-82c4927 elementor-widget elementor-widget-template" data-id="82c4927" data-element_type="widget" data-widget_type="template.default">
				<div class="elementor-widget-container">
					<div class="elementor-template">
					</div>
				</div>
				</div>
					</div>
				</div>
				</div>
		]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>AMA BJ 3-5-3 &#8211; Dead notes (Mute con la mano izquierda) / Slide</title>
		<link>https://www.ampenlinea.com/courses/ama-bajo-n3-v15/lessons/ama-bj-3-5-3/</link>
		
		<dc:creator><![CDATA[Henry Giron]]></dc:creator>
		<pubDate>Fri, 24 Jan 2025 16:30:21 +0000</pubDate>
				<category><![CDATA[AMA Bajo N3]]></category>
		<guid isPermaLink="false">https://www.ampenlinea.com/?post_type=sfwd-lessons&#038;p=53921</guid>

					<description><![CDATA[Dead notes (Mute con la mano izquierda) Consiste en liberar la presión de la mano izquierda para lograr silencios. Esta técnica es muy amplia y se puede usar con escalas y líneas de bajo enriqueciendo tus posibilidades rítmicas. Se refiere a las notas en cualquier parte del pentagrama que se tocan dando una sensación de &#8230;<p class="read-more"> <a class="" href="https://www.ampenlinea.com/courses/ama-bajo-n3-v15/lessons/ama-bj-3-5-3/"> <span class="screen-reader-text">AMA BJ 3-5-3 &#8211; Dead notes (Mute con la mano izquierda) / Slide</span> Leer más &#187;</a></p>]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="53921" class="elementor elementor-53921" data-elementor-post-type="sfwd-lessons">
				<div class="elementor-element elementor-element-1c9e497 e-flex e-con-boxed e-con e-parent" data-id="1c9e497" data-element_type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-2e39f6f elementor-widget elementor-widget-shortcode" data-id="2e39f6f" data-element_type="widget" data-widget_type="shortcode.default">
				<div class="elementor-widget-container">
					<div class="elementor-shortcode"> <!DOCTYPE html>
<html lang="es">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Audio y Metrónomo</title>
  <style>
    body {
      font-family: sans-serif;
      margin: 0;
      background-color: #fafafa;
    }

    .toolbar {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 10px 15px;
      background-color: #fafafa;
      color: #333;
      border-bottom: 1px solid #ccc;
    }

    .toolbar .icons button {
      background: none;
      border: none;
      color: #333;
      font-size: 22px;
      cursor: pointer;
      margin-left: 15px;
    }

  .toolbar .icons img {
      height: 32px;
      width: 32px;
      cursor: pointer;
    }

    .modal {
      display: none;
      position: fixed;
      z-index: 1000;
      top: 0; left: 0;
      width: 100%; height: 100%;
      background-color: rgba(0, 0, 0, 0.6);
      justify-content: center;
      align-items: center;
    }

    .modal-content {
      background: #fff;
      padding: 20px;
      width: 90%;
      max-width: 480px;
      border-radius: 8px;
      position: relative;
    }

    .modal .close {
      position: absolute;
      top: 10px;
      right: 15px;
      font-size: 24px;
      cursor: pointer;
    }

    .modal iframe {
      width: 100%;
      height: 475px;
      border: none;
      border-radius: 4px;
    }

    .modal .audio-controls {
      display: flex;
      flex-direction: column;
      gap: 10px;
    }

    .modal .audio-controls audio {
      width: 100%;
    }
  </style>
</head>
<body>

  <div class="toolbar">
    <div class="logo">Herramientas AMP<img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f3b6.png" alt="🎶" class="wp-smiley" style="height: 1em; max-height: 1em;" /></div>
    <div class="icons">
      <img decoding="async" src="https://www.ampenlinea.com/wp-content/uploads/2025/06/brand-bandlab.svg" alt="Abrir Modales" onclick="abrirModal('audioModal')">
      <img decoding="async" src="https://www.ampenlinea.com/wp-content/uploads/2025/06/metronome.svg" alt="Abrir Metrónomo" onclick="abrirModal('metronomeModal')">
    
    </div>
  </div>

  <!-- MODAL AUDIO -->
  <div id="audioModal" class="modal">
    <div class="modal-content">
      <span class="close" onclick="cerrarModal('audioModal')">&times;</span>
      <h3>Selecciona un audio</h3>
      <div class="audio-controls">
        <select id="audioSelector" onchange="cambiarAudio(this.value)">
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-4213-C-Rock-Shuffle-80-bpm.mp3">GPP Rock Shuffle 80 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-4213-B-Four-on-the-floor-80-bpm.mp3">GPP Four on the floor 80 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-3411-Disco-80-bpm.mp3">GPP Disco 80 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-3212-Hard-Rock-80-bpm.mp3">GPP Hard Rock 80 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-219-8th-Note-Rock-80-bpm.mp3">GPP 8th Note Rock 80 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-4213-A-16th-Note-Rock-85-bpm.mp3">GPP 16th Note Rock A 85 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-4213-D-16th-Note-Rock-85-bpm.mp3">GPP 16th Note Rock B 85 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-5512-Basic-RB-85-bpm.mp3">GPP Basic R&B 85 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-415-Four-on-the-floor-85-bpm.mp3">GPP Four on the floor 85 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-3112-8th-Note-Rock-90-bpm.mp3">GPP 8th Note Rock A 90 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-338-8th-Note-Rock-90-bpm.mp3">GPP 8th Note Rock B 90 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-3116-Disco-100-bpm.mp3">GPP Disco 100 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-347-Bossa-Nova-100-bpm.mp3">GPP Bossa Nova 100 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-329-Soca-100-bpm.mp3">GPP 329 Soca 100 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-253-8th-Note-Rock-100-bpm.mp3">GPP 8th Note Rock 100 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-235-8th-Note-Rock-100-bpm.mp3">GPP 8th Note Rock 100 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-159-Hard-Rock-100-bpm.mp3">GPP Hard Rock 100 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-156-16th-Note-Syncopated-Kick-100-bpm.mp3">GPP 16th Note Syncopated Kick 100 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-147-Four-on-the-floor-100-bpm.mp3">GPP Four on the floor 100 bpm</option>
          <option value="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-146-Half-time-Shuffle-100-bpm.mp3">GPP Half time Shuffle 100 bpm</option>

        </select>

        <audio id="audioPlayer" controls>
          <source src="https://www.ampenlinea.com/wp-content/uploads/2020/08/GPP-4213-C-Rock-Shuffle-80-bpm.mp3" type="audio/mp3">
        </audio>

        <label for="velocidadAudio">Velocidad: <span id="velocidadValor">1.00x</span></label>
        <input type="range" id="velocidadAudio" min="0.5" max="2" step="0.05" value="1" oninput="ajustarVelocidad(this.value)">
      </div>
    </div>
  </div>

  <!-- MODAL METRONOMO -->
  <div id="metronomeModal" class="modal">
    <div class="modal-content">
      <span class="close" onclick="cerrarModal('metronomeModal')">&times;</span>
      <iframe 
        src="https://guitarapp.com/metronome.html?embed=true&tempo=120&timeSignature=2&pattern=1&theme=light"
        title="Metrónomo Online">
      </iframe>
    </div>
  </div>

  <script>
    const audioPlayer = document.getElementById('audioPlayer');
    const velocidadValor = document.getElementById('velocidadValor');

    function cambiarAudio(src) {
      audioPlayer.src = src;
      audioPlayer.playbackRate = parseFloat(document.getElementById('velocidadAudio').value);
      audioPlayer.play();
    }

    function ajustarVelocidad(speed) {
      velocidadValor.textContent = parseFloat(speed).toFixed(2) + 'x';
      audioPlayer.playbackRate = parseFloat(speed);
    }

    function abrirModal(id) {
      document.getElementById(id).style.display = 'flex';
    }

    function cerrarModal(id) {
      document.getElementById(id).style.display = 'none';
    }

    window.addEventListener('click', (e) => {
      document.querySelectorAll('.modal').forEach(modal => {
        if (e.target === modal) modal.style.display = 'none';
      });
    });
  </script>

</body>
</html>
</div>
				</div>
				</div>
		<!-- dce invisible element 9c390f5 --><style>
  #btnShowBassFretboard {
    padding: 12px 20px;
    margin: 10px;
    font-size: 16px;
    background-color: #1a1a1a;
    color: white;
    border: none;
    border-radius: 8px;
    cursor: pointer;
  }

  .modal {
    display: none;
    position: fixed;
    z-index: 9999;
    left: 0; top: 0;
    width: 100vw; height: 100vh;
    background-color: rgba(0,0,0,0.85);
    overflow-y: auto;
    padding: 30px 10px;
    box-sizing: border-box;
  }

  .modal-content {
    background-color: #2f2f2f;
    margin: auto;
    padding: 20px;
    border-radius: 12px;
    max-width: 1000px;
    max-height: 90vh;
    overflow-y: auto;
    position: relative;
  }

  .close-btn {
    position: absolute;
    top: 12px;
    right: 15px;
    background: transparent;
    border: none;
    color: white;
    font-size: 28px;
    font-weight: bold;
    cursor: pointer;
  }

  .guitar-fretboard {
    display: grid;
    grid-template-columns: repeat(22, 48px);
    grid-template-rows: repeat(4, 42px);
    background: linear-gradient(90deg, #4a3a2f, #7a5c41);
    border-radius: 8px;
    position: relative;
    overflow-x: auto;
  }

  .fret {
    border-right: 1px solid #666;
    position: relative;
    cursor: pointer;
  }

  .fret[data-string="4"] .string-line { height: 2px; }
  .fret[data-string="3"] .string-line { height: 2.5px; }
  .fret[data-string="2"] .string-line { height: 3px; }
  .fret[data-string="1"] .string-line { height: 3.5px; }

  .string-line {
    position: absolute;
    top: 50%; left: 0; right: 0;
    background: #eee;
    transform: translateY(-50%);
  }

  .marker {
    width: 16px;
    height: 16px;
    border: 2px solid white;
    border-radius: 50%;
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
  }

  .fret-numbers {
    display: grid;
    grid-template-columns: repeat(22, 48px);
    margin-top: 8px;
    color: #fff;
    font-family: Georgia, serif;
    font-size: 14px;
    text-align: center;
  }

  .tuning-labels {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-right: 8px;
    color: white;
    font-weight: bold;
    font-family: sans-serif;
  }

  .tuning-labels div {
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
</style><style>
  #btnShowSheet {
    padding: 12px 20px;
    font-size: 18px;
    background-color: #1a1a1a;
    color: white;
    border: none;
    border-radius: 8px;
    cursor: pointer;
  }

  .modal {
    display: none;
    position: fixed;
    z-index: 9999;
    inset: 0;
    background: rgba(0, 0, 0, 0.95);
  }

  .modal-fullscreen {
    width: 100vw;
    height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 0;
    overflow: hidden;
  }

  .close-btn {
    position: absolute;
    top: 20px;
    right: 30px;
    background: transparent;
    border: none;
    font-size: 36px;
    color: #fff;
    cursor: pointer;
    z-index: 10000;
  }

  .sheet-container {
    position: relative;
    max-width: 95vw;
    max-height: 90vh;
    width: auto;
    height: auto;
    overflow: hidden;
  }

  #sheetImage {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 8px;
  }

  #drawCanvas {
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
    z-index: 10;
    pointer-events: auto;
  }
</style><div class="elementor-element elementor-element-3a85342 e-con-full e-flex e-con e-child" data-id="3a85342" data-element_type="container">
				<div class="elementor-element elementor-element-908536f elementor-widget__width-initial elementor-widget elementor-widget-html" data-id="908536f" data-element_type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
			
<!-- &#x1f7e8; SUBTÍTULO 1 + PÁRRAFO -->
<section class="bloque-leccion">

<h2>Dead notes (Mute con la mano izquierda)</h2>
    
<p>Consiste en liberar la presión de la mano izquierda para lograr silencios. Esta técnica es muy amplia y se puede usar con escalas y líneas de bajo enriqueciendo tus posibilidades rítmicas. Se refiere a las notas en cualquier parte del pentagrama que se tocan dando una sensación de percusión o nota sin duración.</p>
<br>


 
 
<img decoding="async" src="https://www.ampenlinea.com/wp-content/uploads/2025/10/bj-3-5-3-a-scaled.png" alt="IMG 1" class="imagen-responsiva">

<br>


<h2>Slide</h2>

<p>La técnica del slide, también conocida como ligado, es un recurso expresivo fundamental para los bajistas. Consiste en deslizar el dedo a lo largo del mástil del bajo de una nota a otra sin levantarlo, creando una transición continua entre las notas.</p>
 

<img decoding="async" src="https://www.ampenlinea.com/wp-content/uploads/2025/10/bj-3-5-3-b-scaled.png" alt="IMG 1" class="imagen-responsiva">

<br>
   

<img decoding="async" src="https://www.ampenlinea.com/wp-content/uploads/2025/10/bj-3-5-3-c-scaled.png" alt="IMG 1" class="imagen-responsiva"> 
 
 
  
</section>






<!--&#x1f7e8; Actividad + PÁRRAFO -->
<section class="bloque-leccion">
    
<h1>Actividad</h1>
  
<p> 1) Usando la plataforma tocar el ejemplo de dead note lentamente y luego subir la velocidad poco a poco.</p>

<p> 2) Tocar el extracto de canción lentamente y luego subir la velocidad poco a poco.</p>

</section>

<!-- &#x1f3a8; ESTILO PERSONALIZADO -->
<style>
  .header-leccion {
    background-color: #f2f2f2;
    padding: 10px;
    font-size: 16px;
    text-align: center;
    border-bottom: 2px solid #ccc;
    margin-bottom: 20px;
  }

  .titulo-leccion {
    font-size: 28px;
    font-weight: bold;
    text-align: center;
    color: #b30808;
    margin-bottom: 30px;
  }

  .bloque-leccion {
    margin: 30px 0;
  }

  .bloque-leccion h3 {
    font-size: 22px;
    color: #222;
    margin-bottom: 10px;
  }

  .bloque-leccion p {
    font-size: 18px;
    line-height: 1.6;
    color: #444;
  }

  .imagen-responsiva {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 15px auto;
    border-radius: 8px;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
  }
  
.bloque-leccion {
  user-select: none;           /* Desactiva selección en navegadores modernos */
  -webkit-user-select: none;   /* Chrome/Safari */
  -moz-user-select: none;      /* Firefox */
  -ms-user-select: none;       /* Internet Explorer/Edge */
}


</style>

<script>
  // Bloquea clic derecho
  document.addEventListener('contextmenu', function (e) {
    e.preventDefault();
  });

  // Bloquea teclas como Ctrl+C, Ctrl+U, Ctrl+S, Ctrl+Shift+I (inspeccionar)
  document.addEventListener('keydown', function (e) {
    if ((e.ctrlKey && ['c', 'u', 's'].includes(e.key.toLowerCase())) ||
        (e.ctrlKey && e.shiftKey && e.key.toLowerCase() === 'i')) {
      e.preventDefault();
    }
  });
</script>

		</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-c6225cd e-con-full e-flex e-con e-child" data-id="c6225cd" data-element_type="container">
				<div class="elementor-element elementor-element-7c88565 elementor-widget elementor-widget-shortcode" data-id="7c88565" data-element_type="widget" data-widget_type="shortcode.default">
				<div class="elementor-widget-container">
					<div class="elementor-shortcode"><p>Debes iniciar sesión para ver este contenido.</p></div>
				</div>
				</div>
				</div>
					</div>
				</div>
				</div>
		]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>AMA BJ 3-4-9 &#8211; Slap “ELT” (Escríbelo, léelo, tócalo)</title>
		<link>https://www.ampenlinea.com/courses/ama-bajo-n3-v15/lessons/ama-bj-3-4-9/</link>
		
		<dc:creator><![CDATA[Henry Giron]]></dc:creator>
		<pubDate>Fri, 24 Jan 2025 16:15:23 +0000</pubDate>
				<category><![CDATA[AMA Bajo N3]]></category>
		<guid isPermaLink="false">https://www.ampenlinea.com/?post_type=sfwd-lessons&#038;p=53871</guid>

					<description><![CDATA[Modal con Metrónomo Metrónomo &#215; Videos en Pop-Up TPA AMP Bajo 3-1-3 / Afinación AMP Bajo 3-1-7 / Extracto: Las avispas AMP Bajo 3-1-8 / Extracto: Baracunatana AMP Bajo 3-1-11 / JamCenter &#8211; Lamento boliviano AMP Bajo 3-2-3 / Backing track en G AMP Bajo 3-2-3 / Backing track en D AMP Bajo 3-2-11 / &#8230;<p class="read-more"> <a class="" href="https://www.ampenlinea.com/courses/ama-bajo-n3-v15/lessons/ama-bj-3-4-9/"> <span class="screen-reader-text">AMA BJ 3-4-9 &#8211; Slap “ELT” (Escríbelo, léelo, tócalo)</span> Leer más &#187;</a></p>]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="53871" class="elementor elementor-53871" data-elementor-post-type="sfwd-lessons">
				<div class="elementor-element elementor-element-b0465a9 e-flex e-con-boxed e-con e-parent" data-id="b0465a9" data-element_type="container">
					<div class="e-con-inner">
		<div class="elementor-element elementor-element-160c290 e-con-full e-grid e-con e-child" data-id="160c290" data-element_type="container">
				<div class="elementor-element elementor-element-b476f82 elementor-widget elementor-widget-global elementor-global-49842 elementor-widget-html" data-id="b476f82" data-element_type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
			<!DOCTYPE html>
<html lang="es">
<head>
  <meta charset="UTF-8">
  <title>Modal con Metrónomo</title>
  <style>
    /* Botón para abrir el modal */
    #openMetronomeBtn {
      padding: 10px 20px;
      font-size: 16px;
      cursor: pointer;
      background-color: #28a745;
      color: white;
      border: none;
      border-radius: 5px;
    }

    /* Estilos para el modal */
    .modal {
      display: none; /* Oculto por defecto */
      position: fixed;
      z-index: 1000;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.5); /* Fondo semi-transparente */
      justify-content: center;
      align-items: center;
    }

    /* Contenido del modal */
    .modal-content {
      background-color: #fff;
      margin: auto;
      padding: 20px;
      border: 1px solid #888;
      width: 400px;
      border-radius: 8px;
      position: relative;
    }

    /* Botón de cierre */
    .close {
      color: #aaa;
      position: absolute;
      top: 10px;
      right: 15px;
      font-size: 28px;
      font-weight: bold;
      cursor: pointer;
    }

    .close:hover,
    .close:focus {
      color: black;
    }
  </style>
</head>
<body>

  <!-- Botón para abrir el modal -->
  <button id="openMetronomeBtn">Metrónomo</button>

  <!-- Modal -->
  <div id="metronomeModal" class="modal">
    <div class="modal-content">
      <!-- Botón de cierre -->
      <span class="close">&times;</span>

      <!-- Iframe del metrónomo -->
      <iframe 
        src="https://guitarapp.com/metronome.html?embed=true&tempo=120&timeSignature=2&pattern=1&theme=light" 
        title="Online Metronome" 
        scrolling="no"
        style="width: 100%; height: 475px; border: none; border-radius: 4px;">
      </iframe>
    </div>
  </div>

  <script>
    // Obtener elementos
    const modal = document.getElementById("metronomeModal");
    const btn = document.getElementById("openMetronomeBtn");
    const closeBtn = document.querySelector(".close");

    // Mostrar el modal al hacer clic en el botón
    btn.addEventListener("click", () => {
      modal.style.display = "flex"; // Usar flex para centrar el contenido
    });

    // Cerrar el modal al hacer clic en el botón de cerrar (X)
    closeBtn.addEventListener("click", () => {
      modal.style.display = "none";
    });

    // Cerrar el modal al hacer clic fuera del contenido
    window.addEventListener("click", (event) => {
      if (event.target === modal) {
        modal.style.display = "none";
      }
    });
  </script>

</body>
</html>
		</div>
				</div>
				<div class="elementor-element elementor-element-7d4fafb elementor-widget elementor-widget-html" data-id="7d4fafb" data-element_type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
			<!DOCTYPE html>
<html lang="es">
<head>
  <meta charset="UTF-8">
  <title>Videos en Pop-Up</title>
  <style>
    body {
      font-family: Arial, sans-serif;
      padding: 20px;
    }

    /* Lista desplegable */
    select {
      padding: 10px;
      font-size: 16px;
      border: 1px solid #ccc;
      border-radius: 5px;
      margin-bottom: 20px;
      width: 100%; /* Se ajusta al ancho del contenedor */
      max-width: 400px; /* Ancho máximo */
    }

    /* Modal */
    .modal {
      display: none; /* Oculto por defecto */
      position: fixed;
      z-index: 1000;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.6); /* Fondo semi-transparente */
      justify-content: center;
      align-items: center;
    }

    /* Contenido del modal */
    .modal-content {
      background-color: white;
      border-radius: 8px;
      padding: 20px;
      width: 80%;
      max-width: 800px;
      box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
      position: relative;
    }

    iframe {
      width: 100%;
      height: 450px;
      border: none;
      border-radius: 5px;
    }

    /* Botón de cierre */
    .close {
      position: absolute;
      top: 10px;
      right: 15px;
      font-size: 30px;
      font-weight: bold;
      color: #aaa;
      cursor: pointer;
      transition: color 0.3s;
    }

    .close:hover {
      color: black;
    }
  </style>
</head>
<body>


  <!-- Lista desplegable -->
 <select id="videoSelect">
    <option value="" selected disabled>TPA</option>
    <option value="https://player.vimeo.com/video/999671270?h=33eb09e22e">
      AMP Bajo 3-1-3 / Afinación
    </option>
    <option value="https://player.vimeo.com/video/999671339?h=5bb87a0bb6">
      AMP Bajo 3-1-7 / Extracto: Las avispas
    </option>
    <option value="https://player.vimeo.com/video/999671358?h=b22022fdcd">
      AMP Bajo 3-1-8 / Extracto: Baracunatana
    </option>
    <option value="https://player.vimeo.com/video/1002077827?h=eedbe48d01">
      AMP Bajo 3-1-11 / JamCenter - Lamento boliviano
    </option>
    <option value="https://player.vimeo.com/video/1021028936?h=168ad36f63">
      AMP Bajo 3-2-3 / Backing track en G
    </option>
    <option value="https://player.vimeo.com/video/999671617?h=df5060ff89">
      AMP Bajo 3-2-3 / Backing track en D
    </option>
    <option value="https://player.vimeo.com/video/1020750793?h=58959df6c1">
      AMP Bajo 3-2-11 / JamCenter - Knocking on heaven's door
    </option>
    <option value="https://player.vimeo.com/video/1033985658?h=aa02a04180">
      AMP Bajo 3-3-3 / Extracto: Blue Suede Shoes
    </option>
    <option value="https://player.vimeo.com/video/1002137865?h=2d80b33b1b">
      AMP Bajo 3-3-5 / JamCenter - Zombie
    </option>
    <option value="https://player.vimeo.com/video/999671890?h=d001c21cf3">
      AMP Bajo 3-3-6 / Extracto: Stand by me
    </option>
    <option value="https://player.vimeo.com/video/1002140301?h=635f9b98f6">
      AMP Bajo 3-4-5 / JamCenter - All the small things
    </option>
    <option value="https://player.vimeo.com/video/999672309?h=5e6ea6fb45">
      AMP Bajo 3-4-8 / Backing track en D
    </option>
    <option value="https://player.vimeo.com/video/998872220?h=ec53530d84">
      AMP Bajo 3-5-5 / JamCenter - La camisa negra
    </option>
    <option value="https://player.vimeo.com/video/999672856?h=24eb70c9a8">
      AMP Bajo 3-6-2 / Concierto final - Mi dulce chica
    </option>
</select>


  <!-- Modal -->
  <div id="videoModal" class="modal">
    <div class="modal-content">
      <span class="close">&times;</span>
      <iframe id="videoIframe" src="" allowfullscreen></iframe>
    </div>
  </div>

  <script>
    // Obtener elementos
    const videoSelect = document.getElementById("videoSelect");
    const videoModal = document.getElementById("videoModal");
    const videoIframe = document.getElementById("videoIframe");
    const closeModal = document.querySelector(".close");

    // Mostrar el modal con el video seleccionado
    videoSelect.addEventListener("change", () => {
      const selectedVideo = videoSelect.value;
      if (selectedVideo) {
        videoIframe.src = selectedVideo; // Cambiar el src del iframe
        videoModal.style.display = "flex"; // Mostrar el modal
      }
    });

    // Cerrar el modal al hacer clic en la "X"
    closeModal.addEventListener("click", () => {
      videoModal.style.display = "none"; // Ocultar el modal
      videoIframe.src = ""; // Detener el video
    });

    // Cerrar el modal al hacer clic fuera del contenido
    window.addEventListener("click", (event) => {
      if (event.target === videoModal) {
        videoModal.style.display = "none"; // Ocultar el modal
        videoIframe.src = ""; // Detener el video
      }
    });
  </script>

</body>
</html>

		</div>
				</div>
				<div class="elementor-element elementor-element-0825b78 elementor-widget__width-auto elementor-widget elementor-widget-global elementor-global-49845 elementor-widget-html" data-id="0825b78" data-element_type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
			<!DOCTYPE html>
<html lang="es">
<head>
  <meta charset="UTF-8">
  <title>Prueba Audio JS</title>
  <style>
    /* Contenedor que muestra botones y velocidad en la misma línea */
    .controls-container {
      display: inline-flex;      /* o "flex" si prefieres ocupar todo el ancho */
      align-items: center;       /* centra verticalmente */
      gap: 15px;                 /* espacio entre los elementos */
      margin: 30px;
    }

    /* Ajuste de estilo para los botones */
    button {
      padding: 6px 12px;
      font-size: 14px;
      cursor: pointer;
    }
  </style>
</head>
<body>
  
  <audio id="myAudio" src="https://www.ampenlinea.com/wp-content/uploads/2025/01/GPP.mp3"></audio>
  
  <!-- Contenedor para alinear en una sola línea -->
  <div class="controls-container">
    <button id="decreaseSpeedBtn">-</button>
    <button id="playPauseBtn">GPP</button>
    <button id="increaseSpeedBtn">+</button>
    <div id="speedDisplay">1.0x</div> <!-- Velocidad en la misma línea -->
  </div>
  
  <script>
    const audio = document.getElementById('myAudio');
    const playPauseBtn = document.getElementById('playPauseBtn');
    const increaseSpeedBtn = document.getElementById('increaseSpeedBtn');
    const decreaseSpeedBtn = document.getElementById('decreaseSpeedBtn');
    const speedDisplay = document.getElementById('speedDisplay');

    let isPlaying = false;

    // Actualiza el texto que muestra la velocidad
    function updateSpeedDisplay() {
      speedDisplay.textContent = `${audio.playbackRate.toFixed(1)}x`;
    }

    // Al hacer clic en el botón Reproducir/Pausar
    playPauseBtn.onclick = () => {
      if (isPlaying) {
        audio.pause();
        isPlaying = false;
        playPauseBtn.textContent = "GPP"; // Texto cuando está en pausa
      } else {
        audio.play();
        isPlaying = true;
        playPauseBtn.textContent = "Pausar"; // Texto cuando está reproduciendo
      }
    };

    // Al hacer clic en el botón de +10% Velocidad
    increaseSpeedBtn.onclick = () => {
      if (audio.playbackRate < 3.0) {
        audio.playbackRate += 0.1;
        updateSpeedDisplay();
      }
    };

    // Al hacer clic en el botón de -10% Velocidad
    decreaseSpeedBtn.onclick = () => {
      if (audio.playbackRate > 0.5) {
        audio.playbackRate -= 0.1;
        updateSpeedDisplay();
      }
    };

    // Al cargar la página
    window.onload = () => {
      updateSpeedDisplay();
    };
  </script>
</body>
</html>
		</div>
				</div>
				</div>
				<div class="elementor-element elementor-element-a8745db elementor-widget elementor-widget-html" data-id="a8745db" data-element_type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
			<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Modal con Pantalla Completa</title>
    <style>
        body {
            font-family: 'Arial', sans-serif;
            background-color: #f0f0f0;
            margin: 0;
            padding: 20px;
        }

        .container {
            max-width: 1000px;
            margin: 0 auto;
            padding: 20px;
            background-color: #fff;
            box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
            border-radius: 8px;
        }

        h1 {
            text-align: center;
            margin-bottom: 20px;
        }

        .pdf-container {
            position: relative;
            width: 100%;
            height: 800px; /* Ajusta la altura según tus necesidades */
            border: 1px solid #ccc;
            border-radius: 8px;
            overflow: hidden;
        }

        .pdf-container iframe {
            width: 100%;
            height: 100%;
            border: none;
        }

        .fullscreen-btn {
            position: absolute;
            top: 3px;
            right: 10px;
            padding: 8px 12px;
            background-color: #4CAF50;
            color: white;
            border: none;
            border-radius: 4px;
            cursor: pointer;
            font-size: 14px;
            transition: background-color 0.3s;
        }

        .fullscreen-btn:hover {
            background-color: #45a049;
        }

        @media (max-width: 768px) {
            .pdf-container {
                height: 500px; /* Altura reducida para tablets */
            }
        }

        @media (max-width: 480px) {
            .pdf-container {
                height: 300px; /* Altura reducida para móviles */
            }
        }
    </style>
</head>
<body>
    <div class="container">

        <div class="pdf-container" id="pdf-container">
            <iframe 
                src="https://www.ampenlinea.com/wp-content/uploads/2025/01/Bajo-3-4-9.pdf"  
                allowfullscreen>
            </iframe>
            <button class="fullscreen-btn" id="fullscreen-btn">Pantalla Completa</button>
        </div>
    </div>

    <script>
        // Obtener referencias a los elementos
        const fullscreenBtn = document.getElementById('fullscreen-btn');
        const pdfContainer = document.getElementById('pdf-container');

        // Función para activar pantalla completa
        function toggleFullscreen() {
            if (
                document.fullscreenElement ||
                document.webkitFullscreenElement ||
                document.msFullscreenElement
            ) {
                // Salir de pantalla completa
                if (document.exitFullscreen) {
                    document.exitFullscreen();
                } else if (document.webkitExitFullscreen) { /* Safari */
                    document.webkitExitFullscreen();
                } else if (document.msExitFullscreen) { /* IE11 */
                    document.msExitFullscreen();
                }
            } else {
                // Entrar en pantalla completa
                if (pdfContainer.requestFullscreen) {
                    pdfContainer.requestFullscreen();
                } else if (pdfContainer.webkitRequestFullscreen) { /* Safari */
                    pdfContainer.webkitRequestFullscreen();
                } else if (pdfContainer.msRequestFullscreen) { /* IE11 */
                    pdfContainer.msRequestFullscreen();
                }
            }
        }

        // Evento de clic en el botón para alternar pantalla completa
        fullscreenBtn.addEventListener('click', toggleFullscreen);

        // Evento para actualizar el texto del botón según el estado de pantalla completa
        function updateFullscreenButton() {
            if (
                document.fullscreenElement === pdfContainer ||
                document.webkitFullscreenElement === pdfContainer ||
                document.msFullscreenElement === pdfContainer
            ) {
                fullscreenBtn.textContent = 'Salir de Pantalla Completa';
            } else {
                fullscreenBtn.textContent = 'Pantalla Completa';
            }
        }

        // Escuchar cambios en el estado de pantalla completa
        document.addEventListener('fullscreenchange', updateFullscreenButton);
        document.addEventListener('webkitfullscreenchange', updateFullscreenButton); // Safari
        document.addEventListener('MSFullscreenChange', updateFullscreenButton); // IE11
    </script>
</body>
</html>
		</div>
				</div>
				<div class="elementor-element elementor-element-eb64849 elementor-widget elementor-widget-template" data-id="eb64849" data-element_type="widget" data-widget_type="template.default">
				<div class="elementor-widget-container">
					<div class="elementor-template">
					</div>
				</div>
				</div>
					</div>
				</div>
				</div>
		]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
