Commit graph

85 commits

Author SHA1 Message Date
104d4a92a0 Support frequency resampling for wav audio 2023-01-10 14:52:43 +03:00
56505ebe85 Fix obsolete include 2023-01-10 14:46:27 +03:00
3b5ad89ba0 Audio recorder & duplicator refactor 2023-01-10 14:41:51 +03:00
cbd5a15ce8 Implement wav audio::track using raw track 2023-01-10 14:41:31 +03:00
a67e00d601 Implement raw audio::track from scratch, without dependence on recoder & duplicator 2023-01-10 14:41:12 +03:00
633e366650 Fix audio::mixer 2023-01-10 14:40:43 +03:00
4db40a0276 Audio refactor: move some stuff to detail and combine subdirs 2023-01-10 03:46:09 +03:00
2209648999 Audio library refactor: use spans for stream->read 2023-01-10 03:35:34 +03:00
630ae28301 Add simple 1st order feedforward filters 2023-01-06 20:09:43 +03:00
ef95af60ae Support creating a loop directly from a track 2023-01-06 20:09:21 +03:00
0d23d8bcab Add audio white noise generator 2023-01-06 19:32:34 +03:00
3c22074f8d Implement audio::concat effect 2023-01-06 19:15:48 +03:00
42e1136123 Remove sdl2-mixer dependency 2023-01-04 18:11:38 +03:00
f0ae57a378 Fix includes in audio::mixer 2022-11-30 18:16:25 +03:00
81f54d602e Fix loading stereo mp3 2022-10-15 23:05:15 +03:00
72bbdec7d9 Fix audio engine initialization 2022-10-11 17:49:22 +03:00
31e1e84c69 Support dynamically changing audio::oscillator frequency 2022-10-11 17:48:27 +03:00
6f6add1cab Add distortion effect 2022-10-08 21:31:44 +03:00
87e865d025 Make sure Karplus-Strong generated sound is the same in both channels 2022-10-08 21:31:38 +03:00
af2bab53b9 Add Karplus-Strong guitar generation algorithm 2022-10-08 19:49:11 +03:00
8048496535 Implement pitch control audio effect 2022-10-08 19:07:30 +03:00
e74f5957c0 Add frequency resampler & use it in mp3 decoder 2022-10-08 18:22:17 +03:00
e517e14986 Implement mp3 support 2022-10-08 17:42:03 +03:00
3255aaf15d Move loading raw & wav tracks from engine to free functions 2022-10-08 14:36:24 +03:00
5b0834f097 Support non-owning audio::recorder 2022-10-08 14:35:45 +03:00
ce5ccfde70 Turn audio::duplicator into a track 2022-10-08 14:16:50 +03:00
f46b080a69 Support creating audio::recorder directly from samples 2022-10-08 14:05:13 +03:00
2c59879630 Support loading WAV audio 2022-10-07 23:40:03 +03:00
f617f50930 Implement loading raw audio tracks 2022-10-07 23:05:17 +03:00
227236568b Implement audio pause control 2022-10-07 22:03:27 +03:00
81fabbbf02 Add audio callback profiling 2022-10-07 15:28:30 +03:00
a80487abbc Add audio compressor knee 2022-10-07 13:09:49 +03:00
59f83aec12 Add audio compressor 2022-10-07 11:18:38 +03:00
e7d3bc45d1 Remove linear filter from volume control, use simple multiplication instead 2022-10-06 23:30:23 +03:00
8111af2c54 Add decibel to gain converters 2022-10-06 23:30:01 +03:00
bd16679b97 Implement stereo audio volume control 2022-10-06 16:24:42 +03:00
acc2fd486e Implement looping effect 2022-10-06 15:55:14 +03:00
63f7e9c32a Implement audio::duplicator properly (using recorder) 2022-10-06 15:45:39 +03:00
e4871da0c5 Add audio::recorder 2022-10-06 15:45:23 +03:00
9d58904a66 Add truncate effect 2022-10-06 15:17:46 +03:00
3e9814aee4 Add audio::duration type & use it for effect duration parameters 2022-10-06 15:02:47 +03:00
3890fa0b02 Make audio::stream::played() atomic 2022-10-06 13:51:35 +03:00
d19c93af33 Support retrieving the number of already played samples from a stream 2022-10-06 13:12:14 +03:00
62af785c08 Support retrieving length of a stream 2022-10-06 13:05:42 +03:00
bc1bbcb306 Rename volume attack -> smoothness 2022-10-06 12:41:31 +03:00
9b3afc9865 Use channel class for main audio output 2022-10-05 22:55:30 +03:00
26b44a9fa3 Make audio channel a separate class 2022-10-05 22:55:30 +03:00
cab34558ce Support replacing a mixing channel stream 2022-10-05 22:55:30 +03:00
bb31fe79c9 Add fade in & fade out effects 2022-10-05 22:55:30 +03:00
6c213f9c45 Add audio stereo aggregator 2022-10-05 22:55:30 +03:00