AudioSentimentConverter
Analyze the sentiment and emotional tone of audio recordings by combining speech transcription with acoustic feature analysis. Detects positive, negative, and neutral sentiment at utterance and segment levels, with additional emotion classification for anger, joy, frustration, and more.
How It Works
Upload an audio file or provide a URL to the Mixpeek API.
The audio is transcribed with speaker diarization and utterance-level segmentation.
Lexical sentiment is analyzed from the transcript text using an NLP model.
Acoustic sentiment is analyzed from vocal features including pitch, energy, speaking rate, and tone.
Lexical and acoustic scores are fused into a combined sentiment and emotion profile per segment.
Code Examples
import os, requests
API = "https://api.mixpeek.com"
H = {"Authorization": f"Bearer {os.environ['MIXPEEK_API_KEY']}",
"X-Namespace": os.environ["NAMESPACE_ID"]}
# 1. a bucket, with a schema that declares the field you will send
bucket = requests.post(f"{API}/v1/buckets", headers=H, json={
"bucket_name": "audio-inputs",
"bucket_schema": {"properties": {"audio": {"type": "audio"}}},
}).json()
# 2. land the file as an object. the URL goes in data, on the blob
requests.post(f"{API}/v1/buckets/{bucket['bucket_id']}/objects", headers=H, json={
"key_prefix": "run-1",
"blobs": [{"property": "audio", "type": "audio",
"data": "https://example.com/call.mp3"}],
})
# 3. a collection over that bucket, running the extractor
collection = requests.post(f"{API}/v1/collections", headers=H, json={
"collection_name": "audio-to-sentiment",
"source": {"type": "bucket", "bucket_ids": [bucket["bucket_id"]]},
"feature_extractor": {"feature_extractor_name": "multimodal_extractor", "version": "v1"},
}).json()
# 4. run extraction over the bucket
requests.post(f"{API}/v1/buckets/{bucket['bucket_id']}/batches", headers=H, json={
"collection_ids": [collection["collection_id"]],
"auto_submit": True,
})
# 5. read the output
docs = requests.get(
f"{API}/v1/collections/{collection['collection_id']}/documents", headers=H
).json()
print(docs)Use Cases
Supported Input Formats
Quick Info
Run it over a library
Mixpeek runs this conversion as a pipeline over a whole library in your object storage, with the output landing as queryable documents. It is not a single-file converter.
Frequently Asked Questions
Related Converters
Audio to Text
Transcribe audio files into text with high accuracy. Supports speaker diarization, punctuation restoration, timestamps, and over 50 languages. Handles podcasts, calls, meetings, and broadcast audio.
Audio to Summary
Generate concise summaries from audio recordings by transcribing speech and synthesizing key points. Supports meeting minutes, podcast summaries, and interview highlights with configurable length and format.
Video to Metadata
How to extract metadata from a video: read the container and codec headers for resolution, frame rate, bitrate and duration, then add what the video shows and says (objects, scenes, colors, speech) by sampling frames with a vision model. Covers content-safety flags, sample-rate tuning, and doing it at scale through an API.
Audio to Keywords
Extract semantically relevant keywords and key phrases from audio recordings. Transcribes speech, identifies salient terms using NLP, and ranks them by relevance and frequency. Ideal for content tagging, topic detection, and search optimization.
Ready to convert audio to sentiment?
Start using the Mixpeek Audio to Sentiment in minutes. Sign up for a free API key and follow the documentation to get started.