<p>&nbsp;</p>
<style>
        body {
            margin: 0;
            padding: 0;
            overflow: hidden;
            height: 100vh;
            background-color: #f0f0f0;
        }

        .iframe-container {
            position: relative;
            width: 100%;
            height: 100vh;
            overflow: hidden;
        }

        iframe {
            width: 100%;
            height: calc(100% + 0.5cm); /* اضافه کردن 0.5 سانتی‌متر به پایین */
            border: none;
            display: none;
            position: relative;
            top: -0.01cm; /* مخفی کردن 0.01 سانتی‌متر از بالا */
        }

        .loading {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            display: flex;
            flex-direction: column;
            align-items: center;
            z-index: 10000;
        }

        .loading-message {
            margin-bottom: 20px;
            font-size: 18px;
        }

        .progress {
            width: 80%;
            max-width: 400px;
            height: 20px;
            background-color: #ddd;
            border-radius: 5px;
            overflow: hidden;
        }

        .progress-bar {
            height: 100%;
            width: 0;
            background-color: #4caf50;
            transition: width 1s;
        }

        .error-message {
            display: none;
            color: red;
            margin-top: 20px;
            font-size: 16px;
            text-align: center;
        }

        #retryButton {
            display: none;
            margin-top: 10px;
            padding: 10px 20px;
            font-size: 16px;
            cursor: pointer;
            background-color: #4caf50;
            color: white;
            border: none;
            border-radius: 5px;
        }

        .download-button, .description-button {
            display: block;
            width: 120px;
            color: white;
            text-align: center;
            padding: 8px;
            border-radius: 5px;
            cursor: pointer;
            font-size: 14px;
            transition: background-color 0.3s;
            position: fixed;
            top: 10px;
            z-index: 10001;
            text-decoration: none;
        }

        .download-button {
            background-color: #4CAF50;
            right: 10px;
        }

        .description-button {
            background-color: rgb(84, 110, 122);
            left: 10px;
        }

        .download-button:hover, .description-button:hover {
            background-color: #45a049;
        }

        /* استایل پنجره سفارشی (modal) */
        .modal {
            display: none;
            position: fixed;
            z-index: 10002;
            left: 0;
            top: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0, 0, 0, 0.5);
        }

        .modal-content {
            background-color: #fefefe;
            margin: 15% auto;
            padding: 20px;
            border: 1px solid #888;
            width: 90%;
            max-width: 500px;
            text-align: center;
            border-radius: 5px;
        }

        .modal-button {
            margin-top: 20px;
            padding: 10px 20px;
            border: none;
            border-radius: 5px;
            cursor: pointer;
            font-size: 14px;
        }

        .cancel-btn {
            background-color: #f44336;
            color: white;
        }

        .translate-btn {
            background-color: #4CAF50;
            color: white;
        }

        .translate-btn:hover {
            background-color: #45a049;
        }

        .audio-container {
            display: flex;
            flex-direction: column;
            align-items: center;
            margin-top: 15px;
        }

        .audio-item {
            margin: 10px 0;
            width: 100%;
        }

        .audio-player {
            width: 100%;
            margin-bottom: 10px;
        }

        .download-audio-button {
            background-color: #4CAF50;
            color: white;
            padding: 8px 16px;
            border: none;
            border-radius: 5px;
            cursor: pointer;
            font-size: 14px;
        }

        .download-audio-button:hover {
            background-color: #45a049;
        }

        .download-button-bottom {
            position: fixed;
            bottom: 10px;
            left: 50%;
            transform: translateX(-50%);
            background-color: #4CAF50;
            padding: 12px; /* افزایش padding برای پهنای بیشتر */
            width: 250px; /* تعیین عرض بیشتر */
            border-radius: 5px;
            color: white;
            text-align: center;
            font-size: 16px;
            text-decoration: none;
            z-index: 10001;
            cursor: pointer;
        }

        .download-button-bottom:hover {
            background-color: #45a049;
        }
    </style>
<!-- دکمه‌های دانلود و توضیحات -->
<p><a href="#" class="download-button" id="downloadButton">دانلود صدا 📥</a> <a href="#" class="description-button" id="descriptionButton">توضیحات</a></p>
<!-- پنجره سفارشی (modal) برای نمایش صداهای دانلود شده -->
<div id="myModal" class="modal">
<div class="modal-content">
<p style="text-align: center;">صداهای شناسایی شده</p>
<div class="audio-container" id="audioContainer"><!-- پلیرهای صدا در اینجا قرار خواهند گرفت --></div>
<button class="modal-button cancel-btn" id="closeBtn">بستن</button></div>
</div>
<!-- پنجره سفارشی (modal) برای نمایش توضیحات -->
<div id="myDescriptionModal" class="modal">
<div class="modal-content"><hr />
<p><span style="color: #0000ff;">مبدل صوت با هوش مصنوعی</span>&nbsp;</p>
<p>اولین مجموعه تبدیل صوت در <span style="color: #33cccc;">برنامه هوش مصنوعی&nbsp;</span></p>
<p>تبدیل صداها به مدل&zwnj;های دلخواه.</p>
<p>صدای خود را در کادر اول اضافه کنید&nbsp;</p>
<p>و در قسمت پرامپت به چیزی که می&zwnj;خواهید تبدیل بشه توضیحات رو به انگلیسی بنویسید.</p>
<p>چهار جایگاه برای اضافه کردن صدا است که می&zwnj;توانید چند صدای از خودتون قرار بدید تا بهتر شناسایی شوند.</p>
<button class="modal-button translate-btn" id="translateBtn">مترجم</button> <button class="modal-button cancel-btn" id="closeDescriptionBtn">بستن</button></div>
</div>
<!-- لودینگ و iframe -->
<div class="iframe-container">
<div class="loading" id="loadingContainer">
<div class="loading-message">لطفاً صبر کنید...</div>
<div class="progress">
<div class="progress-bar" id="progressBar"></div>
</div>
<div class="error-message" id="errorMessage">بارگیری زیاد طول کشید.<br />در صورت عدم بارگذاری، فیلترشکن خود را روشن کنید.</div>
<button id="retryButton">بارگذاری مجدد</button></div>
<iframe id="myIframe" onload="iframeLoaded()" onerror="iframeError()"></iframe></div>
<!-- دکمه دانلود صدا در پایین صفحه -->
<p><a href="#" class="download-button-bottom" id="downloadButtonBottom">دانلود صدا 📥</a></p>
<p>
<script>
        let progress = 0;
        const progressBar = document.getElementById('progressBar');
        const retryButton = document.getElementById('retryButton');
        const errorMessage = document.getElementById('errorMessage');
        const loadingContainer = document.getElementById('loadingContainer');
        let interval;
        let iframeLoadedFlag = false;

        function startProgress() {
            loadingContainer.style.display = 'flex';
            progressBar.style.width = '0%';
            progress = 0;

            interval = setInterval(() => {
                if (progress < 100) {
                    progress += 10;
                    progressBar.style.width = progress + '%';
                }
                if (progress === 100) {
                    clearInterval(interval);
                    if (!iframeLoadedFlag) {
                        retryButton.style.display = 'block';
                        errorMessage.style.display = 'block';
                    }
                }
            }, 1000);
        }

        function iframeLoaded() {
            iframeLoadedFlag = true;
            clearInterval(interval);
            loadingContainer.style.display = 'none';
            document.getElementById('myIframe').style.display = 'block';
        }

        function iframeError() {
            clearInterval(interval);
            loadingContainer.style.display = 'flex';
            retryButton.style.display = 'block';
            errorMessage.style.display = 'block';
        }

        retryButton.addEventListener('click', function() {
            progress = 0;
            progressBar.style.width = '0%';
            iframeLoadedFlag = false;
            retryButton.style.display = 'none';
            errorMessage.style.display = 'none';
            loadingContainer.style.display = 'flex';
            document.getElementById('myIframe').style.display = 'none';
            loadIframe();
            startProgress();
        });

        function loadIframe() {
            const iframe = document.getElementById('myIframe');
            const urlParts = ['https:', '', 'resembleai-resemble-enhance.hf.space', ''];
            iframe.src = urlParts.join('/');
        }

        function handleDownload(event) {
            event.preventDefault();
            const iframe = document.getElementById('myIframe');
            let iframeDocument;

            try {
                iframeDocument = iframe.contentDocument || iframe.contentWindow.document;
            } catch (error) {
                console.error("دسترسی به محتوای iframe به دلیل محدودیت‌های امنیتی امکان‌پذیر نیست.", error);
                alert("دسترسی به محتوای iframe به دلیل محدودیت‌های امنیتی امکان‌پذیر نیست.");
                return;
            }

            try {
                const audios = iframeDocument.querySelectorAll('audio');
                if (audios.length === 0) {
                    alert("هیچ فایل صوتی با فرمت WAV برای دانلود یافت نشد.");
                    return;
                }

                let wavAudios = [];
                audios.forEach((audio) => {
                    const src = audio.src || audio.getAttribute('src');
                    if (src && src.toLowerCase().includes('.wav')) { // بررسی وجود .wav در هر قسمت از URL
                        wavAudios.push(src);
                    }
                });

                wavAudios = wavAudios.slice(0, 2); // هر بار دو صدا

                if (wavAudios.length === 0) {
                    alert("هیچ فایل صوتی ساخته شده‌ای یافت نشد.");
                    return;
                }

                const audioContainer = document.getElementById('audioContainer');
                audioContainer.innerHTML = '';

                wavAudios.forEach((audioUrl, index) => {
                    const audioItem = document.createElement('div');
                    audioItem.classList.add('audio-item');
                    audioItem.innerHTML = `
                        <audio controls class="audio-player">
                            <source src="${audioUrl}" type="audio/wav">
                            مرورگر شما از پخش این فایل صوتی پشتیبانی نمی‌کند.
                        </audio>
                        <button class="download-audio-button" onclick="downloadAudio('${audioUrl}')">دانلود صدا</button>
                    `;
                    audioContainer.appendChild(audioItem);
                });

                document.getElementById('myModal').style.display = 'block';

            } catch (error) {
                console.error("خطا در شناسایی صداها: ", error);
                alert("خطایی در شناسایی صداها رخ داد.");
            }
        }

        function downloadAudio(audioUrl) {
            const link = document.createElement('a');
            link.href = audioUrl;
            link.download = 'audio.wav';
            document.body.appendChild(link);
            link.click();
            document.body.removeChild(link);
        }

        document.getElementById('downloadButton').addEventListener('click', handleDownload);
        document.getElementById('downloadButtonBottom').addEventListener('click', handleDownload);

        const modal = document.getElementById('myModal');
        const closeBtn = document.getElementById('closeBtn');

        closeBtn.addEventListener('click', function() {
            modal.style.display = 'none';
        });

        window.addEventListener('click', function(event) {
            if (event.target == modal) {
                modal.style.display = 'none';
            }
            if (event.target == descriptionModal) {
                descriptionModal.style.display = 'none';
            }
        });

        const descriptionModal = document.getElementById('myDescriptionModal');
        const descriptionButton = document.getElementById('descriptionButton');
        const closeDescriptionBtn = document.getElementById('closeDescriptionBtn');
        const translateBtn = document.getElementById('translateBtn');

        descriptionButton.addEventListener('click', function(event) {
            event.preventDefault();
            descriptionModal.style.display = 'block';
        });

        closeDescriptionBtn.addEventListener('click', function() {
            descriptionModal.style.display = 'none';
        });

        translateBtn.addEventListener('click', function() {
            window.open('https://translate.google.com/?hl=fa&sl=fa&tl=en&op=translate', '_blank');
        });

        loadIframe();
        startProgress();
    </script>
</p>
این کد بالای من فایل های صوتی رو شناسایی نمیکنه داخل سایت 
تو برای درست کردن کد بالای من از کد پایین الهام بگیر کد پایین فایل های صوتی رو شناسایی می‌کنه بعد کد بالای منو درست کن بفرست 
<p>&nbsp;</p>
<style>
        body {
            margin: 0;
            padding: 0;
            overflow: hidden; /* جلوگیری از ایجاد اسکرول کلی */
            height: 100vh;
            background-color: #f0f0f0;
        }

        .iframe-container {
            position: relative;
            width: 100%;
            height: 100vh;
            overflow: hidden; /* جلوگیری از نمایش فضای اضافی */
        }

        iframe {
            width: 100%;
            height: calc(100% + 95px); /* ارتفاع به اندازه 95px افزایش یافته */
            border: none;
            display: none;
            position: relative;
            top: -95px; /* جابجایی به بالا به اندازه 95px */
        }

        .loading {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            display: flex;
            flex-direction: column;
            align-items: center;
            z-index: 10000;
        }

        .loading-message {
            margin-bottom: 20px;
            font-size: 18px;
        }

        .progress {
            width: 80%;
            max-width: 400px;
            height: 20px;
            background-color: #ddd;
            border-radius: 5px;
            overflow: hidden;
        }

        .progress-bar {
            height: 100%;
            width: 0;
            background-color: #4caf50;
            transition: width 1s;
        }

        .error-message {
            display: none;
            color: red;
            margin-top: 20px;
            font-size: 16px;
            text-align: center;
        }

        #retryButton {
            display: none;
            margin-top: 10px;
            padding: 10px 20px;
            font-size: 16px;
            cursor: pointer;
            background-color: #4caf50;
            color: white;
            border: none;
            border-radius: 5px;
        }

        .download-button, .description-button {
            display: block;
            width: 90px;
            color: white;
            text-align: center;
            padding: 6px;
            border-radius: 5px;
            cursor: pointer;
            font-size: 11px;
            transition: background-color 0.3s;
            position: fixed;
            top: 10px;
            z-index: 10001;
            text-decoration: none;
        }

        .download-button {
            background-color: #4CAF50;
            right: 10px;
        }

        .description-button {
            background-color: rgb(84, 110, 122);
            left: 10px;
        }

        .download-button:hover, .description-button:hover {
            background-color: #45a049;
        }

        .download-button-bottom {
            position: fixed;
            bottom: 10px;
            left: 50%;
            transform: translateX(-50%);
            background-color: #4CAF50;
            padding: 15px 30px; /* افزایش padding برای افزایش عرض و ارتفاع */
            border-radius: 5px;
            color: white;
            text-align: center;
            font-size: 16px; /* افزایش اندازه فونت */
            text-decoration: none;
            z-index: 10001;
            cursor: pointer;
            transition: background-color 0.3s, transform 0.2s;
        }

        .download-button-bottom:hover {
            background-color: #45a049;
            transform: translateX(-50%) scale(1.05); /* افزودن افکت بزرگ‌تر شدن در حالت hover */
        }

        .modal {
            display: none;
            position: fixed;
            z-index: 10002;
            left: 0;
            top: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0, 0, 0, 0.5);
        }

        .modal-content {
            background-color: #fefefe;
            margin: 15% auto;
            padding: 20px;
            border: 1px solid #888;
            width: 80%;
            max-width: 400px;
            text-align: center;
            border-radius: 5px;
        }

        .modal-button {
            margin-top: 20px;
            padding: 10px 20px;
            border: none;
            border-radius: 5px;
            cursor: pointer;
            font-size: 14px;
        }

        .close-btn {
            background-color: #f44336;
            color: white;
        }
    </style>
<!-- دکمه‌های دانلود و توضیحات -->
<p><a href="#" class="download-button" id="downloadButton">دانلود صدا📥</a> <a href="#" class="description-button" id="descriptionButton">توضیحات</a></p>
<!-- پنجره سفارشی (modal) -->
<div id="myModal" class="modal">
<div class="modal-content">
<p>نسخه پیشرفته تبدیل متن به صدا برنامه <span style="color: #00ffff;">هوش مصنوعی</span></p>
<p>برای نمایش زبان فارسی قسمت زبان ها در کادر جستجو بنویسید pers</p>
<p>برای استفاده از صدا های طبیعی</p>
<p>بعد از دریافت فایل صوتی میتونید برید قسمت تغییر صدا با استفاده از مدل های تغییر صدا فایل صوتی رو به صدا های طبیعی و صدای مورد نظر (صدای افراد مشهور) تبدیل کنید.</p>
<button class="modal-button close-btn" id="closeBtn">بستن</button></div>
</div>
<!-- لودینگ و iframe -->
<div class="iframe-container">
<div class="loading" id="loadingContainer">
<div class="loading-message">لطفاً صبر کنید...</div>
<div class="progress">
<div class="progress-bar" id="progressBar"></div>
</div>
<div class="error-message" id="errorMessage">بارگیری زیاد طول کشید.<br />در صورت عدم بارگذاری، فیلترشکن خود را روشن کنید.</div>
<button id="retryButton">بارگذاری مجدد</button></div>
<iframe id="myIframe" onload="iframeLoaded()" onerror="iframeError()"></iframe></div>
<!-- دکمه دانلود صدا در پایین صفحه -->
<p><a href="#" class="download-button-bottom" id="downloadButtonBottom">دانلود صدا📥</a></p>
<p>
<script>
        let progress = 0;
        const progressBar = document.getElementById('progressBar');
        const retryButton = document.getElementById('retryButton');
        const errorMessage = document.getElementById('errorMessage');
        const loadingContainer = document.getElementById('loadingContainer');
        let interval;
        let iframeLoadedFlag = false;

        function startProgress() {
            loadingContainer.style.display = 'flex';
            progressBar.style.width = '0%';
            progress = 0;

            interval = setInterval(() => {
                if (progress < 100) {
                    progress += 10;
                    progressBar.style.width = progress + '%';
                }
                if (progress === 100) {
                    clearInterval(interval);
                    if (!iframeLoadedFlag) {
                        retryButton.style.display = 'block';
                        errorMessage.style.display = 'block';
                    }
                }
            }, 1000);
        }

        function iframeLoaded() {
            iframeLoadedFlag = true;
            clearInterval(interval);
            loadingContainer.style.display = 'none';
            document.getElementById('myIframe').style.display = 'block';
        }

        function iframeError() {
            clearInterval(interval);
            loadingContainer.style.display = 'flex';
            retryButton.style.display = 'block';
            errorMessage.style.display = 'block';
        }

        retryButton.addEventListener('click', function() {
            progress = 0;
            progressBar.style.width = '0%';
            iframeLoadedFlag = false;
            retryButton.style.display = 'none';
            errorMessage.style.display = 'none';
            loadingContainer.style.display = 'flex';
            document.getElementById('myIframe').style.display = 'none';
            loadIframe();
            startProgress();
        });

        function loadIframe() {
            const iframe = document.getElementById('myIframe');
            iframe.src = 'https://thestinger-ilaria-rvc.hf.space/';
        }

        document.getElementById('downloadButton').addEventListener('click', function(event) {
            event.preventDefault();
            downloadAudio();
        });

        document.getElementById('downloadButtonBottom').addEventListener('click', function(event) {
            event.preventDefault();
            downloadAudio();
        });

        function downloadAudio() {
            const iframe = document.getElementById('myIframe');
            const iframeDocument = iframe.contentDocument || iframe.contentWindow.document;

            try {
                const links = iframeDocument.querySelectorAll('a');
                if (links.length === 0) {
                    alert("هیچ لینک صوتی برای دانلود یافت نشد.");
                    return;
                }

                let wavFiles = [];
                links.forEach((link) => {
                    const href = link.href;
                    if (href.endsWith('.wav')) {
                        wavFiles.push(href);
                    }
                });

                if (wavFiles.length === 0) {
                    alert("هیچ فایل صوتی با فرمت .wav پیدا نشد.");
                    return;
                }

                const numFiles = wavFiles.length;

                if (confirm(`${numFiles} فایل صوتی ساخته شده پیدا شد.\nبرای دانلود روی 'تأیید' کلیک کنید. بعد از باز شدن مرورگر سمت راست فایل کلیک کنید و 'بارگیری صدا' را انتخاب کنید.`)) {
                    wavFiles.forEach((audioUrl) => {
                        window.open(audioUrl, '_blank');
                    });
                }

            } catch (error) {
                console.error("خطا در شناسایی فایل‌های صوتی: ", error);
                alert("خطایی در شناسایی فایل‌های صوتی رخ داد.");
            }
        }

        const modal = document.getElementById('myModal');
        const closeBtn = document.getElementById('closeBtn');
        const descriptionButton = document.getElementById('descriptionButton');

        // نمایش پنجره توضیحات
        descriptionButton.addEventListener('click', function(event) {
            event.preventDefault();
            modal.style.display = 'block';
        });

        // دکمه بستن داخل پنجره
        closeBtn.addEventListener('click', function() {
            modal.style.display = 'none';
        });

        // بستن پنجره در صورت کلیک خارج از آن
        window.onclick = function(event) {
            if (event.target == modal) {
                modal.style.display = 'none';
            }
        }

        loadIframe();
        startProgress();
    </script>
</p>