diff --git a/docs/harf/index.html b/docs/harf/index.html index 2836c69..77850b9 100644 --- a/docs/harf/index.html +++ b/docs/harf/index.html @@ -239,6 +239,38 @@ +
  • + تأیید هویت گوینده + +
  • +
  • + شناسایی هویت گوینده + +
  • +
  • + تفکیک گوینده‌ها + +
  • +
  • + برچسب‌گذاری گوینده‌ها + +
  • @@ -413,7 +445,7 @@

    مثال: آپلود فایل

    [
         {
    -        "media_url": "https://i.ganjoor.net/a2/41417.mp3",
    +        "media_url": "http://harf.roshan-ai.ir/.../...-41417.mp3",
             "duration": "0:00:44",
             "segments": [
                 {
    @@ -899,6 +931,475 @@ 

    مثال

    POST /ws_api/transcribe_files/wav/sync/
    +

    تأیید هویت گوینده

    +

    هویت گوینده صدا را ارزیابی می‌کند. یک فایل صوتی و تعدادی نمونه‌صدا از یک شخص را دریافت می‌کند و بعد بررسی می‌کند گوینده فایل صوتی تا چه میزان مشابه گوینده‌ای است که نمونه‌صداهایش را داده‌ایم. میزان شباهت با عددی بین منهای یک تا مثبت یک مشخص می‌شود. اگر بیشتر از 0.65 باشد، مقدار فیلد result برابر Verified و اگر نه Rejected خواهد بود. شما می‌توانید این مقدار را نادیده بگیرید و با توجه به میزان مشابهت در فیلد similarity، از آستانه دلخواه خودتان استفاده کنید.

    +

    مثال

    +
    +

    Request

    +
    +
    {
    +    "media_url": "https://api.ganjoor.net/api/audio/file/2121.mp3",
    +    "target_urls": [
    +        "https://api.ganjoor.net/api/audio/file/2191.mp3",
    +        "https://api.ganjoor.net/api/audio/file/2122.mp3"
    +    ]
    +}
    +
    curl  --request POST \ 
    +      --header "Content-Type: application/json" --header "Authorization: Token TOKEN_KEY" \
    +      --data-binary '{
    +    "media_url": "https://api.ganjoor.net/api/audio/file/2121.mp3",
    +    "target_urls": [
    +        "https://api.ganjoor.net/api/audio/file/2191.mp3",
    +        "https://api.ganjoor.net/api/audio/file/2122.mp3"
    +    ]
    +}' \
    +      https://harf.roshan-ai.ir/api/speaker_tasks/verification/
    +
    import requests
    +
    +values = {
    +    "media_url": "https://api.ganjoor.net/api/audio/file/2121.mp3",
    +    "target_urls": [
    +        "https://api.ganjoor.net/api/audio/file/2191.mp3",
    +        "https://api.ganjoor.net/api/audio/file/2122.mp3"
    +    ]
    +}
    +
    +headers = {
    +  'Authorization': 'Token TOKEN_KEY',
    +}
    +response = requests.post('https://harf.roshan-ai.ir/api/speaker_tasks/verification/', data=values, headers=headers)
    +
    +print(response.json())
    +
    +
    +

    Response

    +
    +
    [
    +    {
    +        "result": "Verified",
    +        "similarity": 0.9412897527217865
    +    }
    +]
    +
    +
    +
    POST /api/speaker_tasks/verification/
    + +
    +media_url(required) +
    +
    +Value: + URL + +
    + +

    +vector فایل صوتی‌ای که در آن یک شخص صحبت می‌کند.

    + +



    +

    +target_urls(required) +
    +
    +Value: [URL, ] +

    + +

    +vector نمونه‌صداهای یک شخص.

    + +



    +

    شناسایی هویت گوینده

    +

    هویت گوینده را شناسایی می‌کند. یک فایل صوتی و تعدادی نمونه‌صدا از اشخاص مختلف می‌گیرد و بعد تعیین می‌کند کدام شخص، محتمل‌ترین گوینده فایل صوتی است. میزان شباهت با عددی بین منهای یک و مثبت یک مشخص می‌شود. اگر بیشتر از 0.65 باشد، مقدار فیلد result برابر Identified و اگر نه Unknown خواهد بود. شما می‌توانید این مقدار را نادیده بگیرید و با توجه به میزان مشابهت در فیلد similarity، از آستانه دلخواه خودتان استفاده کنید.

    +

    مثال

    +
    +

    Request

    +
    +
    {
    +    "media_url": "https://i.ganjoor.net/a2/41417.mp3",
    +    "target_urls": {
    +        "spk1_name": [
    +            "https://api.ganjoor.net/api/audio/file/2191.mp3",
    +            "https://api.ganjoor.net/api/audio/file/2122.mp3"
    +        ],
    +        "spk2_name": [
    +            "https://api.ganjoor.net/api/audio/file/18992.mp3"
    +        ]
    +    }
    +}
    +
    curl  --request POST \ 
    +      --header "Content-Type: application/json" --header "Authorization: Token TOKEN_KEY" \
    +      --data-binary '{
    +    "media_url": "https://i.ganjoor.net/a2/41417.mp3",
    +    "target_urls": {
    +        "spk1_name": [
    +            "https://api.ganjoor.net/api/audio/file/2191.mp3",
    +            "https://api.ganjoor.net/api/audio/file/2122.mp3"
    +        ],
    +        "spk2_name": [
    +            "https://api.ganjoor.net/api/audio/file/18992.mp3"
    +        ]
    +    }
    +}' \
    +      https://harf.roshan-ai.ir/api/speaker_tasks/identification/
    +
    import requests
    +
    +values = {
    +    "media_url": "https://i.ganjoor.net/a2/41417.mp3",
    +    "target_urls": {
    +        "spk1_name": [
    +            "https://api.ganjoor.net/api/audio/file/2191.mp3",
    +            "https://api.ganjoor.net/api/audio/file/2122.mp3"
    +        ],
    +        "spk2_name": [
    +            "https://api.ganjoor.net/api/audio/file/18992.mp3"
    +        ]
    +    }
    +}
    +
    +headers = {
    +  'Authorization': 'Token TOKEN_KEY',
    +}
    +response = requests.post('https://harf.roshan-ai.ir/api/speaker_tasks/identification/', data=values, headers=headers)
    +
    +print(response.json())
    +
    +
    +

    Response

    +
    +
    [
    +    {
    +        "result": "Identified",
    +        "most_similar_speaker": "spk1_name",
    +        "similarity": 0.67
    +    }
    +]
    +
    +
    +
    POST /api/speaker_tasks/identification/
    + +
    +media_url(required) +
    +
    +Value: + URL + +
    + +

    +vector فایل صوتی‌ای که در آن یک شخص صحبت می‌کند.

    + +



    +

    +target_urls(required) +
    +
    +Value: + Object + +

    + +

    +vector نمونه‌صداهایی از اشخاص مختلف.

    + +



    +

    تفکیک گوینده‌ها

    +

    وینده‌های مختلف را در یک فایل صوتی تفکیک می‌کند. لیستی از فایل‌های صوتی را دریافت می‌کند. در هر فایل صوتی، افراد مختلفی صحبت می‌کنند. برای هر فایل صوتی، گوینده‌های مختلف را با تعیین زمان شروع، پایان و متن صحبت‌هایشان برمی‌گرداند. هویت گوینده‌ها مشخص نیست و صرفاً جهت بازشناختشان از هم با اسامی کلی مانند speaker_1 و speaker_2 نشانه‌گذاری می‌شوند.

    +

    مثال

    +
    +

    Request

    +
    +
    {
    +    "media_urls": [
    +        "http://harf-dev.roshan-ai.ir/media/files/tmp/football360/football-360-eIMx3-10min.mp3"
    +    ]
    +}
    +
    curl  --request POST \ 
    +      --header "Content-Type: application/json" --header "Authorization: Token TOKEN_KEY" \
    +      --data-binary '{
    +    "media_urls": [
    +        "http://harf-dev.roshan-ai.ir/media/files/tmp/football360/football-360-eIMx3-10min.mp3"
    +    ]
    +}' \
    +      https://harf.roshan-ai.ir/api/speaker_tasks/diarization/
    +
    import requests
    +
    +values = {
    +    "media_urls": [
    +        "http://harf-dev.roshan-ai.ir/media/files/tmp/football360/football-360-eIMx3-10min.mp3"
    +    ]
    +}
    +
    +headers = {
    +  'Authorization': 'Token TOKEN_KEY',
    +}
    +response = requests.post('https://harf.roshan-ai.ir/api/speaker_tasks/diarization/', data=values, headers=headers)
    +
    +print(response.json())
    +
    +
    +

    Response

    +
    +
    [
    +    {
    +        "media_url": "http://harf-dev.roshan-ai.ir/media/files/tmp/football360/football-360-eIMx3-10min.wav",
    +        "segments": [
    +            {
    +                "start": 0.0,
    +                "end": 36.77,
    +                "speaker": "speaker_3",
    +                "text": "سلام علیکم، میرنگان عزیز فوتبال با سیصد و شصت همراهی همیشگی ما، خیلی خوشحالم که در خدمتتون هستیم، بعد از قهرمانی دوگانه پرسپولیس در لیگ و جام حذفی، فرصت ها و تاثیرگذار این فصل پرسپولیس، مهمان ما هستیم، باشون گپ و گفتی قرار بگیرم که، انشاءالله، به شما متوجه شده بودم، در این حد فاصله چند ساله، پرسپولیس رو دیده بودم."
    +            },
    +            {
    +                "start": 37.4,
    +                "end": 38.27,
    +                "speaker": "speaker_3",
    +                "text": "دیروز دیروز"
    +            },
    +            {
    +                "start": 38.27,
    +                "end": 39.52,
    +                "speaker": "speaker_1",
    +                "text": "این ارتباط بود که"
    +            },
    +            {
    +                "start": 39.52,
    +                "end": 46.85,
    +                "speaker": "speaker_3",
    +                "text": "آره، نه، ندیده بودیم دیگه، خیلی خوش اومدی از سنین از این باید شروع کنی؟"
    +            },
    +            {
    +                "start": 48.12,
    +                "end": 49.74,
    +                "speaker": "speaker_0",
    +                "text": "از من شروع کنین"
    +            },
    +            ...
    +        ]
    +    }
    +]
    +
    +
    +
    POST /api/speaker_tasks/diarization/
    + +
    +media_urls(required) +
    +
    +Value: [URL, ] +
    + +

    +vector فایل‌های صوتی.

    + +



    +

    برچسب‌گذاری گوینده‌ها

    +

    گوینده‌های مختلف را در یک فایل صوتی، برچسب‌گذاری می‌کند. یک فایل صوتی را که در آن افراد مختلفی صحبت می‌کنند و نمونه‌صداهایی از اشخاص مختلف را می‌گیرد و بعد در خروجی مشخص می‌کند که هر قطعه‌ای از فایل صوتی که در آن یک نفر صحبت کرده، با احتمال قوی مربوط به کدام یک از اشخاصی است که نمونه‌صداهایش را داده‌ایم. برای هر قطعه‌ای از فایل صوتی که گوینده آن تشخیص داده شده، زمان شروع، زمان پایان، شخصی که به احتمال زیاد گوینده آن قطعه است و میزان شباهت و متن صحبت او برگردانده می‌شود.

    +

    مثال

    +
    +

    Request

    +
    +
    {
    +    "media_url": "http://harf-dev.roshan-ai.ir/media/files/tmp/football360/football-360-eIMx3-10min.mp3",
    +    "target_urls": {
    +        "فردوسی‌پور": [
    +            "http://harf-dev.roshan-ai.ir/media/files/tmp/football360/ferdosipour-1r2pk.mp3",
    +            "http://harf-dev.roshan-ai.ir/media/files/tmp/football360/ferdosipour-E8B9f.mp3",
    +            "http://harf-dev.roshan-ai.ir/media/files/tmp/football360/ferdosipour-i7OLw.mp3"
    +        ],
    +        "بیرانوند": [
    +            "http://harf-dev.roshan-ai.ir/media/files/tmp/football360/beiranvand-HbdG1.mp3",
    +            "http://harf-dev.roshan-ai.ir/media/files/tmp/football360/beiranvand-U3Ejw.mp3",
    +            "http://harf-dev.roshan-ai.ir/media/files/tmp/football360/beiranvand-mkNGM.mp3",
    +            "http://harf-dev.roshan-ai.ir/media/files/tmp/football360/beiranvand-yStaX.mp3"
    +        ],
    +        "پورعلی‌گنجی": [
    +            "http://harf-dev.roshan-ai.ir/media/files/tmp/football360/pouraliganji-6Te95.mp3",
    +            "http://harf-dev.roshan-ai.ir/media/files/tmp/football360/pouraliganji-IvwsB.mp3",
    +            "http://harf-dev.roshan-ai.ir/media/files/tmp/football360/pouraliganji-footballi.mp3"
    +        ],
    +        "رفیعی": [
    +            "http://harf-dev.roshan-ai.ir/media/files/tmp/football360/rafiei-1gIzL.mp3",
    +            "http://harf-dev.roshan-ai.ir/media/files/tmp/football360/rafiei-PEHxk.mp3",
    +            "http://harf-dev.roshan-ai.ir/media/files/tmp/football360/rafiei-SzY9s.mp3",
    +            "http://harf-dev.roshan-ai.ir/media/files/tmp/football360/rafiei-g7l1c.mp3"
    +        ]
    +    }
    +}
    +
    curl  --request POST \ 
    +      --header "Content-Type: application/json" --header "Authorization: Token TOKEN_KEY" \
    +      --data-binary '{
    +    "media_url": "http://harf-dev.roshan-ai.ir/media/files/tmp/football360/football-360-eIMx3-10min.mp3",
    +    "target_urls": {
    +        "فردوسی‌پور": [
    +            "http://harf-dev.roshan-ai.ir/media/files/tmp/football360/ferdosipour-1r2pk.mp3",
    +            "http://harf-dev.roshan-ai.ir/media/files/tmp/football360/ferdosipour-E8B9f.mp3",
    +            "http://harf-dev.roshan-ai.ir/media/files/tmp/football360/ferdosipour-i7OLw.mp3"
    +        ],
    +        "بیرانوند": [
    +            "http://harf-dev.roshan-ai.ir/media/files/tmp/football360/beiranvand-HbdG1.mp3",
    +            "http://harf-dev.roshan-ai.ir/media/files/tmp/football360/beiranvand-U3Ejw.mp3",
    +            "http://harf-dev.roshan-ai.ir/media/files/tmp/football360/beiranvand-mkNGM.mp3",
    +            "http://harf-dev.roshan-ai.ir/media/files/tmp/football360/beiranvand-yStaX.mp3"
    +        ],
    +        "پورعلی‌گنجی": [
    +            "http://harf-dev.roshan-ai.ir/media/files/tmp/football360/pouraliganji-6Te95.mp3",
    +            "http://harf-dev.roshan-ai.ir/media/files/tmp/football360/pouraliganji-IvwsB.mp3",
    +            "http://harf-dev.roshan-ai.ir/media/files/tmp/football360/pouraliganji-footballi.mp3"
    +        ],
    +        "رفیعی": [
    +            "http://harf-dev.roshan-ai.ir/media/files/tmp/football360/rafiei-1gIzL.mp3",
    +            "http://harf-dev.roshan-ai.ir/media/files/tmp/football360/rafiei-PEHxk.mp3",
    +            "http://harf-dev.roshan-ai.ir/media/files/tmp/football360/rafiei-SzY9s.mp3",
    +            "http://harf-dev.roshan-ai.ir/media/files/tmp/football360/rafiei-g7l1c.mp3"
    +        ]
    +    }
    +}' \
    +      https://harf.roshan-ai.ir/api/speaker_tasks/indexing/
    +
    import requests
    +
    +values = {
    +    "media_url": "http://harf-dev.roshan-ai.ir/media/files/tmp/football360/football-360-eIMx3-10min.mp3",
    +    "target_urls": {
    +        "فردوسی‌پور": [
    +            "http://harf-dev.roshan-ai.ir/media/files/tmp/football360/ferdosipour-1r2pk.mp3",
    +            "http://harf-dev.roshan-ai.ir/media/files/tmp/football360/ferdosipour-E8B9f.mp3",
    +            "http://harf-dev.roshan-ai.ir/media/files/tmp/football360/ferdosipour-i7OLw.mp3"
    +        ],
    +        "بیرانوند": [
    +            "http://harf-dev.roshan-ai.ir/media/files/tmp/football360/beiranvand-HbdG1.mp3",
    +            "http://harf-dev.roshan-ai.ir/media/files/tmp/football360/beiranvand-U3Ejw.mp3",
    +            "http://harf-dev.roshan-ai.ir/media/files/tmp/football360/beiranvand-mkNGM.mp3",
    +            "http://harf-dev.roshan-ai.ir/media/files/tmp/football360/beiranvand-yStaX.mp3"
    +        ],
    +        "پورعلی‌گنجی": [
    +            "http://harf-dev.roshan-ai.ir/media/files/tmp/football360/pouraliganji-6Te95.mp3",
    +            "http://harf-dev.roshan-ai.ir/media/files/tmp/football360/pouraliganji-IvwsB.mp3",
    +            "http://harf-dev.roshan-ai.ir/media/files/tmp/football360/pouraliganji-footballi.mp3"
    +        ],
    +        "رفیعی": [
    +            "http://harf-dev.roshan-ai.ir/media/files/tmp/football360/rafiei-1gIzL.mp3",
    +            "http://harf-dev.roshan-ai.ir/media/files/tmp/football360/rafiei-PEHxk.mp3",
    +            "http://harf-dev.roshan-ai.ir/media/files/tmp/football360/rafiei-SzY9s.mp3",
    +            "http://harf-dev.roshan-ai.ir/media/files/tmp/football360/rafiei-g7l1c.mp3"
    +        ]
    +    }
    +}
    +
    +headers = {
    +  'Authorization': 'Token TOKEN_KEY',
    +}
    +response = requests.post('https://harf.roshan-ai.ir/api/speaker_tasks/indexing/', data=values, headers=headers)
    +
    +print(response.json())
    +
    +
    +

    Response

    +
    +
    [
    +    {
    +        "start": 0.12,
    +        "end": 12.87,
    +        "result": "Identified",
    +        "most_similar_speaker": "فردوسی‌پور",
    +        "similarity": 0.86,
    +        "text": "سلام علیکم، بینندگان بازی فوتبال سیصد و شصت همراهان همیشگی ما، خیلی خوشحالم که در خدمتتون هستیم، بعد از قهرمانی دوگانه پرسپولیس در لیگ و جام حذفی فرصت و قناعت شمردیم سه تا از"
    +    },
    +    {
    +        "start": 13.38,
    +        "end": 35.31,
    +        "result": "Identified",
    +        "most_similar_speaker": "فردوسی‌پور",
    +        "similarity": 0.89,
    +        "text": "بازیگر کلیدی و تاثیرگذار این فصل پرسپولیس مهمان ما هستیم باشون گپ و گفتی خواهیم داشت که انشاالله به توجهتون قرار بگیرم از راست شروع کنم سوروش رفیع عزیز، علیزا بیران و مرثا پور علی کنجی که دارم براتون تنگ شده بود، مرثا رو یه بار دیده بودم تو این حد فاصله چند ساله سوروش ندیده بودم اصلا."
    +    },
    +    {
    +        "start": 35.55,
    +        "end": 36.81,
    +        "result": "Identified",
    +        "most_similar_speaker": "فردوسی‌پور",
    +        "similarity": 0.75,
    +        "text": "خیلی گرم است."
    +    },
    +    {
    +        "start": 37.89,
    +        "end": 45.87,
    +        "result": "Identified",
    +        "most_similar_speaker": "فردوسی‌پور",
    +        "similarity": 0.87,
    +        "text": "در ارتباط بودی؟ آره، نه، ندیده بودی دیگه، خیلی خوش اومدی از سنی از این مسابقه شروع کنی؟"
    +    },
    +    {
    +        "start": 46.53,
    +        "end": 48.45,
    +        "result": "unknown",
    +        "most_similar_speaker": "بیرانوند",
    +        "similarity": 0.51,
    +        "text": "هی"
    +    },
    +    {
    +        "start": 48.45,
    +        "end": 56.22,
    +        "result": "Identified",
    +        "most_similar_speaker": "رفیعی",
    +        "similarity": 0.81,
    +        "text": "از من شروع کن، درود، عرض ادب، خدمت شما، همه ی دوستان و"
    +    },
    +    {
    +        "start": 56.64,
    +        "end": 61.62,
    +        "result": "Identified",
    +        "most_similar_speaker": "رفیعی",
    +        "similarity": 0.8,
    +        "text": "بینندگان محترم برنامه تون، خیلی خوشحالم که بعد از مدتها دوباره می بینمتون"
    +    },
    +    ...
    +]
    +
    +
    +
    POST /api/speaker_tasks/indexing/
    + +
    +media_url(required) +
    +
    +Value: + URL + +
    + +

    +vector فایل صوتی‌ای که در آن افراد مختلفی صحبت می‌کنند.

    + +



    +

    +target_urls(required) +
    +
    +Value: + Object + +

    + +

    +vector نمونه‌صداهایی از اشخاص مختلف.

    + +



    diff --git a/docs/naghsh/index.html b/docs/naghsh/index.html index e32d8d0..7a6c9e0 100644 --- a/docs/naghsh/index.html +++ b/docs/naghsh/index.html @@ -11100,6 +11100,75 @@ } }; +window.addEventListener('DOMContentLoaded',() => { + let tocLinks = document.getElementsByClassName('toc-link'); + + for(let i = 0; i < tocLinks.length; i++) { + tocLinks[i].addEventListener('click', () => { + for(let i = 0; i < tocLinks.length; i++) { + tocLinks[i].classList.add('toc-unstyled') + } + }) + } + + var sl = new Scroll(400); + + sl.addEventListener("end", function () { + for(let i = 0; i < tocLinks.length; i++) { + tocLinks[i].classList.remove('toc-unstyled') + } + }); +}); + +