Clarified filters and hashers on README
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
1581d6813d
commit
a7fb82f3d3
37
README.md
37
README.md
|
@ -37,6 +37,37 @@ Only output from Kirika's own encoders is supported.
|
|||
| **MP4** | ❌ | - | - | - | |
|
||||
| **ADIF** | ❌ | - | - | - | |
|
||||
|
||||
## Filters
|
||||
|
||||
|
||||
| Filter | Native Sample Format | Notes |
|
||||
|:-------------:|:---------------------:|:---------------------------------------------------------------------------------------------------------------------------:|
|
||||
| Resample | `float32` | Changes input source sample rate to a different sample rate.<br/>If source sample rate equals `sampleRate`, returns source. |
|
||||
| Source Format | `float32 int16 int32` | Changes input source to a different format. |
|
||||
| Buffer | `float32 int16 int32` | Makes output source a buffered channel of the specified size. |
|
||||
| Block Size | `float32 int16 int32` | Adjusts input source blocks to a normalized block size. |
|
||||
| Real Time | `float32 int16 int32` | Outputs enough samples per second equal to the source sample rate. |
|
||||
| Volume | `float32 int16 int32` | Adjusts volume of all samples equally.<br/>If `adjustement` equals `1.0`, returns source. |
|
||||
| Stereo | `float32 int16 int32` | Makes input stereo.<br/>If source channels equals `2`, returns source. |
|
||||
| Mono | `float32 int16 int32` | Makes input mono.<br/>If source channels equals `1`, returns source. |
|
||||
| ReplayGain | `float32 int16 int32` | Creates a Volume filter with the specified ReplayGain parameters. |
|
||||
| Normalization | `float32` | Automatically adjusts volume according to short term audio loudness. |
|
||||
|
||||
### Filter Chain
|
||||
Allows chaining different filters together where one's output is the next one input.
|
||||
|
||||
## Hashers
|
||||
Several audio Analyzer hashers are implemented. List of current ones:
|
||||
* CRC32
|
||||
* SHA256
|
||||
* SHA1
|
||||
* MD5
|
||||
* AccurateRipV1
|
||||
* AccurateRipV1 (Start mode)
|
||||
* AccurateRipV2
|
||||
* AccurateRipV2 (Start mode)
|
||||
|
||||
|
||||
## Dependencies
|
||||
### Go >= 1.18
|
||||
|
||||
|
@ -123,10 +154,10 @@ Some tests cannot be completed in this mode.
|
|||
| **FLAC** | [FLAC](https://xiph.org/flac/format.html) | ✅ | ✅ | `int32` | ✅* | Decoding/encoding by [flacgo](https://git.gammaspectra.live/S.O.N.G/flacgo).<br/>*Encoder only supports Verbatim / Constant frame prediction modes, offering almost no compression. |
|
||||
| **TTA** | [TTA](https://www.tausoft.org/en/true_audio_codec_format/) | ✅ | ✅ | `int32` | ✅ | Decoding/encoding by [S.O.N.G/go-tta](https://git.gammaspectra.live/S.O.N.G/go-tta). |
|
||||
| **MP3** | [MP3](http://mpgedit.org/mpgedit/mpeg_format/MP3Format.html) | ✅ | ❌ | `2ch. int16` | ❌ | Decoding by [hajimehoshi/go-mp3](https://github.com/hajimehoshi/go-mp3). |
|
||||
| **Opus** | - | ❌ | ❌ | - | ❌ | |
|
||||
| **Opus** | - | ❌ | - | - | ❌ | |
|
||||
| **Vorbis** | [Ogg](https://www.xiph.org/ogg/doc/framing.html) | ✅ | ❌ | `float32` | ❌ | Decoding by [jfreymuth/vorbis](https://github.com/jfreymuth/vorbis) via [jfreymuth/oggvorbis](https://github.com/jfreymuth/oggvorbis). |
|
||||
| **AAC** | - | ❌ | ❌ | - | ❌ | |
|
||||
| **ALAC** | - | ❌ | ✅ | - | ❌ | |
|
||||
| **AAC** | - | ❌ | - | - | ❌ | |
|
||||
| **ALAC** | - | ❌ | - | - | ❌ | |
|
||||
|
||||
|
||||
### disable_format_[format]
|
||||
|
|
|
@ -34,7 +34,7 @@ func (f SourceFormatFilter) Process(source audio.Source) audio.Source {
|
|||
} else if int32Source, ok := source.(audio.TypedSource[int32]); ok {
|
||||
return int32Source
|
||||
} else {
|
||||
return source.ToInt32(32)
|
||||
return source.ToInt32(source.GetBitDepth())
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue