1 - nguyenminhtuanfit/tutorials GitHub Wiki

package com.amazonaws.transcribestreaming;

import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.List;

import org.apache.http.HttpResponse; import org.apache.http.ParseException; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.HttpClientBuilder; import org.apache.http.util.EntityUtils;

import com.amazonaws.ClientConfiguration; import com.amazonaws.auth.DefaultAWSCredentialsProviderChain; import com.amazonaws.services.s3.AmazonS3; import com.amazonaws.services.s3.AmazonS3ClientBuilder; import com.amazonaws.services.transcribe.AmazonTranscribe; import com.amazonaws.services.transcribe.AmazonTranscribeClient; import com.amazonaws.services.transcribe.model.CreateVocabularyRequest; import com.amazonaws.services.transcribe.model.GetTranscriptionJobRequest; import com.amazonaws.services.transcribe.model.GetVocabularyRequest; import com.amazonaws.services.transcribe.model.LanguageCode; import com.amazonaws.services.transcribe.model.Media; import com.amazonaws.services.transcribe.model.Settings; import com.amazonaws.services.transcribe.model.StartTranscriptionJobRequest; import com.amazonaws.services.transcribe.model.TranscriptionJob; import com.amazonaws.services.transcribe.model.TranscriptionJobStatus; import com.google.api.client.util.Sleeper;

import software.amazon.awssdk.core.exception.SdkClientException; import software.amazon.awssdk.regions.Region;

public class Demo { static { System.setProperty("aws.accessKeyId", "x"); System.setProperty("aws.secretKey", "y"); }

private static Region getRegion() {
	Region region;
	try {
		// region = new DefaultAwsRegionProviderChain().getRegion();
		region = Region.US_WEST_2;
	} catch (SdkClientException e) {
		region = Region.US_WEST_2;
	}
	return region;
}

private static String download(String uri, String fileName) throws ParseException, IOException {
	HttpClient client = HttpClientBuilder.create().build();
	HttpResponse response = client.execute(new HttpGet(uri));
	int statusCode = response.getStatusLine().getStatusCode();
	String responseBody = EntityUtils.toString(response.getEntity());
	return responseBody;
}

public static void main(String[] args) throws ParseException, IOException {
	AmazonS3 s3 = AmazonS3ClientBuilder.standard().withRegion("ap-southeast-1")
			.withClientConfiguration(new ClientConfiguration())
			.withCredentials(new DefaultAWSCredentialsProviderChain()).build();

	AmazonTranscribe client = AmazonTranscribeClient.builder().withRegion("ap-southeast-1").build();
	s3.putObject("tuannmvn", "hello.wav", new File("/Users/admin/Desktop/hello.wav"));

	StartTranscriptionJobRequest request = new StartTranscriptionJobRequest();
	request.withLanguageCode(LanguageCode.EnUS);
	Media media = new Media();
	media.setMediaFileUri(s3.getUrl("tuannmvn", "hello.wav").toString());
	request.withMedia(media).withMediaSampleRateHertz(16000);
	String transcriptionJobName = "job7";
	request.setTranscriptionJobName(transcriptionJobName);
	request.withMediaFormat("wav");

	CreateVocabularyRequest createVocReq = new CreateVocabularyRequest();
	createVocReq.setLanguageCode("en-US");
	createVocReq.setVocabularyName("phone_call2");
	List<String> phrases = new ArrayList();
	phrases.add("hello");
	phrases.add("vincom");
	createVocReq.setPhrases(phrases);
	client.createVocabulary(createVocReq);

// GetVocabularyRequest getVocabularyRequest = new GetVocabularyRequest(); // getVocabularyRequest.setVocabularyName("phone_call");

	Settings settings = new Settings();
	settings.setVocabularyName("phone_call2");
	request.setSettings(settings);

	client.startTranscriptionJob(request);

	GetTranscriptionJobRequest jobRequest = new GetTranscriptionJobRequest();
	jobRequest.setTranscriptionJobName(transcriptionJobName);
	TranscriptionJob transcriptionJob;

	while (true) {
		try {
			Thread.sleep(9000);
			transcriptionJob = client.getTranscriptionJob(jobRequest).getTranscriptionJob();
			System.out.println(transcriptionJob);
		} catch (Exception e) {
			transcriptionJob = client.getTranscriptionJob(jobRequest).getTranscriptionJob();
			System.out.println(transcriptionJob);
		}
		transcriptionJob = client.getTranscriptionJob(jobRequest).getTranscriptionJob();
		if (transcriptionJob.getTranscriptionJobStatus().equals(TranscriptionJobStatus.COMPLETED.name())) {
			String transcription = download(transcriptionJob.getTranscript().getTranscriptFileUri(), "hello.wav");
			System.out.println("transcription: >>> " + transcription);
			break;
		} else if (transcriptionJob.getTranscriptionJobStatus().equals(TranscriptionJobStatus.FAILED.name())) {
			break;
		}

// synchronized (this) { // try { // this.wait(50); // } catch (InterruptedException e) { // } // }

	}
}

}

⚠️ **GitHub.com Fallback** ⚠️