能否用Python客户端库直接将Google Speech-to-text文本保存至云存储?
直接将语音转文本结果保存到云存储桶的实现方案
当然可以跳过本地文件存储这一步,直接把Speech-to-text的识别结果写入云存储桶,主流云服务商的语音转文本服务都提供了原生支持,以下是常见平台的实现思路:
AWS Transcribe:调用
StartTranscriptionJobAPI时,直接指定OutputBucketName参数,Transcribe会自动把识别后的文本(多为JSON格式)写入你指定的S3桶,无需本地中转。import boto3 transcribe = boto3.client('transcribe') transcribe.start_transcription_job( TranscriptionJobName='my-job', Media={'MediaFileUri': 's3://input-bucket/audio-file.mp3'}, MediaFormat='mp3', LanguageCode='zh-CN', OutputBucketName='my-output-bucket' )Google Cloud Speech-to-Text:结合Cloud Storage和异步识别功能,提交请求时配置
output_config,让识别结果直接写入Cloud Storage桶。from google.cloud import speech_v1p1beta1 as speech client = speech.SpeechClient() audio = speech.RecognitionAudio(uri='gs://input-bucket/audio-file.wav') config = speech.RecognitionConfig( encoding=speech.RecognitionConfig.AudioEncoding.LINEAR16, sample_rate_hertz=16000, language_code='zh-CN' ) output_config = speech.TranscriptOutputConfig( gcs_uri='gs://output-bucket/transcript-result.json' ) operation = client.long_running_recognize( config=config, audio=audio, output_config=output_config )Azure Speech Service:使用批量转录功能,在配置中指定
destinationContainerUrl(指向Azure Blob存储容器的SAS URL),服务完成转录后会自动把结果文件上传到指定容器。from azure.cognitiveservices.speech import SpeechConfig, AudioConfig from azure.cognitiveservices.speech.transcription import BatchTranscriptionClient speech_config = SpeechConfig(subscription="YOUR_KEY", region="YOUR_REGION") client = BatchTranscriptionClient(speech_config) transcription = client.create_transcription( display_name="My transcription", content_urls=["https://input-storage.blob.core.windows.net/audio/audio-file.mp3"], destination_container_url="https://output-storage.blob.core.windows.net/transcripts?YOUR_SAS_TOKEN" )
核心逻辑都是让语音转文本服务直接与云存储服务打通,省去本地文件的写入和上传环节,既节省本地资源,也能提升流程效率。
内容的提问来源于stack exchange,提问作者Elior Dana
相关产品推荐
相关产品推荐

