Clarified filters and hashers on README
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
DataHoarder 2022-07-29 12:57:50 +02:00
parent 1581d6813d
commit a7fb82f3d3
Signed by: DataHoarder
SSH key fingerprint: SHA256:OLTRf6Fl87G52SiR7sWLGNzlJt4WOX+tfI2yxo0z7xk
2 changed files with 35 additions and 4 deletions

View file

@ -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]

View file

@ -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())
}
}