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.