Toplu transkripsiyon oluşturma

Toplu transkripsiyonlarla ses verilerini toplu olarak gönderirsiniz. Hizmet ses verilerinin dökümünü alır ve sonuçları bir depolama kapsayıcısında depolar. Ardından sonuçları depolama kapsayıcısından alabilirsiniz.

Önemli

Konuşmayı metne dönüştürme REST API v3.2 kullanılarak toplu transkripsiyon için yeni fiyatlandırma uygulanır. Daha fazla bilgi için fiyatlandırma kılavuzuna bakın.

Önkoşullar

  • Konuşma SDK'sı yüklü.
  • Standart (S0) Konuşma kaynağı. Ücretsiz kaynaklar (F0) desteklenmez.

Transkripsiyon işi oluşturma

Transkripsiyon oluşturmak için Konuşmayı metne dönüştürme REST API'sinin Transcriptions_Create işlemini kullanın. İstek gövdesini aşağıdaki yönergelere göre oluşturun:

  • veya contentUrls özelliğini ayarlamanız contentContainerUrl gerekir. Toplu transkripsiyon için Azure blob depolama hakkında daha fazla bilgi için bkz . Toplu transkripsiyon için ses dosyalarını bulma.
  • Gerekli locale özelliği ayarlayın. Bu değer, döküm için ses verilerinin beklenen yerel ayarıyla eşleşmelidir. Yerel ayarı daha sonra değiştiremezsiniz.
  • Gerekli displayName özelliği ayarlayın. Daha sonra başvurabileceğiniz bir transkripsiyon adı seçin. Transkripsiyon adının benzersiz olması gerekmez ve daha sonra değiştirilebilir.
  • İsteğe bağlı olarak, temel model dışında bir model kullanmak için özelliğini model kimliği olarak ayarlayın model . Daha fazla bilgi için bkz . Özel model kullanma ve Fısıltı modeli kullanma.
  • İsteğe bağlı olarak, döküm sonuçlarında sözcük düzeyi zaman damgalarını etkinleştirmek için özelliğini true olarak ayarlayınwordLevelTimestampsEnabled. Varsayılan değer şudur: false. Fısıltı modelleri için bunun yerine özelliğini ayarlayın displayFormWordLevelTimestampsEnabled . Fısıltı yalnızca görüntüleme modeli olduğundan sözcük alanı transkripsiyonda doldurulmuyor.
  • İsteğe bağlı olarak özelliğini ayarlayın languageIdentification . Dil belirleme, desteklenen diller listesiyle karşılaştırıldığında seste konuşulan dilleri tanımlamak için kullanılır. Özelliğini ayarlarsanız languageIdentification , aday yerel ayarlarıyla da ayarlamanız languageIdentification.candidateLocales gerekir.

Daha fazla bilgi için bkz . Yapılandırma seçenekleri isteme.

Aşağıdaki Transcriptions_Create örnekte gösterildiği gibi URI'yi kullanan bir HTTP POST isteği oluşturun.

  • değerini Konuşma kaynak anahtarınız ile değiştirin YourSubscriptionKey .
  • değerini Konuşma kaynak bölgenizle değiştirin YourServiceRegion .
  • İstek gövdesi özelliklerini daha önce açıklandığı gibi ayarlayın.
curl -v -X POST -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey" -H "Content-Type: application/json" -d '{
  "contentUrls": [
    "https://crbn.us/hello.wav",
    "https://crbn.us/whatstheweatherlike.wav"
  ],
  "locale": "en-US",
  "displayName": "My Transcription",
  "model": null,
  "properties": {
    "wordLevelTimestampsEnabled": true,
    "languageIdentification": {
      "candidateLocales": [
        "en-US", "de-DE", "es-ES"
      ],
    }
  },
}'  "https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions"

Aşağıdaki biçimde bir yanıt gövdesi almanız gerekir:

{
  "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions/db474955-ab85-4c6c-ba6e-3bfe63d041ba",
  "model": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/base/13fb305e-09ad-4bce-b3a1-938c9124dda3"
  },
  "links": {
    "files": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions/db474955-ab85-4c6c-ba6e-3bfe63d041ba/files"
  },
  "properties": {
    "diarizationEnabled": false,
    "wordLevelTimestampsEnabled": true,
    "channels": [
      0,
      1
    ],
    "punctuationMode": "DictatedAndAutomatic",
    "profanityFilterMode": "Masked",
    "languageIdentification": {
      "candidateLocales": [
        "en-US",
        "de-DE",
        "es-ES"
      ]
    }
  },
  "lastActionDateTime": "2022-10-21T14:18:06Z",
  "status": "NotStarted",
  "createdDateTime": "2022-10-21T14:18:06Z",
  "locale": "en-US",
  "displayName": "My Transcription"
}

Yanıt gövdesindeki en üst düzey self özellik transkripsiyonun URI'sini gösterir. Transkripsiyonların URI'sini ve transkripsiyon rapor dosyalarının URI'sini almak için bu URI'yi kullanın. Transkripsiyonu güncelleştirmek veya silmek için de bu URI'yi kullanırsınız.

transkripsiyonlarınızın durumunu Transcriptions_Get işlemiyle sorgulayabilirsiniz.

Sonuçları aldıktan sonra Transcriptions_Delete düzenli olarak hizmetten arayın. Alternatif olarak, sonuçların timeToLive nihai silinmesini sağlamak için özelliğini ayarlayın.

Transkripsiyon oluşturmak için komutunu kullanın spx batch transcription create . İstek parametrelerini aşağıdaki yönergelere göre oluşturun:

  • Gerekli content parametreyi ayarlayın. Tek tek dosyaların noktalı virgülle ayrılmış listesini veya kapsayıcının tamamının URL'sini belirtebilirsiniz. Toplu transkripsiyon için Azure blob depolama hakkında daha fazla bilgi için bkz . Toplu transkripsiyon için ses dosyalarını bulma.
  • Gerekli language özelliği ayarlayın. Bu değer, döküm için ses verilerinin beklenen yerel ayarıyla eşleşmelidir. Yerel ayarı daha sonra değiştiremezsiniz. Konuşma CLI language parametresi, JSON isteğindeki ve yanıttaki özelliğine karşılık gelir locale .
  • Gerekli name özelliği ayarlayın. Daha sonra başvurabileceğiniz bir transkripsiyon adı seçin. Transkripsiyon adının benzersiz olması gerekmez ve daha sonra değiştirilebilir. Konuşma CLI name parametresi, JSON isteğindeki ve yanıttaki özelliğine karşılık gelir displayName .

Aşağıda transkripsiyon işi oluşturan örnek bir Konuşma CLI komutu verilmişti:

spx batch transcription create --name "My Transcription" --language "en-US" --content https://crbn.us/hello.wav;https://crbn.us/whatstheweatherlike.wav

Aşağıdaki biçimde bir yanıt gövdesi almanız gerekir:

{
  "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions/7f4232d5-9873-47a7-a6f7-4a3f00d00dc0",
  "model": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/base/13fb305e-09ad-4bce-b3a1-938c9124dda3"
  },
  "links": {
    "files": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions/7f4232d5-9873-47a7-a6f7-4a3f00d00dc0/files"
  },
  "properties": {
    "diarizationEnabled": false,
    "wordLevelTimestampsEnabled": false,
    "channels": [
      0,
      1
    ],
    "punctuationMode": "DictatedAndAutomatic",
    "profanityFilterMode": "Masked"
  },
  "lastActionDateTime": "2022-10-21T14:21:59Z",
  "status": "NotStarted",
  "createdDateTime": "2022-10-21T14:21:59Z",
  "locale": "en-US",
  "displayName": "My Transcription",
  "description": ""
}

Yanıt gövdesindeki en üst düzey self özellik transkripsiyonun URI'sini gösterir. Transkripsiyonların URI'sini ve transkripsiyon rapor dosyalarının URI'sini almak için bu URI'yi kullanın. Transkripsiyonu güncelleştirmek veya silmek için de bu URI'yi kullanırsınız.

Transkripsiyonlarla ilgili Konuşma CLI'sı yardımı için aşağıdaki komutu çalıştırın:

spx help batch transcription

yapılandırma seçenekleri isteme

Transcriptions_Create işlemini çağırdığınızda transkripsiyonu yapılandırmak için kullanabileceğiniz bazı özellik seçenekleri aşağıdadır.

Özellik Açıklama
channels İşlenecek kanal numaraları dizisi. ve kanalları 01 varsayılan olarak döküme alınır.
contentContainerUrl Tek tek ses dosyalarını veya tüm depolama kapsayıcısını gönderebilirsiniz.

veya contentUrls özelliğini kullanarak ses verilerinin contentContainerUrl konumunu belirtmeniz gerekir. Toplu transkripsiyon için Azure blob depolama hakkında daha fazla bilgi için bkz . Toplu transkripsiyon için ses dosyalarını bulma.

Bu özellik yanıtta döndürülmüyor.
contentUrls Tek tek ses dosyalarını veya tüm depolama kapsayıcısını gönderebilirsiniz.

veya contentUrls özelliğini kullanarak ses verilerinin contentContainerUrl konumunu belirtmeniz gerekir. Daha fazla bilgi için bkz . Toplu transkripsiyon için ses dosyalarını bulma.

Bu özellik yanıtta döndürülmüyor.
destinationContainerUrl Sonuç bir Azure kapsayıcısında depolanabilir. Kapsayıcı belirtmezseniz Konuşma hizmeti sonuçları Microsoft tarafından yönetilen bir kapsayıcıda depolar. Transkripsiyon işi silindiğinde, transkripsiyon sonucu verileri de silinir. Desteklenen güvenlik senaryoları gibi daha fazla bilgi için bkz . Hedef kapsayıcı URL'si belirtme.
diarization Konuşma hizmetinin, birden çok ses içeren mono kanal olması beklenen girişte darizasyon analizi denemesi gerektiğini gösterir. Bu özellik stereo kayıtlarda kullanılamaz.

Diarizasyon, ses verilerinde hoparlörleri ayırma işlemidir. Toplu işlem hattı, mono kanal kayıtlarında birden çok konuşmacıyı tanıyabilir ve birbirinden ayırabilir.

Konuşuyor olabilecek en az ve en fazla kişi sayısını belirtin. Özelliğini trueolarak da ayarlamanız diarizationEnabled gerekir. Transkripsiyon dosyası, dökümü alınan her tümceciği için bir speaker girdi içerir.

Üç veya daha fazla konuşmacı beklediğiniz zaman bu özelliği kullanmanız gerekir. İki hoparlör için özelliğini true ayarlamak diarizationEnabled yeterlidir. Özellik kullanımı örneği için bkz . Transcriptions_Create.

Dikerleştirme için maksimum hoparlör sayısı 36'dan az ve özelliğine minSpeakers eşit veya daha fazla olmalıdır. Bir örnek için bkz . Transcriptions_Create.

Bu özellik seçildiğinde, kaynak ses uzunluğu dosya başına 240 dakikayı aşamaz.

Not: Bu özellik yalnızca Konuşmayı metne dönüştürme REST API sürüm 3.1 ve üzeri ile kullanılabilir. Bu özelliği sürüm 3.0 gibi önceki bir sürümle ayarlarsanız yoksayılır ve yalnızca iki hoparlör tanımlanır.
diarizationEnabled Konuşma hizmetinin, iki ses içeren mono kanal olması beklenen girişte darizasyon analizi denemesi gerektiğini belirtir. Varsayılan değer şudur: false.

Üç veya daha fazla ses için özelliğini diarizationde kullanmanız gerekir. Yalnızca Konuşmayı metne dönüştürme REST API sürüm 3.1 ve üzeri ile kullanın.

Bu özellik seçildiğinde, kaynak ses uzunluğu dosya başına 240 dakikayı aşamaz.
displayName Toplu transkripsiyonun adı. Daha sonra başvurabileceğiniz bir ad seçin. Görünen adın benzersiz olması gerekmez.

Bu özellik gereklidir.
displayFormWordLevelTimestampsEnabled Transkripsiyon sonuçlarının görüntüleme biçimine sözcük düzeyi zaman damgalarının eklenip eklenmeyeceğini belirtir. Sonuçlar transkripsiyon dosyasının özelliğinde döndürülür displayWords . Varsayılan değer şudur: false.

Not: Bu özellik yalnızca Konuşmayı metne dönüştürme REST API sürüm 3.1 ve üzeri ile kullanılabilir.
languageIdentification Dil belirleme, desteklenen diller listesiyle karşılaştırıldığında seste konuşulan dilleri tanımlamak için kullanılır.

Özelliğini ayarlarsanız languageIdentification , kapalı candidateLocales özelliğini de ayarlamanız gerekir.
languageIdentification.candidateLocales Dil belirleme için aday yerel ayarlar, örneğin "properties": { "languageIdentification": { "candidateLocales": ["en-US", "de-DE", "es-ES"]}}. Transkripsiyon için ana yerel ayar da dahil olmak üzere en az iki ve en fazla on aday yerel ayar desteklenir.
locale Toplu transkripsiyonun yerel ayarı. Bu değer, döküm için ses verilerinin beklenen yerel ayarıyla eşleşmelidir. Yerel ayar daha sonra değiştirilemez.

Bu özellik gereklidir.
model özelliğini belirli bir temel modeli veya özel konuşma modelini kullanacak şekilde ayarlayabilirsinizmodel. belirtmezseniz model, yerel ayar için varsayılan temel model kullanılır. Daha fazla bilgi için bkz . Özel model kullanma ve Fısıltı modeli kullanma.
profanityFilterMode Tanıma sonuçlarında küfürlerin nasıl işleneceğini belirtir. Kabul edilen değerler None küfür filtrelemeyi devre dışı bırakmak, Masked küfürleri yıldız işaretiyle değiştirmek, Removed sonuçtan tüm küfürleri kaldırmak veya Tags küfür etiketleri eklemektir. Varsayılan değer şudur: Masked.
punctuationMode Tanıma sonuçlarında noktalama işaretlerinin nasıl işleneceğini belirtir. Kabul edilen değerler None noktalama işaretlerini devre dışı bırakmak, Dictated açık (konuşulan) noktalama işaretlerini ima etmek, Automatic kod çözücüye noktalama işaretleriyle başa çıkabilmek veya DictatedAndAutomatic dikte edilmiş ve otomatik noktalama işaretleri kullanmaktır. Varsayılan değer şudur: DictatedAndAutomatic.

Bu özellik Whisper modelleri için geçerli değildir.
timeToLive Transkripsiyon işi oluşturulduktan sonra transkripsiyon sonuçlarının otomatik olarak silineceği süre. Bu değer ISO 8601 ile kodlanmış bir süredir. Örneğin, 12 saat belirtin PT12H . Alternatif olarak, transkripsiyon sonuçlarını aldıktan sonra düzenli olarak Transcriptions_Delete çağırabilirsiniz.
wordLevelTimestampsEnabled Çıktıya sözcük düzeyi zaman damgalarının eklenip eklenmediğini belirtir. Varsayılan değer şudur: false.

Bu özellik Whisper modelleri için geçerli değildir. Fısıltı yalnızca görüntüleme modeli olduğundan sözcük alanı transkripsiyonda doldurulmuyor.

Transkripsiyon yapılandırma seçenekleriyle ilgili Konuşma CLI'sı yardımı için aşağıdaki komutu çalıştırın:

spx help batch transcription create advanced

Özel model kullanma

Toplu transkripsiyon, belirttiğiniz yerel ayar için varsayılan temel modeli kullanır. Varsayılan temel modeli kullanmak için herhangi bir özellik ayarlamanız gerekmez.

İsteğe bağlı olarak, özelliğini belirli bir temel modeli veya özel konuşma modelini kullanacak şekilde ayarlayarak önceki döküm oluşturma örneğinimodel değiştirebilirsiniz.

curl -v -X POST -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey" -H "Content-Type: application/json" -d '{
  "contentUrls": [
    "https://crbn.us/hello.wav",
    "https://crbn.us/whatstheweatherlike.wav"
  ],
  "locale": "en-US",
  "displayName": "My Transcription",
  "model": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/base/1aae1070-7972-47e9-a977-87e3b05c457d"
  },
  "properties": {
    "wordLevelTimestampsEnabled": true,
  },
}'  "https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions"
spx batch transcription create --name "My Transcription" --language "en-US" --content https://crbn.us/hello.wav;https://crbn.us/whatstheweatherlike.wav --model "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/base/1aae1070-7972-47e9-a977-87e3b05c457d"

Toplu transkripsiyon için özel konuşma modeli kullanmak için modelin URI'sine ihtiyacınız vardır. Yanıt gövdesindeki en üst düzey self özellik, modelin URI'sine sahiptir. Model oluştururken veya alırken model konumunu alabilirsiniz. Daha fazla bilgi için Model oluşturma'daki JSON yanıt örneğine bakın.

Süresi dolan modeller için toplu transkripsiyon istekleri 4xx hatasıyla başarısız olur. model özelliğini süresi dolmamış bir temel modele veya özel modele ayarlayın. Aksi takdirde, her zaman en son temel modeli kullanmak için özelliğini eklemeyin model . Daha fazla bilgi için bkz . Model seçme ve Özel konuşma modeli yaşam döngüsü.

Fısıltı modeli kullanma

Azure AI Konuşma, toplu transkripsiyon API'sini kullanarak OpenAI'nin Whisper modelini destekler. Toplu transkripsiyon için Whisper modelini kullanabilirsiniz.

Not

Azure OpenAI Hizmeti, zaman uyumlu REST API'siyle konuşmayı metne dönüştürmeye yönelik OpenAI Fısıltı modelini de destekler. Daha fazla bilgi edinmek için bkz . Azure OpenAI Fısıltı modeliyle konuşmayı metne dönüştürme. Azure AI Konuşma ve Azure OpenAI Hizmeti'nin ne zaman kullanılacağı hakkında daha fazla bilgi için bkz . Whisper modeli nedir?

Toplu transkripsiyon için Whisper modelini kullanmak için özelliğini ayarlamanız model gerekir. Fısıltı yalnızca görüntüleme modeli olduğundan sözcük alanı yanıtta doldurulamaz.

Önemli

Fısıltı modelleri için her zaman konuşmayı metne dönüştürme API'sinin 3.2 sürümünü kullanmanız gerekir.

Toplu transkripsiyona göre fısıltı modelleri Avustralya Doğu, Orta ABD, Doğu ABD, Orta Kuzey ABD, Orta Güney ABD, Güneydoğu Asya ve Batı Avrupa bölgelerinde desteklenir.

Tüm yerel ayarlar için kullanılabilir temel modelleri almak için Models_ListBaseModels isteğinde bulunabilirsiniz.

Bölge için aşağıdaki örnekte gösterildiği gibi bir HTTP GET isteği oluşturun eastus . değerini Konuşma kaynak anahtarınız ile değiştirin YourSubscriptionKey . Farklı bir bölge kullanıyorsanız değiştirin eastus .

curl -v -X GET "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2-preview.2/models/base" -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey"

Varsayılan olarak, yalnızca en eski 100 temel model döndürülür. Sonuçları sayfalandırmak skip için ve top sorgu parametrelerini kullanın. Örneğin, aşağıdaki istek ilk 100'lerden sonraki 100 temel modeli döndürür.

curl -v -X GET "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2-preview.2/models/base?skip=100&top=100" -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey"

Desteklenen bölgelerden birinde konuşma kaynağı için yapılandırma değişkenlerini ayarladığınızdan emin olun. Tüm yerel ayarlar için kullanılabilir temel modelleri almak için komutunu çalıştırabilirsiniz spx csr list --base .

spx csr list --base --api-version v3.2-preview.2

displayName Fısıltı modelinin özelliği, bu örnekte gösterildiği gibi "Fısıltı" içerir. Fısıltı yalnızca görüntüleme modeli olduğundan sözcük alanı transkripsiyonda doldurulmuyor.

{
  "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2-preview.2/models/base/e418c4a9-9937-4db7-b2c9-8afbff72d950",
  "links": {
    "manifest": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2-preview.2/models/base/e418c4a9-9937-4db7-b2c9-8afbff72d950/manifest"
  },
  "properties": {
    "deprecationDates": {
      "adaptationDateTime": "2025-04-15T00:00:00Z",
      "transcriptionDateTime": "2026-04-15T00:00:00Z"
    },
    "features": {
      "supportsTranscriptions": true,
      "supportsEndpoints": false,
      "supportsTranscriptionsOnSpeechContainers": false,
      "supportsAdaptationsWith": [
        "Acoustic"
      ],
      "supportedOutputFormats": [
        "Display"
      ]
    },
    "chargeForAdaptation": true
  },
  "lastActionDateTime": "2024-02-29T15:53:28Z",
  "status": "Succeeded",
  "createdDateTime": "2024-02-29T15:46:07Z",
  "locale": "en-US",
  "displayName": "20240228 Whisper Large V2",
  "description": "OpenAI Whisper Model in Azure AI Speech (Whisper v2-large)"
},

Bölge için bu örnekte gösterildiği gibi tam model URI'sini eastus ayarlarsınız. değerini Konuşma kaynak anahtarınız ile değiştirin YourSubscriptionKey . Farklı bir bölge kullanıyorsanız değiştirin eastus .

curl -v -X POST -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey" -H "Content-Type: application/json" -d '{
  "contentUrls": [
    "https://crbn.us/hello.wav",
    "https://crbn.us/whatstheweatherlike.wav"
  ],
  "locale": "en-US",
  "displayName": "My Transcription",
  "model": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2-preview.2/models/base/d9cbeee6-582b-47ad-b5c1-6226583c92b6"
  },
  "properties": {
    "wordLevelTimestampsEnabled": true,
  },
}'  "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2-preview.2/transcriptions"
spx batch transcription create --name "My Transcription" --language "en-US" --content https://crbn.us/hello.wav;https://crbn.us/whatstheweatherlike.wav --model "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2-preview.2/models/base/d9cbeee6-582b-47ad-b5c1-6226583c92b6" --api-version v3.2-preview.2

Hedef kapsayıcı URL'si belirtme

Transkripsiyon sonucu bir Azure kapsayıcısında depolanabilir. Kapsayıcı belirtmezseniz Konuşma hizmeti sonuçları Microsoft tarafından yönetilen bir kapsayıcıda depolar. Bu durumda, transkripsiyon işi silindiğinde transkripsiyon sonucu verileri de silinir.

Toplu iş transkripsiyonu oluşturma isteğindeki seçeneği destinationContainerUrl kullanarak toplu iş transkripsiyonu sonuçlarını yazılabilir bir Azure Blob depolama kapsayıcısına depolayabilirsiniz. Bu seçenek yalnızca geçici bir SAS URI'si kullanır ve Güvenilen Azure hizmetleri güvenlik mekanizmasını desteklemez. Bu seçenek, Erişim ilkesi tabanlı SAS'yi de desteklemez. Hedef kapsayıcının Depolama hesap kaynağı tüm dış trafiğe izin vermelidir.

Güvenilir Azure hizmetleri güvenlik mekanizmasını kullanarak transkripsiyon sonuçlarını bir Azure Blob depolama kapsayıcısında depolamak istiyorsanız Kendi depolama alanınızı getirin (BYOS) kullanmayı göz önünde bulundurun. Daha fazla bilgi için bkz . Konuşmayı metne dönüştürme için Kendi depolama alanınızı getirin (BYOS) Konuşma kaynağını kullanma.