تشغيل عمليات دُفعة باستخدام Speech CLI

المهام الشائعة عند استخدام خدمة الكلام، هي عمليات دفعية. في هذه المقالة، ستتعلم كيفية تحويل الكلام المجمع إلى نص (التعرف على الكلام)، والنص المجمع إلى كلام (تركيب الكلام) باستخدام Speech CLI. وستتعلم على وجه التحديد كيفية القيام بما يلي:

  • تشغيل التعرف الصوتي المتقطع على دليل الملفات الصوتية
  • تشغيل تصنيع الكلام المتقطع عن طريق التكرار على أحد .tsv الملفات

التحويل المتقطع للكلام إلى نص (التعرف الصوتي)

غالبًا ما يتم استخدام خدمة الكلام للتعرف على الكلام من الملفات الصوتية. في هذا المثال، ستتعلم كيفية التكرار عبر دليل باستخدام Speech CLI لالتقاط إخراج التعرف لكل .wav ملف. يتم استخدام--files العلامة للإشارة إلى الدليل حيث تُخزن الملفات الصوتية، ويتم استخدام حرف البدل *.wav لأمر Speech CLI تشغيل التعرف على كل ملف مع الملحق .wav. يُكتب مخرجات لكل ملف تعريف كقيمة فصل مفصولة بعلامة تبويب في speech_output.tsv.

إشعار

يمكن استخدام --threads الوسائط أيضًا في المقطع التالي spx synthesize للأوامر، وستعتمد السلاسل المتوفرة على وحدة المعالجة المركزية ونسبة تحميلها الحالية.

spx recognize --files C:\your_wav_file_dir\*.wav --output file C:\output_dir\speech_output.tsv --threads 10

فيما يلي مثال على بنية ملف الإخراج.

audio.input.id	recognizer.session.started.sessionid	recognizer.recognized.result.text
sample_1	07baa2f8d9fd4fbcb9faea451ce05475	A sample wave file.
sample_2	8f9b378f6d0b42f99522f1173492f013	Sample text synthesized.

تحويل متقطع للنص إلى كلام (تصنيع الكلام)

أسهل طريقة لتشغيل نص دفعي إلى كلام هي إنشاء ملف جديد .tsv (قيمة مفصولة بعلامات جدولة)، واستخدام --foreach الأمر في Speech CLI. يمكنك إنشاء .tsv ملف باستخدام محرر النص المفضل لديك، لهذا المثال، دعونا text_synthesis.tsv نطلق عليه:

هام

عند نسخ محتويات هذا الملف النصي، تأكَّد من أن ملفك يحتوي على علامة تبويب وليس مسافات بين موقع الملف والنص. في بعض الأحيان، عند نسخ المحتويات من هذا المثال، تُحوّل علامات التبويب إلى مسافات، مما يترتب عليه spx فشل الأمر عند تشغيله.

audio.output	text
C:\batch_wav_output\wav_1.wav	Sample text to synthesize.
C:\batch_wav_output\wav_2.wav	Using the Speech CLI to run batch-synthesis.
C:\batch_wav_output\wav_3.wav	Some more text to test capabilities.

وبعد ذلك، قم بتشغيل أمر للإشارة إلى text_synthesis.tsv، وتنفيذ التصنيع على كل text حقل، وكتابة النتيجة في المسار audio.output المطابق .wav كملف.

spx synthesize --foreach in @C:\your\path\to\text_synthesis.tsv

هذا الأمر هو المكافئ لتشغيل spx synthesize --text "Sample text to synthesize" --audio output C:\batch_wav_output\wav_1.wav لكل سجل في .tsv الملف.

بعض أشياء التي يجب ملاحظتها:

  • توافق رؤوس الأعمدة audio.output وtext مع وسائط سطر الأوامر --audio output و--text على التوالي. يجب تنسيق وسائط سطر الأوامر متعددة الوحدات مثل --audio output في الملف بدون مسافات أو شرطات بادئة أو فترات فاصلة بين السلاسل، على سبيل المثال audio.output. يمكن إضافة أي وسيطات سطر أوامر موجودة أخرى إلى الملف كأعمدة إضافية باستخدام هذا النمط.
  • عند تنسيق الملف بهذه الطريقة، لا يلزم تمرير وسيطات أخرى إلى --foreach.
  • تأكَّد من فصل كل قيمة في .tsv بعلامة تبويب.

ومع ذلك، إذا كان لديك .tsv ملف مثل المثال التالي، مع رؤوس الأعمدة التي لا تطابق وسائط سطر الأوامر:

wav_path    str_text
C:\batch_wav_output\wav_1.wav	Sample text to synthesize.
C:\batch_wav_output\wav_2.wav	Using the Speech CLI to run batch-synthesis.
C:\batch_wav_output\wav_3.wav	Some more text to test capabilities.

يمكنك تجاوز أسماء الحقول هذه إلى الوسائط الصحيحة باستخدام بناء الجملة التالي في --foreach المكالمة. يقوم هذا الأمر بإجراء نفس الاستدعاء كما كان من قبل.

spx synthesize --foreach audio.output;text in @C:\your\path\to\text_synthesis.tsv

الخطوات التالية