Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions eng/versioning/version_client.txt
Original file line number Diff line number Diff line change
Expand Up @@ -256,6 +256,7 @@ com.azure.spring:spring-cloud-azure-stream-binder-servicebus-core;5.22.0;5.23.0-
com.azure.spring:spring-cloud-azure-stream-binder-servicebus;5.22.0;5.23.0-beta.1
com.azure.spring:spring-cloud-azure-testcontainers;5.22.0;5.23.0-beta.1
com.azure:azure-spring-data-cosmos;5.22.0;5.23.0-beta.1
com.azure:azure-ai-speech-transcription;1.0.0-beta.1;1.0.0-beta.1
com.azure.resourcemanager:azure-resourcemanager;2.50.0;2.51.0-beta.1
com.azure.resourcemanager:azure-resourcemanager-appplatform;2.50.0;2.51.0-beta.1
com.azure.resourcemanager:azure-resourcemanager-appservice;2.50.0;2.51.0-beta.1
Expand Down
16 changes: 16 additions & 0 deletions sdk/cognitiveservices/azure-ai-speech-transcription/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Release History

## 1.0.0-beta.1 (Unreleased)

- Azure Transcription client library for Java. This package contains Microsoft Azure Transcription client library.

### Features Added

### Breaking Changes

### Bugs Fixed

### Other Changes
### Features Added

- Initial release for the azure-ai-speech-transcription Java SDK.
78 changes: 78 additions & 0 deletions sdk/cognitiveservices/azure-ai-speech-transcription/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
# Azure Transcription client library for Java

Azure Transcription client library for Java.

This package contains Microsoft Azure Transcription client library.

## Documentation

Various documentation is available to help you get started

- [API reference documentation][docs]
- [Product documentation][product_documentation]

## Getting started

### Prerequisites

- [Java Development Kit (JDK)][jdk] with version 8 or above
- [Azure Subscription][azure_subscription]

### Adding the package to your product

[//]: # ({x-version-update-start;com.azure:azure-ai-speech-transcription;current})
```xml
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-ai-speech-transcription</artifactId>
<version>1.0.0-beta.1</version>
</dependency>
```
[//]: # ({x-version-update-end})

### Authentication

[Azure Identity][azure_identity] package provides the default implementation for authenticating the client.

## Key concepts

## Examples

```java com.azure.ai.speech.transcription.readme
```

### Service API versions

The client library targets the latest service API version by default.
The service client builder accepts an optional service API version parameter to specify which API version to communicate.

#### Select a service API version

You have the flexibility to explicitly select a supported service API version when initializing a service client via the service client builder.
This ensures that the client can communicate with services using the specified API version.

When selecting an API version, it is important to verify that there are no breaking changes compared to the latest API version.
If there are significant differences, API calls may fail due to incompatibility.

Always ensure that the chosen API version is fully supported and operational for your specific use case and that it aligns with the service's versioning policy.

## Troubleshooting

## Next steps

## Contributing

For details on contributing to this repository, see the [contributing guide](https://github.com/Azure/azure-sdk-for-java/blob/main/CONTRIBUTING.md).

1. Fork it
1. Create your feature branch (`git checkout -b my-new-feature`)
1. Commit your changes (`git commit -am 'Add some feature'`)
1. Push to the branch (`git push origin my-new-feature`)
1. Create new Pull Request

<!-- LINKS -->
[product_documentation]: https://azure.microsoft.com/services/
[docs]: https://azure.github.io/azure-sdk-for-java/
[jdk]: https://learn.microsoft.com/azure/developer/java/fundamentals/
[azure_subscription]: https://azure.microsoft.com/free/
[azure_identity]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/identity/azure-identity
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"AssetsRepo":"Azure/azure-sdk-assets","AssetsRepoPrefixPath":"java","TagPrefix":"java/cognitiveservices/azure-ai-speech-transcription","Tag":""}
71 changes: 71 additions & 0 deletions sdk/cognitiveservices/azure-ai-speech-transcription/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
<!--
~ Copyright (c) Microsoft Corporation. All rights reserved.
~ Licensed under the MIT License.
~ Code generated by Microsoft (R) TypeSpec Code Generator.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.azure</groupId>
<artifactId>azure-client-sdk-parent</artifactId>
<version>1.7.0</version> <!-- {x-version-update;com.azure:azure-client-sdk-parent;current} -->
<relativePath>../../parents/azure-client-sdk-parent</relativePath>
</parent>

<groupId>com.azure</groupId>
<artifactId>azure-ai-speech-transcription</artifactId>
<version>1.0.0-beta.1</version> <!-- {x-version-update;com.azure:azure-ai-speech-transcription;current} -->
<packaging>jar</packaging>

<name>Microsoft Azure SDK for Transcription</name>
<description>This package contains Microsoft Azure Transcription client library.</description>
<url>https://github.com/Azure/azure-sdk-for-java</url>

<licenses>
<license>
<name>The MIT License (MIT)</name>
<url>http://opensource.org/licenses/MIT</url>
<distribution>repo</distribution>
</license>
</licenses>

<scm>
<url>https://github.com/Azure/azure-sdk-for-java</url>
<connection>scm:git:[email protected]:Azure/azure-sdk-for-java.git</connection>
<developerConnection>scm:git:[email protected]:Azure/azure-sdk-for-java.git</developerConnection>
<tag>HEAD</tag>
</scm>
<developers>
<developer>
<id>microsoft</id>
<name>Microsoft</name>
</developer>
</developers>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-core</artifactId>
<version>1.55.3</version> <!-- {x-version-update;com.azure:azure-core;dependency} -->
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-core-http-netty</artifactId>
<version>1.15.11</version> <!-- {x-version-update;com.azure:azure-core-http-netty;dependency} -->
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-core-test</artifactId>
<version>1.27.0-beta.8</version> <!-- {x-version-update;com.azure:azure-core-test;dependency} -->
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-identity</artifactId>
<version>1.16.0</version> <!-- {x-version-update;com.azure:azure-identity;dependency} -->
<scope>test</scope>
</dependency>
</dependencies>
</project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
// Code generated by Microsoft (R) TypeSpec Code Generator.

package com.azure.ai.speech.transcription;

import com.azure.ai.speech.transcription.implementation.MultipartFormDataHelper;
import com.azure.ai.speech.transcription.implementation.TranscriptionClientImpl;
import com.azure.ai.speech.transcription.models.TranscribeRequest;
import com.azure.ai.speech.transcription.models.TranscriptionResult;
import com.azure.core.annotation.Generated;
import com.azure.core.annotation.ReturnType;
import com.azure.core.annotation.ServiceClient;
import com.azure.core.annotation.ServiceMethod;
import com.azure.core.exception.ClientAuthenticationException;
import com.azure.core.exception.HttpResponseException;
import com.azure.core.exception.ResourceModifiedException;
import com.azure.core.exception.ResourceNotFoundException;
import com.azure.core.http.rest.RequestOptions;
import com.azure.core.http.rest.Response;
import com.azure.core.util.BinaryData;
import com.azure.core.util.FluxUtil;
import reactor.core.publisher.Mono;

/**
* Initializes a new instance of the asynchronous TranscriptionClient type.
*/
@ServiceClient(builder = TranscriptionClientBuilder.class, isAsync = true)
public final class TranscriptionAsyncClient {
@Generated
private final TranscriptionClientImpl serviceClient;

/**
* Initializes an instance of TranscriptionAsyncClient class.
*
* @param serviceClient the service client implementation.
*/
@Generated
TranscriptionAsyncClient(TranscriptionClientImpl serviceClient) {
this.serviceClient = serviceClient;
}

/**
* Transcribes the provided audio stream.
* <p><strong>Response Body Schema</strong></p>
*
* <pre>
* {@code
* {
* durationMilliseconds: int (Required)
* combinedPhrases (Required): [
* (Required){
* channel: Integer (Optional)
* text: String (Required)
* }
* ]
* phrases (Required): [
* (Required){
* channel: Integer (Optional)
* speaker: Integer (Optional)
* offsetMilliseconds: int (Required)
* durationMilliseconds: int (Required)
* text: String (Required)
* words (Optional): [
* (Optional){
* text: String (Required)
* offsetMilliseconds: int (Required)
* durationMilliseconds: int (Required)
* }
* ]
* locale: String (Optional)
* confidence: double (Required)
* }
* ]
* }
* }
* </pre>
*
* @param body The body of the multipart request.
* @param requestOptions The options to configure the HTTP request before HTTP client sends it.
* @throws HttpResponseException thrown if the request is rejected by server.
* @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
* @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
* @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
* @return the result of the transcribe operation along with {@link Response} on successful completion of
* {@link Mono}.
*/
@Generated
@ServiceMethod(returns = ReturnType.SINGLE)
Mono<Response<BinaryData>> transcribeWithResponse(BinaryData body, RequestOptions requestOptions) {
// Operation 'transcribe' is of content-type 'multipart/form-data'. Protocol API is not usable and hence not
// generated.
return this.serviceClient.transcribeWithResponseAsync(body, requestOptions);
}

/**
* Transcribes the provided audio stream.
*
* @param body The body of the multipart request.
* @throws IllegalArgumentException thrown if parameters fail the validation.
* @throws HttpResponseException thrown if the request is rejected by server.
* @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
* @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
* @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
* @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return the result of the transcribe operation on successful completion of {@link Mono}.
*/
@Generated
@ServiceMethod(returns = ReturnType.SINGLE)
public Mono<TranscriptionResult> transcribe(TranscribeRequest body) {
// Generated convenience method for transcribeWithResponse
RequestOptions requestOptions = new RequestOptions();
return transcribeWithResponse(
new MultipartFormDataHelper(requestOptions).serializeJsonField("options", body.getOptions())
.serializeFileField("audio", body.getAudio().getContent(), body.getAudio().getContentType(),
body.getAudio().getFilename())
.end()
.getRequestBody(),
requestOptions).flatMap(FluxUtil::toMono)
.map(protocolMethodData -> protocolMethodData.toObject(TranscriptionResult.class));
}
}
Loading