تبدیل صدا به متن یا Speech-to-Text یکی از کاربردیترین فناوریهای هوش مصنوعی در سالهای اخیر است که به سیستمها اجازه میدهد گفتار انسان را دریافت کرده و آن را به متن قابل پردازش تبدیل کنند. این فناوری در دستیارهای صوتی، زیرنویس خودکار ویدئوها، مراکز تماس، جستجوی صوتی و ابزارهای بهرهوری سازمانی استفاده میشود. سیستمهای Speech-to-Text با استفاده از مدلهای یادگیری ماشین، الگوهای صوتی را تحلیل کرده و آنها را به کلمات و جملات قابل خواندن تبدیل میکنند. پیشرفت مدلهای عصبی باعث شده دقت این سیستمها به شکل چشمگیری افزایش یابد و در محیطهای واقعی نیز عملکرد قابل قبولی داشته باشند.
در این مقاله، ابتدا مفهوم Speech-to-Text و نحوه عملکرد آن را بررسی میکنیم، سپس کاربردها و مزایای آن را مرور خواهیم کرد. در ادامه، بهصورت عملی نحوه پیادهسازی تبدیل صدا به متن با استفاده از API رسمی OpenAI را آموزش میدهیم و نمونه کدهای Python و JavaScript را ارائه میکنیم. همچنین به قابلیتهایی مانند پردازش بلادرنگ (Streaming Transcription) و نکات مهم در استفاده عملی از این فناوری خواهیم پرداخت تا بتوانید آن را در پروژههای واقعی خود پیادهسازی کنید.
Speech-to-Text چیست؟

Speech-to-Text یا تبدیل گفتار به متن، فناوریای است که گفتار انسان را دریافت کرده و آن را به متن قابل خواندن و قابل پردازش تبدیل میکند. این فناوری با استفاده از مدلهای یادگیری ماشین و پردازش زبان طبیعی، سیگنالهای صوتی را تحلیل کرده و آنها را به کلمات، عبارات و جملات ساختاریافته تبدیل میکند. در سادهترین تعریف، تبدیل صدا به متن، پلی میان صدای انسان و سیستمهای دیجیتال ایجاد میکند تا ماشینها بتوانند گفتار را درک و ثبت کنند.
در این فرایند، ابتدا سیگنال صوتی ورودی (که میتواند از میکروفن، فایل صوتی یا تماس تلفنی دریافت شود) به داده دیجیتال تبدیل میشود. سپس مدلهای یادگیری ماشین ویژگیهای آکوستیکی صدا را استخراج کرده و آنها را با الگوهای زبانی تطبیق میدهند تا متن نهایی تولید شود. نتیجه این فرایند، نسخهای متنی از گفتار اولیه است که میتواند ذخیره، جستجو یا تحلیل شود.
تفاوت Speech-to-Text با Voice Recognition
گاهی اوقات Speech-to-Text با Voice Recognition اشتباه گرفته میشود، اما این دو مفهوم یکسان نیستند.
- Speech-to-Text تمرکز بر تبدیل محتوای گفتار به متن دارد.
یعنی پاسخ میدهد به این سوال: چه چیزی گفته شد؟
- Voice Recognition (یا Speaker Recognition) تمرکز بر شناسایی گوینده دارد.
یعنی پاسخ میدهد به این سوال: چه کسی صحبت کرد؟
به عبارت دیگر، Speech-to-Text محتوا را استخراج میکند، در حالی که Voice Recognition هویت را تشخیص میدهد.
مثالهای کاربردی Speech-to-Text
فناوری تبدیل صدا به متن در بسیاری از سناریوهای روزمره و سازمانی استفاده میشود، از جمله:
- تولید زیرنویس خودکار برای ویدئوها
- تبدیل جلسات و مصاحبهها به متن مکتوب
- تحلیل تماسهای مراکز پشتیبانی
- جستجوی صوتی در اپلیکیشنها
- مستندسازی خودکار مکالمات پزشکی یا حقوقی
به دلیل همین کاربردهای گسترده، Speech-to-Text به یکی از پایههای اصلی سیستمهای هوش مصنوعی مکالمهای تبدیل شده است و نقش مهمی در بهبود تعامل انسان و ماشین ایفا میکند.
Speech-to-Text چگونه کار میکند؟

فناوری Speech-to-Text برای تبدیل گفتار به متن از چند مرحله متوالی استفاده میکند. این فرایند شامل تحلیل سیگنال صوتی، استخراج الگوهای آکوستیکی و تطبیق آنها با مدلهای زبانی است تا در نهایت متن دقیق و قابل خواندن تولید شود. در ادامه، مراحل اصلی این فرایند را بررسی میکنیم.
۱. دریافت سیگنال صوتی
فرایند با دریافت یک ورودی صوتی آغاز میشود. این ورودی میتواند از منابع مختلفی تامین شود:
- میکروفن زنده
- فایل صوتی ذخیرهشده
- تماس تلفنی
- استریم آنلاین
سیگنال صوتی که ذاتا آنالوگ است، ابتدا به داده دیجیتال تبدیل میشود تا سیستم بتواند آن را پردازش کند. این مرحله شامل نمونهبرداری (Sampling) و تبدیل صدا به داده عددی است.
۲. استخراج ویژگی (Feature Extraction)
در این مرحله، سیستم بهجای کار مستقیم با موج خام صوتی، ویژگیهای مهم آن را استخراج میکند. هدف این کار، سادهسازی داده و تمرکز بر الگوهای آکوستیکی موثر است.
از جمله ویژگیهای رایج در این مرحله میتوان به موارد زیر اشاره کرد:
- فرکانسها
- شدت صدا
- الگوهای زمانی
- ویژگیهای طیفی مانند Mel-Frequency Cepstral Coefficients (MFCC)
این ویژگیها نمایشی فشرده و قابل استفاده از گفتار فراهم میکنند که مدلهای یادگیری ماشین بتوانند آن را تحلیل کنند.
۳. مدل آکوستیک (Acoustic Model)
مدل آکوستیک وظیفه دارد ویژگیهای صوتی استخراجشده را به واحدهای زبانی (مانند فونمها) نگاشت کند. فونمها کوچکترین واحدهای صوتی یک زبان هستند که در کنار هم کلمات را تشکیل میدهند.
مدلهای آکوستیک مدرن معمولا مبتنی بر شبکههای عصبی عمیق هستند و میتوانند:
- تفاوت بین صداهای مشابه را تشخیص دهند
- نویز محیطی را مدیریت کنند
- تنوع در سرعت گفتار یا لهجه را در نظر بگیرند
در این مرحله، سیستم تشخیص میدهد چه صداهایی در حال شنیده شدن هستند.
۴. مدل زبانی (Language Model)
پس از شناسایی واحدهای صوتی، نوبت به مدل زبانی میرسد. مدل زبانی با توجه به ساختار زبان و احتمال وقوع کلمات در کنار یکدیگر، بهترین ترکیب کلمات را انتخاب میکند.
برای مثال، اگر سیستم دو احتمال مشابه داشته باشد، مدل زبانی با در نظر گرفتن قواعد دستوری و آماری، منطقیترین جمله را انتخاب میکند. این مرحله باعث افزایش دقت و طبیعی بودن خروجی میشود.
۵. تولید متن نهایی
در مرحله پایانی، خروجی مدل آکوستیک و مدل زبانی با هم ترکیب میشوند و متن نهایی تولید میشود. این متن ممکن است شامل:
- علائم نگارشی
- اصلاح خودکار اشتباهات رایج
- قالببندی استاندارد
باشد تا نسخهای خوانا و قابل استفاده از گفتار اولیه ارائه دهد.
در مجموع، Speech-to-Text فرایندی چندلایه است که از تحلیل سیگنال صوتی آغاز میشود و با کمک مدلهای یادگیری ماشین و زبانشناسی آماری به متن نهایی میرسد. پیشرفت در مدلهای عصبی و معماریهای مدرن باعث شده این فرآیند با دقت بالاتر و در زمان کوتاهتری انجام شود.
مزایا و کاربردهای Speech-to-Text

فناوری تبدیل صوت به متن علاوه بر تبدیل ساده گفتار به متن، مزایای گستردهای در بهبود تعامل انسان و ماشین، افزایش بهرهوری و خودکارسازی فرایندها دارد. در ادامه، مهمترین کاربردهای این فناوری را بررسی میکنیم.
۱. دستیارهای صوتی (Voice Assistants)
دستیارهای صوتی مانند چتباتهای مکالمهای برای درک دستورات کاربر به فناوری تبدیل گفتار به متن متکی هستند.
در این سیستمها:
- کاربر صحبت میکند.
- گفتار به متن تبدیل میشود.
- مدل هوش مصنوعی متن را تحلیل میکند.
- پاسخ مناسب تولید میشود.
این فرآیند پایهایترین کاربرد Speech-to-Text در تعاملات روزمره دیجیتال است.
۲. مراکز تماس (Contact Centers)
در مراکز پشتیبانی مشتریان، فناوری Speech-to-Text برای تبدیل مکالمات تلفنی به متن استفاده میشود. این کار چند مزیت مهم دارد:
- امکان جستجو در مکالمات ضبطشده
- تحلیل کیفیت خدمات ارائهشده
- شناسایی مشکلات پرتکرار مشتریان
- استخراج خودکار اطلاعات کلیدی از تماسها
با تبدیل تماسها به متن، سازمانها میتوانند از تحلیل داده و ابزارهای هوش مصنوعی برای بهبود تجربه مشتری استفاده کنند.
۳. زیرنویس خودکار (Automatic Captioning)
یکی از رایجترین کاربردهای صدا به متن تولید زیرنویس برای ویدئوها است. این فناوری میتواند:
- جلسات آنلاین را بهصورت زنده زیرنویس کند
- ویدئوهای آموزشی را به متن تبدیل کند
- محتوای رسانهای را در دسترس افراد بیشتری قرار دهد
- این کاربرد نقش مهمی در افزایش دسترسپذیری (Accessibility) دارد.
۴. جستجوی صوتی (Voice Search)
در بسیاری از اپلیکیشنها و وبسایتها، کاربران میتوانند بهجای تایپ کردن، سوال خود را بیان کنند. Speech-to-Text گفتار را به متن تبدیل میکند تا موتور جستجو بتواند آن را پردازش کند.
این کاربرد در موارد زیر بسیار رایج است:
- جستجو در موبایل
- جستجو در خودروهای هوشمند
- دستگاههای IoT
۵. مستندسازی و افزایش بهرهوری
در محیطهای کاری، تبدیل خودکار جلسات، مصاحبهها یا یادداشتهای صوتی به متن باعث صرفهجویی در زمان میشود. برای مثال:
- پزشکان میتوانند گزارش صوتی تهیه کنند و متن آن بهصورت خودکار تولید شود.
- خبرنگاران میتوانند مصاحبهها را سریعتر پیادهسازی کنند.
- تیمهای پروژه میتوانند صورتجلسهها را بهصورت خودکار ثبت کنند.
این کاربردها باعث کاهش کار دستی و افزایش سرعت مستندسازی میشود.
۶. تحلیل دادههای صوتی
وقتی گفتار به متن تبدیل شود، میتوان از ابزارهای تحلیل متن برای استخراج بینش استفاده کرد. برای مثال:
- تحلیل احساسات مشتریان
- استخراج کلمات کلیدی پرتکرار
- شناسایی موضوعات رایج
بدون تبدیل صوت به متن، انجام چنین تحلیلهایی بسیار دشوار خواهد بود.
پیادهسازی Speech-to-Text با OpenAI API
در این بخش بهصورت عملی یاد میگیریم چگونه یک فایل صوتی را با استفاده از API رسمی OpenAI به متن تبدیل کنیم. همچنین نسخه Python و JavaScript را بررسی خواهیم کرد و با مدلها و پارامترهای مهم آشنا میشویم.
مرحله اول: نصب و راهاندازی
نصب کتابخانه Python
|
1 |
pip install —upgrade openai |
تنظیم API Key در محیط
در لینوکس یا مک:
|
1 |
export OPENAI_API_KEY=“YOUR_API_KEY” |
در ویندوز (PowerShell):
|
1 |
setx OPENAI_API_KEY “YOUR_API_KEY” |
پس از تنظیم کلید API، میتوانیم از کلاینت رسمی OpenAI استفاده کنیم.
مرحله دوم: تبدیل فایل صوتی به متن (Python)
در این مثال، یک فایل صوتی (مثلاً audio.mp3) را به متن تبدیل میکنیم.
|
1 2 3 4 5 6 7 8 9 10 11 12 |
from openai import OpenAI client = OpenAI() audio_file = open(“audio.mp3”, “rb”) transcript = client.audio.transcriptions.create( model=“gpt-4o-mini-transcribe”, file=audio_file ) print(transcript.text) |
در این کد:
- model مشخص میکند از کدام مدل تبدیل گفتار به متن استفاده شود.
- file فایل صوتی ورودی است.
- خروجی در transcript.text شامل متن استخراجشده است.
مرحله سوم: تبدیل صوت در JavaScript
همین فرایند را میتوان در Node.js نیز انجام داد.
نصب:
|
1 |
npm install openai |
نمونه کد:
|
1 2 3 4 5 6 7 8 9 10 11 |
import OpenAI from “openai”; import fs from “fs”; const openai = new OpenAI(); const transcript = await openai.audio.transcriptions.create({ file: fs.createReadStream(“audio.mp3”), model: “gpt-4o-mini-transcribe”, }); console.log(transcript.text); |
این کد نیز دقیقا همان کار نسخه Python را انجام میدهد و فایل صوتی را به متن تبدیل میکند.
مرحله چهارم: استفاده از مدلهای مختلف
در مستند رسمی OpenAI چند مدل برای Speech-to-Text معرفی شدهاند، از جمله:
- gpt-4o-mini-transcribe
- whisper-1 (در صورت نیاز به سازگاری با نسخههای قبلی)
مثال استفاده از مدل Whisper:
|
1 2 3 4 5 6 |
transcript = client.audio.transcriptions.create( model=“whisper-1”, file=open(“audio.mp3”, “rb”) ) print(transcript.text) |
مدلهای جدیدتر معمولا دقت بالاتر و عملکرد بهینهتری دارند.
مرحله پنجم: پارامترهای مهم
در هنگام استفاده از API، میتوان پارامترهای مختلفی را تنظیم کرد.
language
اگر زبان فایل صوتی مشخص باشد، میتوان آن را تعیین کرد تا دقت افزایش یابد:
|
1 2 3 4 5 |
transcript = client.audio.transcriptions.create( model=“gpt-4o-mini-transcribe”, file=open(“audio.mp3”, “rb”), language=“en” ) |
temperature
برای کنترل میزان خلاقیت یا تنوع در خروجی (در برخی مدلها):
|
1 2 3 4 5 |
transcript = client.audio.transcriptions.create( model=“gpt-4o-mini-transcribe”, file=open(“audio.mp3”, “rb”), temperature=0 ) |
مقدار پایینتر باعث خروجی پایدارتر و دقیقتر میشود.
response_format
میتوان فرمت خروجی را مشخص کرد، برای مثال JSON یا SRT:
|
1 2 3 4 5 6 7 |
transcript = client.audio.transcriptions.create( model=“gpt-4o-mini-transcribe”, file=open(“audio.mp3”, “rb”), response_format=“srt” ) print(transcript) |
این گزینه برای تولید زیرنویس خودکار بسیار کاربردی است.
استریم کردن صوت (Streaming Transcription)
در بسیاری از کاربردها مانند دستیارهای صوتی، زیرنویس زنده جلسات یا چتباتهای مکالمهای، تبدیل فایل کامل صوتی کافی نیست. در این سناریوها باید گفتار کاربر بهصورت بلادرنگ (Real-time) دریافت و همزمان به متن تبدیل شود. به این فرایند Streaming Transcription گفته میشود.
در حالت استریم، سیستم:
- صوت را بهصورت قطعهقطعه دریافت میکند.
- هر قطعه را بلافاصله برای مدل ارسال میکند.
- متن استخراجشده را بهصورت تدریجی برمیگرداند.
این روش باعث کاهش تاخیر و ایجاد تجربه مکالمهای طبیعیتر میشود.
نمونه کد Streaming در Python
در این مثال، از قابلیت استریم برای دریافت متن بهصورت لحظهای استفاده میکنیم:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
from openai import OpenAI client = OpenAI() with client.audio.transcriptions.stream( model=“gpt-4o-mini-transcribe”, file=open(“audio.mp3”, “rb”) ) as stream: for event in stream: if event.type == “transcript.delta”: print(event.delta, end=“”, flush=True) elif event.type == “transcript.completed”: print(“\n\nTranscription complete.”) |
در این کد:
- از متد stream() استفاده شده است.
- رویداد transcript.delta بخشهای تدریجی متن را برمیگرداند.
- رویداد transcript.completed نشاندهنده پایان فرایند است.
نمونه کد Streaming در JavaScript
در Node.js نیز میتوان بهصورت مشابه از استریم استفاده کرد:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
import OpenAI from “openai”; import fs from “fs”; const openai = new OpenAI(); const stream = await openai.audio.transcriptions.stream({ file: fs.createReadStream(“audio.mp3”), model: “gpt-4o-mini-transcribe”, }); for await (const event of stream) { if (event.type === “transcript.delta”) { process.stdout.write(event.delta); } if (event.type === “transcript.completed”) { console.log(“\n\nTranscription complete.”); } } |
در این نسخه:
- دادهها بهصورت async iterator دریافت میشوند.
- خروجی بهصورت تدریجی در ترمینال نمایش داده میشود.
چه زمانی باید از Streaming استفاده کنیم؟
استفاده از Streaming Transcription در موارد زیر توصیه میشود:
- دستیارهای صوتی بلادرنگ
- زیرنویس زنده جلسات آنلاین
- تماسهای پشتیبانی با تحلیل همزمان
- سیستمهای مکالمهای تعاملی
اگر نیاز به پردازش سریع و بدون انتظار برای پایان فایل صوتی دارید، استریم بهترین گزینه است.
محدودیتها و نکات مهم در استفاده از Speech-to-Text

با وجود پیشرفت چشمگیر مدلهای تبدیل گفتار به متن، این فناوری همچنان با محدودیتهایی مواجه است که در استفاده عملی باید به آنها توجه کرد.
نویز محیطی (Background Noise)
کیفیت صوت ورودی تاثیر مستقیم بر دقت خروجی دارد. صداهای پسزمینه مانند:
- همهمه جمعیت
- صدای خیابان
- نویز دستگاهها
- اکو در محیطهای بزرگ
میتوانند باعث کاهش دقت مدل شوند. استفاده از میکروفن مناسب و محیط کمنویز، تاثیر قابل توجهی در بهبود نتیجه دارد.
لهجه و تنوع گفتاری
مدلهای Speech-to-Text برای طیف گستردهای از لهجهها آموزش دیدهاند، اما:
- لهجههای محلی
- سرعت گفتار بسیار بالا
- تلفظ غیرمعمول
- ترکیب چند زبان در یک جمله
میتواند دقت تشخیص را کاهش دهد. تعیین زبان ورودی (در صورت امکان) به بهبود عملکرد کمک میکند.
کیفیت میکروفن و فرمت فایل
کیفیت سختافزار ضبط صدا بسیار مهم است. عواملی مانند:
- نرخ نمونهبرداری پایین
- فشردهسازی بیش از حد
- اعوجاج صدا
میتوانند باعث کاهش کیفیت تشخیص شوند. استفاده از فایلهای صوتی با کیفیت مناسب و فرمتهای استاندارد (مانند WAV یا MP3 با کیفیت بالا) توصیه میشود.
محدودیت طول فایل
در بسیاری از APIهای تبدیل گفتار به متن، محدودیتهایی برای:
- حجم فایل
- مدت زمان صوت
- اندازه درخواست
وجود دارد. برای فایلهای طولانی، معمولا پیشنهاد میشود صوت به بخشهای کوچکتر تقسیم شده و بهصورت مرحلهای پردازش شود.
زمینه و ابهام زبانی
در جملاتی که چند تفسیر ممکن دارند، مدل ممکن است بر اساس احتمال آماری یکی از آنها را انتخاب کند. در متون تخصصی یا دارای اصطلاحات خاص، ممکن است نیاز به بازبینی انسانی وجود داشته باشد.
جمعبندی
تبدیل گفتار به متن (Speech-to-Text) به یکی از فناوریهای بنیادین در اکوسیستم هوش مصنوعی تبدیل شده است. این فناوری امکان تعامل طبیعیتر میان انسان و ماشین را فراهم میکند و در حوزههایی مانند دستیارهای صوتی، مراکز تماس، زیرنویس خودکار و تحلیل دادههای صوتی نقش کلیدی ایفا میکند.
با پیشرفت مدلهای عصبی و یکپارچهسازی آنها با مدلهای زبانی بزرگ (LLMs)، سیستمهای مکالمهای هوشمند اکنون میتوانند:
- گفتار کاربر را دریافت کنند.
- آن را به متن تبدیل کنند.
- متن را تحلیل کنند.
- پاسخ مناسب تولید کنند.
- و در صورت نیاز، پاسخ را دوباره به صوت تبدیل کنند.
این چرخه کامل، پایه بسیاری از سیستمهای هوش مصنوعی مکالمهای مدرن را تشکیل میدهد.
در آینده، ترکیب Speech-to-Text با مدلهای چندوجهی و سیستمهای بلادرنگ، تجربههای تعاملی طبیعیتر، سریعتر و دقیقتری ایجاد خواهد کرد؛ تجربهای که مرز میان تعامل انسانی و دیجیتال را بیش از پیش کمرنگ میکند.
منابع
aws.amazon.com | developers.openai.com
سوالات متداول
تبدیل صوت به متن یا Speech-to-Text فناوریای است که گفتار انسان را به متن قابل خواندن و پردازش تبدیل میکند. این فناوری پایه بسیاری از سیستمهای Voice AI و دستیارهای صوتی است.
کیفیت ضبط صدا
نویز محیط
لهجه و سرعت گفتار
وضوح تلفظ
تخصصی بودن واژگان
بله. بسیاری از سیستمها از پردازش استریم (Streaming) پشتیبانی میکنند که امکان تبدیل گفتار به متن بهصورت لحظهای را فراهم میکند.
در سیستمهای چندوجهی:
صوت به متن تبدیل میشود
متن وارد مدل زبانی میشود
سیستم تصمیمگیری یا پاسخ تولید میکند
STT درگاه ورود داده صوتی به سیستم هوشمند است.



دیدگاهتان را بنویسید