mirror of
https://github.com/storytold/artcraft.git
synced 2026-11-02 08:28:18 +00:00
fc043c96a60e99b07ea8e7a42447b333a7dd2e1c
Voder
Voice things.
Crates to try:
-
- Encoder/decoder
- Very mature (3.4.0)
-
- Hardware audio out, low level
- Tons of downloads!
-
- Microphone in, speaker out
- ALSA
-
- convert between floats, u8s, u16s, etc. via a trait
- clip amplitude
- scale playback
- iterators
- signal generators (sine, saw, noise, etc.)
-
- generate spectrograms!
- THEY LOOK SICK!
-
- supports range of audio encoders/decoders
- flac, ogg, wav, alac
-
- generate images from wave files
- con "it is probably threadsafe"
-
- sample rate conversion
-
- read and write wav files
- con: old (2016)
-
- con: old (2016)
- con: low on doc
-
- determine pitch and volume of samples
- uses "bistream autocorrelation function (bcf)"
- todo: also investigate BACF, uses peaks instead of zero-crossings
-
- wav library, based on nom zero-copy parser
- PCM support
- 18/16/32/64 bit support
Hardware
Enumerate hardware:
pactl list short sinks
The linux headphone jack is named at startup:
speaker-test -t wav -c 6 -D front
To change the 'default' speaker,
pactl list short sinks
pactl set-default-sink 'alsa_output.pci-0000_00_1f.3.analog-stereo'
speaker-test -t wav -c 6 -D default
This makes the rust code work on Desktop.
Links
Languages
Rust
59.4%
TypeScript
39.3%
JavaScript
0.7%
Python
0.3%
CSS
0.2%
Other
0.1%