Skip to content

Instantly share code, notes, and snippets.

💻
Working on my course...

Inanc Gumus inancgumus

💻
Working on my course...
Block or report user

Report or block inancgumus

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View gist:1dd9080059770a917aae81a58fac529e

About compression

Audio compression is used to reduce the dynamic range of a recording. Dynamic range is the difference between the loudest and softest parts of an audio signal. It was originally used to guard against defects when cutting wax and vinyl phonograph records, but generally became useful as a way of increasing the loudness of an audio recording without achieving distortion.

The goal of most compression applications is to increase the amplitude of the softest parts of a recording, without increasing the amplitude of the loudest parts.

Compressor anatomy

Compressors generally all have the same conceptual parts. However, not all compressors present variable controls for all parts to the user. If you don't see all of your compressor's controls here, there's a chance it either has a fixed value (and no control), or is named something else:

@inancgumus
inancgumus / main.go
Last active Dec 2, 2017
Interface scanner for Go
View main.go
/*
non-refactored, hacky tool to extract interfaces.
adopted from https://github.com/campoy/justforfunc/tree/master/24-ast
*/
package main
import (
"fmt"
"go/scanner"
"go/token"
@inancgumus
inancgumus / godev.bash
Created Oct 29, 2017
Makes your environment ready for Go contributions
View godev.bash
#!/bin/bash
# -----------------------------------------------------------------------------
# HOW TO RUN?
# -----------------------------------------------------------------------------
# . ./godev.bash
# WARNING:
#
@inancgumus
inancgumus / func_overloading_golang.go
Created Oct 19, 2017
imitating function overloading in go
View func_overloading_golang.go
package main
import (
"fmt"
)
func main() {
// imitating func overloading in Go
// this example uses this:
View enum_weekdays.go
// declare constants for the days in a week, and assign to them
// different numeric values.
//
// so, they won't clash. if both values of Sunday and Monday were 0,
// then, how could we know that which one is Sunday or Monday?
//
// this code is for this article: https://blog.learngoprogramming.com/golang-const-type-enums-iota-bc4befd096d3
const (
Sunday = 0
Monday = 1
View enum_planet_masses.go
// https://blog.learngoprogramming.com/golang-const-type-enums-iota-bc4befd096d3
package main
import (
"fmt"
)
const (
Mercury = 3.303e+23
Venus = 4.869e+24
View untyped_numeric_consts_flexibility.go
package main
import "fmt"
func main() {
// We can assign an untyped constant to any numeric-type variable
// Numeric types:
var (
View typed_const_declaration.go
package main
import (
"fmt"
)
func main() {
// typed constant declaration
const Pi float64 = 3.14
View const_shadowing.go
package main
import (
"fmt"
)
// visible inside main package
const packageLevelConst = 1
// visible everywhere
View go_enum_iota.go
package main
import (
"fmt"
"math"
"strconv"
)
// I used bitwise operations on iota.
// This will be handy when we want to represent months together.
You can’t perform that action at this time.