• Stars
    star
    120
  • Rank 285,535 (Top 6 %)
  • Language
    Go
  • License
    Apache License 2.0
  • Created almost 8 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

GAAD (Go Advanced Audio Decoder)

GoDoc Build Status Go Report Card

GAAD (Go Advanced Audio Decoder)

Package currently provides AAC parsing capabilities. This package performs a full parse of AAC-LC and HE-AACv1 bitstreams. Bitstreams with Parametric Stereo (HE-AACv2) are not yet supported, but AAC bitstream data and SBR data will be extracted. The AAC decode from the parsed data to LPCM (.wav) is not yet implemented. Please help us expand and test this library!

AACParser

This package currently supports AAC audio data contained in an ADTS header. All available data is returned in the adts struct and can be accessed as nested objects as presented in the AAC specification. All parameter names should be verbatim from the AAC specification, if you find an issue with this please file a bug or submit a pull request.

AAC Types

Type Description CODEC
AACLC AAC mp4a.40.2
HEAAC AAC + SBR mp4a.40.5
HEAACv2 AAC + SBR + PS mp4a.40.29

where:

  • SBR = Spectral band replication
  • PS = Parametric Stereo

Usage

var []byte buf
buf = <ADTS+AAC data>

// Parsing the buffer
adts, err := gaad.ParseADTS(buf)

// Looping through top level elements and accessing sub-elements
var sbr bool
if adts.Fill_elements != nil {
	for _, e := range adts.Fill_elements {
		if e.Extension_payload != nil &&
			e.Extension_payload.Extension_type == gaad.EXT_SBR_DATA {
			sbr = true
		}
	}
}

VBR vs CBR

VBR (Variable bitrate) and CBR (Constant bitrate) is derived from the bitstream_type attribute in the adif_header section. It is VBR if bitstream_type is true, and CBR otherwise.

References

ISO/IEC STANDARD 14496-3

Title         : Coding of audio-visual objects β€” Part 3: Audio
File          : ISO_14496-3-4th-Edition.pdf
Edition       : Fourth edition (2009-09-01)
Relevant Sections
    - Page 64   : 1.6.5 Signaling of SBR
    - Page 120  : 1.A.2 AAC Interchange formats
    - Page 489  : 4.4.2 GA bitstream payloads

Related Books

Related Links

More Repositories

1

FreeFlow

A layout engine for Android that decouples layouts from the View containers that manage scrolling and view recycling. FreeFlow makes it really easy to create custom layouts and beautiful transition animations as data and layouts change
Java
2,406
star
2

rulio

Rulio
Go
337
star
3

gots

MPEG Transport Stream handling in Go
Go
302
star
4

sirius

A distributed system library for managing application reference data
Scala
297
star
5

cmb

This project is no longer actively supported. It is made available as read-only. A highly available, horizontally scalable queuing and notification service compatible with AWS SQS and SNS
Java
278
star
6

jrugged

A Java libary of robustness design patterns
Java
264
star
7

ip4s

Defines immutable, safe data structures for describing IP addresses, multicast joins, socket addresses and similar IP & network related data types
Scala
217
star
8

mamba

Mamba is a Swift iOS, tvOS and macOS framework to parse, validate and write HTTP Live Streaming (HLS) data.
Swift
175
star
9

kube-yarn

Running YARN on Kubernetes with PetSet controller.
Makefile
164
star
10

k8sh

A simple, easily extensible shell for navigating your kubernetes clusters
Shell
155
star
11

patternlab-edition-node-webpack

The webpack wrapper around patternlab-node core, providing tasks to interact with the core library and move supporting frontend assets.
JavaScript
127
star
12

sheens

Message Machines
Go
117
star
13

eel

A simple proxy service to forward JSON events and transform or filter them along the way.
Go
103
star
14

Speed-testJS

JavaScript
93
star
15

traffic_control

Traffic Control CDN
92
star
16

Surf-N-Perf

Micro-library for gathering web page performance data
JavaScript
90
star
17

pulsar-client-go

A Go client library for Apache Pulsar
Go
78
star
18

MirrorTool-for-Kafka-Connect

A Kafka Source connector for Kafka Connect
Java
71
star
19

graphvinci

A better schema visualizer for GraphQL APIs
JavaScript
68
star
20

php-legal-licenses

A utility to help generate a file containing information about dependencies including the full license text.
PHP
68
star
21

money

Dapper Style Distributed Tracing Instrumentation Libraries
Scala
66
star
22

compass-csslint

Easily integrate CSS Lint into your projects that use the Compass CSS Framework
Ruby
65
star
23

caption-inspector

Caption Inspector is a reference decoder for Closed Captions (CEA-608 and CEA-708).
C
64
star
24

dialyzex

A Mix task for type-checking your Elixir project with dialyzer
Elixir
62
star
25

snowdrift

App to perform testing and validation of firewall rules
Shell
61
star
26

ssh-to

Easily manage dozens or hundreds of machines via SSH
Shell
58
star
27

ansible-sdkman

An Ansible role that installs, configures, and manages SDKMAN
Python
56
star
28

Bynar

Server remediation as a service
Rust
55
star
29

Canticle

Go
50
star
30

go-leaderelection

GoLea is a Go library that provides the capability for a set of distributed processes to compete for leadership for a shared resource.
Go
46
star
31

scte35-js

A SCTE 35 Parser for JavaScript
HTML
45
star
32

xGitGuard

AI based Secrets Detection Python Framework
Python
41
star
33

Comcast.github.io-archive

The main Open Source portal for Comcast
HTML
36
star
34

zucchini

Run your cucumber-jvm tests in parallel across all your devices
Java
34
star
35

sitemapper-for-js

Generate XML sitemaps for JS Websites (Supports Angular, React)
JavaScript
34
star
36

Oscar

OSCAR - OpenSource Cablemodem file AssembleR - DOCSIS, PacketCable, DPoE Configuration Editor and API Framework
Java
33
star
37

hlsparserj

Java
32
star
38

weasel

Lightweight license checker.
Go
32
star
39

Infinite-File-Curtailer

Curtail is a utility program that reads stdin and writes to a file bound by size.
C
31
star
40

scte35-go

Golang implementation of ANSI/SCTE-35
Go
29
star
41

DahDit

Custom Views for drawing Dotted and Dashed Lines without jumping through hoops.
Kotlin
26
star
42

resourceprovider2

Resource Management API Generator for Android
Kotlin
22
star
43

python-batch-runner

A tiny framework for building batch applications as a collection of tasks in a workflow.
Python
22
star
44

Buildenv-Tool

Go
21
star
45

blueprint

Blueprint is a compact framework for constructing mvp architecture within a scrollable, multi-view-type list UI. It uses the Android RecyclerView library, and currently only supports LinearLayouts
Kotlin
21
star
46

resourceprovider-utils

Samples and Test Utilities Library for the ResourceProvider API Generator Gradle Plugin for Android.
Java
19
star
47

cea-extractor

Parsing and display logic for CEA-608 caption data in fragmented MP4 files.
TypeScript
16
star
48

compass-csscss

Easily integrate csscss into your projects that use the Compass CSS Framework
Ruby
16
star
49

comcast.github.io

The main Open Source portal for Comcast
JavaScript
16
star
50

go-edgegrid

A Golang Akamai API client and Akamai OPEN EdgeGrid Authentication scheme authentication handler.
Go
16
star
51

littlesheens

A Sheens implementation that has a small footprint
C
15
star
52

rdk-on-raspberrypi

Documentation for running RDK profiles ( Video, broadband, Camera ) on Raspberrypi boards
15
star
53

Xooie

Important note: this project is no longer actively maintained. Xfinity Xooie - Modular, Modifiable, Responsive, Accessible
JavaScript
14
star
54

terraform-provider-akamai

An Akamai GTM Terraform provider
Go
14
star
55

xCompass

This repository hosts a persona based privacy threat modeling solution called Models of Applied Privacy or MAP.
14
star
56

Superior-Cache-ANalyzer

A tool for inspecting the contents of Apache Traffic Server caches
Python
14
star
57

all-digital

Comcast All Digital CSS
SCSS
14
star
58

ActorServiceRegistry

Scala
14
star
59

connvitals-monitor

A persistent monitor and aggregator of network statistics
Python
13
star
60

RestfulHttpsProxy

Go
13
star
61

Priority-Operation-Processing

A workflow orchestration system where the workflow is scheduled as a unit giving resource priority once selected. Priority queuing and customizable scheduling algorithms. Customer aware for multi-tenant. A JSON DAG based blueprint defines the execution flow. Executes operations within a workflow by spinning up on-demand Kubernetes Pods (dynamic resource allocation)
Java
13
star
62

connvitals

A network analysis and statistics aggregation tool
Python
13
star
63

xml-selector

A jQuery-like interface for working with XML using CSS-style selectors
JavaScript
12
star
64

svn-to-github

Comprehensive Tool for Converting SVN to Git in Bulk
Shell
12
star
65

watchmen-ping-nightmare

A plugin for watchmen that uses nightmare and an electron browser to monitor websites
JavaScript
12
star
66

prombox

Prombox creates a sandbox environment for editing and testing Prometheus configuration on the fly
JavaScript
11
star
67

redirector

Java
11
star
68

scte224structs

Utilities for modeling SCTE-224 data in Go
Go
11
star
69

cf-recycle-plugin

Cloud Foundry cli plugin for rolling restart of application instances
Go
10
star
70

tsb

A Transitive Source Builder for managing builds across multiple repositories
Go
10
star
71

compare-ini-files

Compare an arbitrary number of .ini files based on logical sections and key/value pairs.
PHP
9
star
72

discovery

The Comcast discovery services for the open source community
Java
9
star
73

libcertifier

With small, space optimized, 90KB libCertifier(), IoT devices (cameras, toasters, sensors ….) can now request and receive unique, compact (650 bytes) digital certificates (x509 v3 compliant).
C
9
star
74

ProjectGuardRail

AI/ML applications have unique security threats. Project GuardRail is a set of security and privacy requirements that AI/ML applications should meet during their design phase that serve as guardrails against these threats. These requirements help scope the threats such applications must be protected against.
9
star
75

flume2storm

This project is no longer actively maintained. The Flume2Storm repository contains the source code, documentation (wiki) and issue tracking system
Java
9
star
76

cts-mpx

Ruby
8
star
77

tlsrpt_processor

Simple python script to process TLSRPT reports
Python
8
star
78

akamai-slack-reporter

A Slack slash command integration for querying your team's Akamai configuration
JavaScript
8
star
79

css_lint_ruby

Nicholas C. Zakas and Nicole Sullivan's CSS Lint made available as a Ruby gem.
Ruby
8
star
80

akamai-gtm

A CLI to Akamai GTM
Go
8
star
81

DNS-over-HTTPs-translator

Go
7
star
82

libstorage

rust storage server helper utilities
Rust
7
star
83

ansible-role-pypi

An ansible role for configuring a pypi-server on a systemd centos system.
Python
7
star
84

dmc-sim

ns3 simulator code for Distributed Monotonic Clocks
C++
7
star
85

jovo-plugin-resume

πŸ”ˆ A plugin for resuming conversations in the Open Source Voice Layer, Jovo (https://www.jovo.tech)
TypeScript
7
star
86

cf-zdd-plugin

Go
7
star
87

fishymetrics

Redfish API Prometheus Exporter for monitoring large scale server deployments
Go
7
star
88

SyntaViz

A visualization interface for analyzing a (very large) corpus of natural-language queries.
Python
7
star
89

hypergard

A JavaScript client for HAL APIs with support for forms
JavaScript
7
star
90

vesper_legacy

Secure Telephone Identity Management in Session Initiation Protocol
Go
7
star
91

rapid-ip-checker

A GPU accelerated tool to compare large lists of IPv4/IPv6 addresses.
Python
7
star
92

vesper

SHAKEN based signing and validation server
Go
7
star
93

ctex

A Mix task and helpers for running common_test suites
Elixir
7
star
94

plax

A test automation engine for messaging systems
Go
7
star
95

pipeclamp

Java
6
star
96

rally-rest-toolkit

Client API library for interacting with the Rally REST API
Go
6
star
97

rdkcryptoapi

Contains Cryptographic APIs used in the RDK Software Stack
C
6
star
98

polaris

Vanilla Web Components for global Header, Footer & Toast notifications for XFINITY Websites
JavaScript
6
star
99

EasyConnect

Reference Development Kit that will help partners and vendors implement EasyConnect in their devices.
Java
6
star
100

zootomy

Zookeeper as a Contained Service.
Go
6
star