Skip to main content

Python SDK for Audiostack API

Project description

api.audio logo

Audiostack SDK


This is the official audiostack Python 3 SDK. This SDK provides easy access to the Audiostack API for applications written in Python.

🧐 About

This repository is actively maintained by Audiostack. For examples, recipes and api reference see the api.audio docs. Feel free to get in touch with any questions or feedback!

:book: Changelog

You can view here our updated Changelog.

🏁 Getting Started

Installation

You don't need this source code unless you want to modify it. If you want to use the package, just run:

pip install audiostack -U

Prerequisites

Python ^3.8.1

Authentication

This library needs to be configured with your account's API key which is available in your Audiostack platform. Import the audiostack package and set audiostack.api_key with the API key you got from the console:

import audiostack
audiostack.api_key = "your-key"

If you belong to multiple organizations, by default the API will use the first organization you had access to. You can specify the organization by setting the assume_org_id attribute:

audiostack.assume_org_id = "your-org-id"

Create your first audio asset

✍️ First, create a Script.

Audiostack Scripts are the first step in creating audio assets. Not only do they contain the text to be spoken, but also determine the final structure of our audio asset using the Script Syntax.

It also supports a unified SSML syntax, which is a standard way to control speech synthesis.

script = audiostack.Content.Script.create(scriptText="""
<as:section name="intro" soundsegment="intro">
Hey there, <as:placeholder id="username">friend</as:placeholder>! Welcome to Audiostack - the audio creation platform that allows you to create high quality audio assets using just a few lines of code.
</as:section>
<as:section name="main" soundsegment="main">
Whether it's a podcast, a video, a game, or an app, Audiostack has you covered. You can create voiceovers, sound effects, music, and more.
</as:section>
<as:section name="outro" soundsegment="outro">
We are excited to see what you'll create with our product!
</as:section>
""")

🎤 Now, let's read it out load.

We integrate all the major TTS voices in the market. You can browse them in our voice library.

Let's use the voice "Isaac", substitute the username placeholder with mate and download the produced files. Each section results in a seperate audio file.

tts = audiostack.Speech.TTS.create(scriptItem=script, voice="isaac", audience={"username": "mate"})
tts.download(fileName="example")

When you listen to these files, you'll notice each of them has a certain silence padding at the end. This might be useful for some use cases, but for this example, let's remove it.

tts = audiostack.Speech.TTS.remove_padding(speechId=tts.speechId)

🎛️ Now let's mix the speech we just created with a sound template.

mix = audiostack.Production.Mix.create(speechItem=tts, soundTemplate="chill_vibes")

Various sound templates consist of various segments. In our example, we're using three segments: intro, main and outro.

You can list all the sound templates to see what segments are available or even create your own!

Mixing comes with a lot of options to tune your audio to sound just right. More on this here.

🎧 At this point, we can download the mix as a wave file, or convert it to another format.

enc = audiostack.Delivery.Encoder.encode_mix(productionItem=mix, preset="mp3_high")
enc.download(fileName="example")

Easy right? 🔮 This is the final result:

https://github.com/aflorithmic/audiostack-python/assets/64603095/6948cddb-4132-40a7-b84d-457f3fc0803d

:speedboat: More quickstarts

Get started with our quickstart recipes.

Maintainers

License

This project is licensed under the terms of the MIT license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

audiostack-2.7.0.tar.gz (18.7 kB view details)

Uploaded Source

Built Distribution

audiostack-2.7.0-py3-none-any.whl (27.9 kB view details)

Uploaded Python 3

File details

Details for the file audiostack-2.7.0.tar.gz.

File metadata

  • Download URL: audiostack-2.7.0.tar.gz
  • Upload date:
  • Size: 18.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.8.20 Linux/5.15.0-1057-aws

File hashes

Hashes for audiostack-2.7.0.tar.gz
Algorithm Hash digest
SHA256 0e73c0739514277fd326a67611c5ddb5b3b0d5e0512f74a25c86ff0ba59c4102
MD5 de33cce824d3f1c66e59dff42e239ad5
BLAKE2b-256 f1758699ee27c0d5c10919e69bbe36d66cf185a49b5627596a1ec5edfd4193b4

See more details on using hashes here.

File details

Details for the file audiostack-2.7.0-py3-none-any.whl.

File metadata

  • Download URL: audiostack-2.7.0-py3-none-any.whl
  • Upload date:
  • Size: 27.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.8.20 Linux/5.15.0-1057-aws

File hashes

Hashes for audiostack-2.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a123cfa9fb9eaa64c342ecfdff35ca82936ef6f6e640daedc305f02df65c7295
MD5 045effa54d0755a173ed048e402e06c0
BLAKE2b-256 3fb4a326c0107dcea1505c721424a476bec4a4a1bd321a37cd166ce33e682687

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page