وب سرویس rest متن به صدا آریانا
در مفاله قبل در مورد معرفی وب سرویس ابری متن به گفتار توضیح دادیم در این مقاله در مورد وب سرویس rest متن به گفتار صحبت خواهیم کرد.
این وبسرویس مبتنی بر استاندارد REST و بر پایه پروتکل HTTP طراحی شده است. دسترسی به این سرویس از طریق متد تشریح شده در ذیل ممکن است. برنامههای نمونه شامل تمام قابلیتهای موجود در سرویس آریانا به همراه سورسکد مربوطه در پوشه نصب آریانا قابل دسترس هستند.
آدرس متد
http://{ServerIP}:{ServerPort}/ArianaRESTService/ReadText/
مقدار پیش فرض Server Port تنظیم شده در کنسول آریانا، 1385 است.
ساختارهای فراخوانی
فراخوانی متد توسط HTTP POST انجام میشود.
فرمت ورود دادهها بدین شکل است:
Content-type: application/json
{
“Text”:”متن درخواستی”,
“Speaker”:”Female1″,
“PitchLevel”:”0″,
“PunctuationLevel”:”0″,
“SpeechSpeedLevel“:”0“,
“ToneLevel”:”0“,
“GainLevel”:”0“,
“BeginningSilence”:”0“,
“EndingSilence”:”0“,
“Format”:”mp3″,
“Quality”:”normal”,
“Base64Encode“:”0”,
“Username”:”test”,
“Password”:”test”
}
توجه شود که حتماً در Header درخواست POST، نوع داده (Content-type) به صورت application/json مشخص گردد.
سرویس آریانا پس از پردازش متن درخواستی، صوت تبدیل شده را در جواب به صورت Byte Stream ارسال مینماید.
درخواست پردازش متن به صورت غیر همزمان (Blocking) بوده و کلاینت موظف است تا اتمام پردازش متن و آماده شدن کامل صوت، منتظر پاسخ بماند. لذا نیاز است پارامتر Timeout در کلاینت به مقدار مناسبی تنظیم شود تا درخواست POST قبل از اتمام پردازش قطع نشود. مقدار پیشنهادی این پارامتر برای متن طولانی، حداقل 120 ثانیه است.
شرح پارامترها
Text | متن درخواستی برای پردازش |
Speaker | گوینده متن مقادیر: Female1, Male1 (پیشفرض Female1) انتخاب پیشفرض: ” (empty string) |
PitchLevel | میزان زیر و بمی صدا مقادیر: 1 تا 10 (پیشفرض 4) انتخاب پیشفرض: 0 |
PunctuationLevel | سطح خواندن علائم نگارشی مقادیر: 1 تا 3 (پیشفرض 2) انتخاب پیشفرض: 0 |
SpeechSpeedLevel | سرعت خواندن مقادیر: 1 تا 10 (پیشفرض 5) انتخاب پیشفرض: 0 |
ToneLevel | تن صدا مقادیر: 1 تا 19 (پیشفرض 10) انتخاب پیشفرض: 0 |
GainLevel | بلندی مقادیر: 1 تا 5 (پیشفرض 3) انتخاب پیشفرض: 0 |
BeginningSilence | تعداد ثانیه های سکوت ابتدای صوت مقادیر: 0 تا 5 (پیشفرض 0) |
EndingSilence | تعداد ثانیه های سکوت انتهای صوت مقادیر: 0 تا 5 (پیشفرض 0) |
Format | فرمت گفتار تبدیل شده مقادیر: wav16: Wave 16KHz Mono 16bit (پیشفرض wav16) |
Quality | کیفیت صدای ساخته شده مقادیر: normal: صدا با کیفیت نرمال – پیش فرض low: صدا با کیفیت کمتر و زمان ساخت سریعتر |
Base64Encode | استفاده از Base64 Encoding در ارسال متن ورودی و بافر صوتی خروجی مقادیر: 0 تا 4 (پیشفرض 0) مقادیر 0 و 1 از Base64 Encoding استفاده نمیشود. مقدار 2 برای ارسال متن ورودی از Base64 Encoding استفاده شده است. مقدار 3 برای ارسال بافر صوتی خروجی از Base64 Encoding استفاده میشود. مقدار 4 برای ارسال متن ورودی و بافر صوتی خروجی از Base64 Encoding استفاده میشود. |
Username/ Password | نام کاربری و گذرواژه تعریف شده در تنظیمات آریانا کنسول |
انتخاب پیشفرض، مقداری را انتخاب میکند که در آریانا کنسول در قسمت Speech/Text Defaults تعیین شده است. |
در این مطلب در مورد وب سرویس rest متن به گفتار صحبت کردیم در مطلب بعدی در مورد کاربرد وب سرویس متن به گفتار صحبت خواهیم کرد.