pinebuds/convert.sh

80 lines
2.8 KiB
Bash
Raw Normal View History

#!/usr/bin/env sh
txt_to_wav() {
hash="$(md5sum "$1" | cut -d ' ' -f 1)"
filename="out-$hash.sbc"
xxd -r -p "$1" > "$filename"
Squashed commit of the following: commit d21b9279462a63f292c8a6ef7d72f60bf83ea6df Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Sun Jan 29 11:12:31 2023 -0500 Switched from WAVs to MP3s commit 8a407aa29a6b636d8afe407089a80fc5a3f6e1b2 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Fri Jan 27 07:35:00 2023 -0500 Re-added -j flag commit 654b56be791ba7e9ab7407a084601a0b4f8f9619 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Mon Jan 23 20:40:08 2023 -0500 Cleaned up build.mk commit 112175c3fe8168860908c5fcd1b2b8fea0493231 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Mon Jan 23 20:36:18 2023 -0500 Changed used variable names to match generated variable names commit 0dfe30e5b66185671eb85930c8a7f63b1880f0c7 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Sun Jan 22 20:10:25 2023 -0500 Zeroth cut at a better sound build system that makes better use of the .o/.cpp build system commit f8131f371535e636b02b6aaef853154efff837aa Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Thu Jan 12 23:42:14 2023 -0500 Removed parallel make - this is the only way I found to get wav->txt to run before the .txt files are included elsewhere commit 934a42c0abd31e59bbebd6193a1db25e773d01ae Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Thu Jan 12 23:41:56 2023 -0500 Deleted some reference code commit 9d6a4c6638b6f74bd27f87af35451ad06de4cea8 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Thu Jan 12 23:39:02 2023 -0500 Fixed include error and absolute paths of generated .txt files commit ffc5d7178d8f4bbf4e76c91623c1aba85d83c1e7 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Thu Jan 12 23:38:29 2023 -0500 Added txt to the windows-only branch commit 1fea961998365c1483e23644cef60793cfe10e45 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Thu Jan 12 22:09:43 2023 -0500 Renamed wav objects for consistency commit e8d47b082a425074f0f16a29d0e54726aac1fa68 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Thu Jan 12 18:26:18 2023 -0500 Changed out.raw to out.sbc and commented out the usage of the sbcinfo command commit 2a0ff6569dd81f74f9f30714de8309013b4f8d9a Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Tue Jan 10 20:37:29 2023 -0500 Added hash to out.raw so that `make -j` doesn't fail commit 80b2c18d5d848c216a76398ab615dace029506fd Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Tue Jan 10 18:13:41 2023 -0500 Deleted .txt sounds and fixed Make system to make them! commit 319732a808d72dc70e03ebf8ce993ffdf7a01327 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Tue Jan 10 17:34:04 2023 -0500 Standardized out.raw name commit e48edd26d6a103e8b51c804416a3281122cde974 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Tue Jan 10 17:28:14 2023 -0500 Added .wav files to tracking commit 6a8c25eef4bf2ac477316629b37322188ba75762 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Tue Jan 10 17:26:33 2023 -0500 Force ffmpeg overwrite commit 03b50a544d579dadc573fb75e138ee0561d733f2 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Tue Jan 10 08:45:41 2023 -0500 Removed extraneous slashes commit b4670dc68a274d572005d093e471e4a1c982ed16 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Tue Jan 10 08:44:41 2023 -0500 Added explicit verbosity commit 2c8cdeea6ecbfbffc7cc4dc4ccb1bd4ac50c7f8a Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Tue Jan 10 08:11:02 2023 -0500 Annotate xxd command args commit 51d97b1033afcb561b89586fd7d8ffd78a35d43a Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Tue Jan 10 08:04:04 2023 -0500 Added -aq audio quality flag to keep file sizes the same commit 1e2b28a42fa6752d181b69fa655a165195d8e8d6 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Tue Jan 10 08:03:48 2023 -0500 Fixed -ar audio rate flag commit 4b19a367acc4fc6ee47777bbf5560de2fbbf86e7 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Mon Jan 9 21:50:40 2023 -0500 Annotated ffmpeg args commit 363ad5ceffc7580843728cff2ae87450233a473c Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Mon Jan 9 21:12:21 2023 -0500 Modified Makefile (system) to auto-build wav files from txt files NOTE: this is kind of the opposite of what we want, so the next step will be to reverse to order and build txt files from wave files each time instead commit 462a57a3ca2e328f3208c75468f68af4c946d42c Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Mon Jan 9 20:46:43 2023 -0500 Added missing quotes commit 965a4b96d274b1e0b1aeb3fec400a55743765d25 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Mon Jan 9 20:43:01 2023 -0500 Updated convert.sh help message commit ef84de0b949e76e37b81db15da57f924777c30dd Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Mon Jan 9 20:42:41 2023 -0500 Added output name to convert.sh
2023-01-29 10:16:07 -06:00
ffmpeg -y \
-v quiet `# verbosity - other options are "quiet", "error", "panic"` \
-f sbc `# accept SBC format` \
-ac 1 `# audio channel: #1` \
-i "$filename" `# input file: out-$hash.sbc` \
"$2" `# output to $2`
rm "$filename"
}
Squashed commit of the following: commit d21b9279462a63f292c8a6ef7d72f60bf83ea6df Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Sun Jan 29 11:12:31 2023 -0500 Switched from WAVs to MP3s commit 8a407aa29a6b636d8afe407089a80fc5a3f6e1b2 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Fri Jan 27 07:35:00 2023 -0500 Re-added -j flag commit 654b56be791ba7e9ab7407a084601a0b4f8f9619 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Mon Jan 23 20:40:08 2023 -0500 Cleaned up build.mk commit 112175c3fe8168860908c5fcd1b2b8fea0493231 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Mon Jan 23 20:36:18 2023 -0500 Changed used variable names to match generated variable names commit 0dfe30e5b66185671eb85930c8a7f63b1880f0c7 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Sun Jan 22 20:10:25 2023 -0500 Zeroth cut at a better sound build system that makes better use of the .o/.cpp build system commit f8131f371535e636b02b6aaef853154efff837aa Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Thu Jan 12 23:42:14 2023 -0500 Removed parallel make - this is the only way I found to get wav->txt to run before the .txt files are included elsewhere commit 934a42c0abd31e59bbebd6193a1db25e773d01ae Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Thu Jan 12 23:41:56 2023 -0500 Deleted some reference code commit 9d6a4c6638b6f74bd27f87af35451ad06de4cea8 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Thu Jan 12 23:39:02 2023 -0500 Fixed include error and absolute paths of generated .txt files commit ffc5d7178d8f4bbf4e76c91623c1aba85d83c1e7 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Thu Jan 12 23:38:29 2023 -0500 Added txt to the windows-only branch commit 1fea961998365c1483e23644cef60793cfe10e45 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Thu Jan 12 22:09:43 2023 -0500 Renamed wav objects for consistency commit e8d47b082a425074f0f16a29d0e54726aac1fa68 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Thu Jan 12 18:26:18 2023 -0500 Changed out.raw to out.sbc and commented out the usage of the sbcinfo command commit 2a0ff6569dd81f74f9f30714de8309013b4f8d9a Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Tue Jan 10 20:37:29 2023 -0500 Added hash to out.raw so that `make -j` doesn't fail commit 80b2c18d5d848c216a76398ab615dace029506fd Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Tue Jan 10 18:13:41 2023 -0500 Deleted .txt sounds and fixed Make system to make them! commit 319732a808d72dc70e03ebf8ce993ffdf7a01327 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Tue Jan 10 17:34:04 2023 -0500 Standardized out.raw name commit e48edd26d6a103e8b51c804416a3281122cde974 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Tue Jan 10 17:28:14 2023 -0500 Added .wav files to tracking commit 6a8c25eef4bf2ac477316629b37322188ba75762 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Tue Jan 10 17:26:33 2023 -0500 Force ffmpeg overwrite commit 03b50a544d579dadc573fb75e138ee0561d733f2 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Tue Jan 10 08:45:41 2023 -0500 Removed extraneous slashes commit b4670dc68a274d572005d093e471e4a1c982ed16 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Tue Jan 10 08:44:41 2023 -0500 Added explicit verbosity commit 2c8cdeea6ecbfbffc7cc4dc4ccb1bd4ac50c7f8a Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Tue Jan 10 08:11:02 2023 -0500 Annotate xxd command args commit 51d97b1033afcb561b89586fd7d8ffd78a35d43a Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Tue Jan 10 08:04:04 2023 -0500 Added -aq audio quality flag to keep file sizes the same commit 1e2b28a42fa6752d181b69fa655a165195d8e8d6 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Tue Jan 10 08:03:48 2023 -0500 Fixed -ar audio rate flag commit 4b19a367acc4fc6ee47777bbf5560de2fbbf86e7 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Mon Jan 9 21:50:40 2023 -0500 Annotated ffmpeg args commit 363ad5ceffc7580843728cff2ae87450233a473c Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Mon Jan 9 21:12:21 2023 -0500 Modified Makefile (system) to auto-build wav files from txt files NOTE: this is kind of the opposite of what we want, so the next step will be to reverse to order and build txt files from wave files each time instead commit 462a57a3ca2e328f3208c75468f68af4c946d42c Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Mon Jan 9 20:46:43 2023 -0500 Added missing quotes commit 965a4b96d274b1e0b1aeb3fec400a55743765d25 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Mon Jan 9 20:43:01 2023 -0500 Updated convert.sh help message commit ef84de0b949e76e37b81db15da57f924777c30dd Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Mon Jan 9 20:42:41 2023 -0500 Added output name to convert.sh
2023-01-29 10:16:07 -06:00
audio_to_txt() {
hash="$(md5sum "$1" | cut -d ' ' -f 1)"
filename="out-$hash.sbc"
Squashed commit of the following: commit d21b9279462a63f292c8a6ef7d72f60bf83ea6df Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Sun Jan 29 11:12:31 2023 -0500 Switched from WAVs to MP3s commit 8a407aa29a6b636d8afe407089a80fc5a3f6e1b2 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Fri Jan 27 07:35:00 2023 -0500 Re-added -j flag commit 654b56be791ba7e9ab7407a084601a0b4f8f9619 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Mon Jan 23 20:40:08 2023 -0500 Cleaned up build.mk commit 112175c3fe8168860908c5fcd1b2b8fea0493231 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Mon Jan 23 20:36:18 2023 -0500 Changed used variable names to match generated variable names commit 0dfe30e5b66185671eb85930c8a7f63b1880f0c7 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Sun Jan 22 20:10:25 2023 -0500 Zeroth cut at a better sound build system that makes better use of the .o/.cpp build system commit f8131f371535e636b02b6aaef853154efff837aa Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Thu Jan 12 23:42:14 2023 -0500 Removed parallel make - this is the only way I found to get wav->txt to run before the .txt files are included elsewhere commit 934a42c0abd31e59bbebd6193a1db25e773d01ae Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Thu Jan 12 23:41:56 2023 -0500 Deleted some reference code commit 9d6a4c6638b6f74bd27f87af35451ad06de4cea8 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Thu Jan 12 23:39:02 2023 -0500 Fixed include error and absolute paths of generated .txt files commit ffc5d7178d8f4bbf4e76c91623c1aba85d83c1e7 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Thu Jan 12 23:38:29 2023 -0500 Added txt to the windows-only branch commit 1fea961998365c1483e23644cef60793cfe10e45 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Thu Jan 12 22:09:43 2023 -0500 Renamed wav objects for consistency commit e8d47b082a425074f0f16a29d0e54726aac1fa68 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Thu Jan 12 18:26:18 2023 -0500 Changed out.raw to out.sbc and commented out the usage of the sbcinfo command commit 2a0ff6569dd81f74f9f30714de8309013b4f8d9a Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Tue Jan 10 20:37:29 2023 -0500 Added hash to out.raw so that `make -j` doesn't fail commit 80b2c18d5d848c216a76398ab615dace029506fd Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Tue Jan 10 18:13:41 2023 -0500 Deleted .txt sounds and fixed Make system to make them! commit 319732a808d72dc70e03ebf8ce993ffdf7a01327 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Tue Jan 10 17:34:04 2023 -0500 Standardized out.raw name commit e48edd26d6a103e8b51c804416a3281122cde974 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Tue Jan 10 17:28:14 2023 -0500 Added .wav files to tracking commit 6a8c25eef4bf2ac477316629b37322188ba75762 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Tue Jan 10 17:26:33 2023 -0500 Force ffmpeg overwrite commit 03b50a544d579dadc573fb75e138ee0561d733f2 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Tue Jan 10 08:45:41 2023 -0500 Removed extraneous slashes commit b4670dc68a274d572005d093e471e4a1c982ed16 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Tue Jan 10 08:44:41 2023 -0500 Added explicit verbosity commit 2c8cdeea6ecbfbffc7cc4dc4ccb1bd4ac50c7f8a Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Tue Jan 10 08:11:02 2023 -0500 Annotate xxd command args commit 51d97b1033afcb561b89586fd7d8ffd78a35d43a Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Tue Jan 10 08:04:04 2023 -0500 Added -aq audio quality flag to keep file sizes the same commit 1e2b28a42fa6752d181b69fa655a165195d8e8d6 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Tue Jan 10 08:03:48 2023 -0500 Fixed -ar audio rate flag commit 4b19a367acc4fc6ee47777bbf5560de2fbbf86e7 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Mon Jan 9 21:50:40 2023 -0500 Annotated ffmpeg args commit 363ad5ceffc7580843728cff2ae87450233a473c Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Mon Jan 9 21:12:21 2023 -0500 Modified Makefile (system) to auto-build wav files from txt files NOTE: this is kind of the opposite of what we want, so the next step will be to reverse to order and build txt files from wave files each time instead commit 462a57a3ca2e328f3208c75468f68af4c946d42c Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Mon Jan 9 20:46:43 2023 -0500 Added missing quotes commit 965a4b96d274b1e0b1aeb3fec400a55743765d25 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Mon Jan 9 20:43:01 2023 -0500 Updated convert.sh help message commit ef84de0b949e76e37b81db15da57f924777c30dd Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Mon Jan 9 20:42:41 2023 -0500 Added output name to convert.sh
2023-01-29 10:16:07 -06:00
ffmpeg -y \
-v quiet `# verbosity - other options are "quiet", "error", "panic"` \
-i "$1" `# input file: $1` \
-f sbc `# output format: SBC` \
-ar 16000 `# audio rate: 16 kHz` \
-ac 1 `# audio channel: #1` \
-aq 16 `# audio quality: 16 (for SBC this means bitpool=16)` \
-map_metadata -1 `# strip metadata` \
"$filename" `# output to out-$hash.sbc`
xxd -i "$filename" `# output in C include file style` \
Squashed commit of the following: commit d21b9279462a63f292c8a6ef7d72f60bf83ea6df Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Sun Jan 29 11:12:31 2023 -0500 Switched from WAVs to MP3s commit 8a407aa29a6b636d8afe407089a80fc5a3f6e1b2 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Fri Jan 27 07:35:00 2023 -0500 Re-added -j flag commit 654b56be791ba7e9ab7407a084601a0b4f8f9619 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Mon Jan 23 20:40:08 2023 -0500 Cleaned up build.mk commit 112175c3fe8168860908c5fcd1b2b8fea0493231 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Mon Jan 23 20:36:18 2023 -0500 Changed used variable names to match generated variable names commit 0dfe30e5b66185671eb85930c8a7f63b1880f0c7 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Sun Jan 22 20:10:25 2023 -0500 Zeroth cut at a better sound build system that makes better use of the .o/.cpp build system commit f8131f371535e636b02b6aaef853154efff837aa Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Thu Jan 12 23:42:14 2023 -0500 Removed parallel make - this is the only way I found to get wav->txt to run before the .txt files are included elsewhere commit 934a42c0abd31e59bbebd6193a1db25e773d01ae Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Thu Jan 12 23:41:56 2023 -0500 Deleted some reference code commit 9d6a4c6638b6f74bd27f87af35451ad06de4cea8 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Thu Jan 12 23:39:02 2023 -0500 Fixed include error and absolute paths of generated .txt files commit ffc5d7178d8f4bbf4e76c91623c1aba85d83c1e7 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Thu Jan 12 23:38:29 2023 -0500 Added txt to the windows-only branch commit 1fea961998365c1483e23644cef60793cfe10e45 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Thu Jan 12 22:09:43 2023 -0500 Renamed wav objects for consistency commit e8d47b082a425074f0f16a29d0e54726aac1fa68 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Thu Jan 12 18:26:18 2023 -0500 Changed out.raw to out.sbc and commented out the usage of the sbcinfo command commit 2a0ff6569dd81f74f9f30714de8309013b4f8d9a Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Tue Jan 10 20:37:29 2023 -0500 Added hash to out.raw so that `make -j` doesn't fail commit 80b2c18d5d848c216a76398ab615dace029506fd Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Tue Jan 10 18:13:41 2023 -0500 Deleted .txt sounds and fixed Make system to make them! commit 319732a808d72dc70e03ebf8ce993ffdf7a01327 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Tue Jan 10 17:34:04 2023 -0500 Standardized out.raw name commit e48edd26d6a103e8b51c804416a3281122cde974 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Tue Jan 10 17:28:14 2023 -0500 Added .wav files to tracking commit 6a8c25eef4bf2ac477316629b37322188ba75762 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Tue Jan 10 17:26:33 2023 -0500 Force ffmpeg overwrite commit 03b50a544d579dadc573fb75e138ee0561d733f2 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Tue Jan 10 08:45:41 2023 -0500 Removed extraneous slashes commit b4670dc68a274d572005d093e471e4a1c982ed16 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Tue Jan 10 08:44:41 2023 -0500 Added explicit verbosity commit 2c8cdeea6ecbfbffc7cc4dc4ccb1bd4ac50c7f8a Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Tue Jan 10 08:11:02 2023 -0500 Annotate xxd command args commit 51d97b1033afcb561b89586fd7d8ffd78a35d43a Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Tue Jan 10 08:04:04 2023 -0500 Added -aq audio quality flag to keep file sizes the same commit 1e2b28a42fa6752d181b69fa655a165195d8e8d6 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Tue Jan 10 08:03:48 2023 -0500 Fixed -ar audio rate flag commit 4b19a367acc4fc6ee47777bbf5560de2fbbf86e7 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Mon Jan 9 21:50:40 2023 -0500 Annotated ffmpeg args commit 363ad5ceffc7580843728cff2ae87450233a473c Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Mon Jan 9 21:12:21 2023 -0500 Modified Makefile (system) to auto-build wav files from txt files NOTE: this is kind of the opposite of what we want, so the next step will be to reverse to order and build txt files from wave files each time instead commit 462a57a3ca2e328f3208c75468f68af4c946d42c Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Mon Jan 9 20:46:43 2023 -0500 Added missing quotes commit 965a4b96d274b1e0b1aeb3fec400a55743765d25 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Mon Jan 9 20:43:01 2023 -0500 Updated convert.sh help message commit ef84de0b949e76e37b81db15da57f924777c30dd Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Mon Jan 9 20:42:41 2023 -0500 Added output name to convert.sh
2023-01-29 10:16:07 -06:00
| head -n -2 `# skip last two xxd outline lines (skip C formatting)` \
| tail -n +2 `# start output on line 2 of xxd output (skip C formatting)` \
| sed 's/ //g' `# remove spaces` \
| tr --delete '\n' `# remove newlines` \
| sed 's/,/\,\n/16; P; D' `# collect into lines with the right length` \
> "$2"
rm "$filename"
Squashed commit of the following: commit d21b9279462a63f292c8a6ef7d72f60bf83ea6df Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Sun Jan 29 11:12:31 2023 -0500 Switched from WAVs to MP3s commit 8a407aa29a6b636d8afe407089a80fc5a3f6e1b2 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Fri Jan 27 07:35:00 2023 -0500 Re-added -j flag commit 654b56be791ba7e9ab7407a084601a0b4f8f9619 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Mon Jan 23 20:40:08 2023 -0500 Cleaned up build.mk commit 112175c3fe8168860908c5fcd1b2b8fea0493231 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Mon Jan 23 20:36:18 2023 -0500 Changed used variable names to match generated variable names commit 0dfe30e5b66185671eb85930c8a7f63b1880f0c7 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Sun Jan 22 20:10:25 2023 -0500 Zeroth cut at a better sound build system that makes better use of the .o/.cpp build system commit f8131f371535e636b02b6aaef853154efff837aa Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Thu Jan 12 23:42:14 2023 -0500 Removed parallel make - this is the only way I found to get wav->txt to run before the .txt files are included elsewhere commit 934a42c0abd31e59bbebd6193a1db25e773d01ae Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Thu Jan 12 23:41:56 2023 -0500 Deleted some reference code commit 9d6a4c6638b6f74bd27f87af35451ad06de4cea8 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Thu Jan 12 23:39:02 2023 -0500 Fixed include error and absolute paths of generated .txt files commit ffc5d7178d8f4bbf4e76c91623c1aba85d83c1e7 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Thu Jan 12 23:38:29 2023 -0500 Added txt to the windows-only branch commit 1fea961998365c1483e23644cef60793cfe10e45 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Thu Jan 12 22:09:43 2023 -0500 Renamed wav objects for consistency commit e8d47b082a425074f0f16a29d0e54726aac1fa68 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Thu Jan 12 18:26:18 2023 -0500 Changed out.raw to out.sbc and commented out the usage of the sbcinfo command commit 2a0ff6569dd81f74f9f30714de8309013b4f8d9a Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Tue Jan 10 20:37:29 2023 -0500 Added hash to out.raw so that `make -j` doesn't fail commit 80b2c18d5d848c216a76398ab615dace029506fd Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Tue Jan 10 18:13:41 2023 -0500 Deleted .txt sounds and fixed Make system to make them! commit 319732a808d72dc70e03ebf8ce993ffdf7a01327 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Tue Jan 10 17:34:04 2023 -0500 Standardized out.raw name commit e48edd26d6a103e8b51c804416a3281122cde974 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Tue Jan 10 17:28:14 2023 -0500 Added .wav files to tracking commit 6a8c25eef4bf2ac477316629b37322188ba75762 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Tue Jan 10 17:26:33 2023 -0500 Force ffmpeg overwrite commit 03b50a544d579dadc573fb75e138ee0561d733f2 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Tue Jan 10 08:45:41 2023 -0500 Removed extraneous slashes commit b4670dc68a274d572005d093e471e4a1c982ed16 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Tue Jan 10 08:44:41 2023 -0500 Added explicit verbosity commit 2c8cdeea6ecbfbffc7cc4dc4ccb1bd4ac50c7f8a Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Tue Jan 10 08:11:02 2023 -0500 Annotate xxd command args commit 51d97b1033afcb561b89586fd7d8ffd78a35d43a Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Tue Jan 10 08:04:04 2023 -0500 Added -aq audio quality flag to keep file sizes the same commit 1e2b28a42fa6752d181b69fa655a165195d8e8d6 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Tue Jan 10 08:03:48 2023 -0500 Fixed -ar audio rate flag commit 4b19a367acc4fc6ee47777bbf5560de2fbbf86e7 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Mon Jan 9 21:50:40 2023 -0500 Annotated ffmpeg args commit 363ad5ceffc7580843728cff2ae87450233a473c Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Mon Jan 9 21:12:21 2023 -0500 Modified Makefile (system) to auto-build wav files from txt files NOTE: this is kind of the opposite of what we want, so the next step will be to reverse to order and build txt files from wave files each time instead commit 462a57a3ca2e328f3208c75468f68af4c946d42c Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Mon Jan 9 20:46:43 2023 -0500 Added missing quotes commit 965a4b96d274b1e0b1aeb3fec400a55743765d25 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Mon Jan 9 20:43:01 2023 -0500 Updated convert.sh help message commit ef84de0b949e76e37b81db15da57f924777c30dd Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Mon Jan 9 20:42:41 2023 -0500 Added output name to convert.sh
2023-01-29 10:16:07 -06:00
}
audio_to_cpp() {
varname="$(basename "$1" | rev | cut -f 2- -d '.' | rev | tr '[:lower:]/' '[:upper:]_')"
Squashed commit of the following: commit d21b9279462a63f292c8a6ef7d72f60bf83ea6df Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Sun Jan 29 11:12:31 2023 -0500 Switched from WAVs to MP3s commit 8a407aa29a6b636d8afe407089a80fc5a3f6e1b2 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Fri Jan 27 07:35:00 2023 -0500 Re-added -j flag commit 654b56be791ba7e9ab7407a084601a0b4f8f9619 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Mon Jan 23 20:40:08 2023 -0500 Cleaned up build.mk commit 112175c3fe8168860908c5fcd1b2b8fea0493231 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Mon Jan 23 20:36:18 2023 -0500 Changed used variable names to match generated variable names commit 0dfe30e5b66185671eb85930c8a7f63b1880f0c7 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Sun Jan 22 20:10:25 2023 -0500 Zeroth cut at a better sound build system that makes better use of the .o/.cpp build system commit f8131f371535e636b02b6aaef853154efff837aa Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Thu Jan 12 23:42:14 2023 -0500 Removed parallel make - this is the only way I found to get wav->txt to run before the .txt files are included elsewhere commit 934a42c0abd31e59bbebd6193a1db25e773d01ae Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Thu Jan 12 23:41:56 2023 -0500 Deleted some reference code commit 9d6a4c6638b6f74bd27f87af35451ad06de4cea8 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Thu Jan 12 23:39:02 2023 -0500 Fixed include error and absolute paths of generated .txt files commit ffc5d7178d8f4bbf4e76c91623c1aba85d83c1e7 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Thu Jan 12 23:38:29 2023 -0500 Added txt to the windows-only branch commit 1fea961998365c1483e23644cef60793cfe10e45 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Thu Jan 12 22:09:43 2023 -0500 Renamed wav objects for consistency commit e8d47b082a425074f0f16a29d0e54726aac1fa68 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Thu Jan 12 18:26:18 2023 -0500 Changed out.raw to out.sbc and commented out the usage of the sbcinfo command commit 2a0ff6569dd81f74f9f30714de8309013b4f8d9a Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Tue Jan 10 20:37:29 2023 -0500 Added hash to out.raw so that `make -j` doesn't fail commit 80b2c18d5d848c216a76398ab615dace029506fd Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Tue Jan 10 18:13:41 2023 -0500 Deleted .txt sounds and fixed Make system to make them! commit 319732a808d72dc70e03ebf8ce993ffdf7a01327 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Tue Jan 10 17:34:04 2023 -0500 Standardized out.raw name commit e48edd26d6a103e8b51c804416a3281122cde974 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Tue Jan 10 17:28:14 2023 -0500 Added .wav files to tracking commit 6a8c25eef4bf2ac477316629b37322188ba75762 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Tue Jan 10 17:26:33 2023 -0500 Force ffmpeg overwrite commit 03b50a544d579dadc573fb75e138ee0561d733f2 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Tue Jan 10 08:45:41 2023 -0500 Removed extraneous slashes commit b4670dc68a274d572005d093e471e4a1c982ed16 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Tue Jan 10 08:44:41 2023 -0500 Added explicit verbosity commit 2c8cdeea6ecbfbffc7cc4dc4ccb1bd4ac50c7f8a Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Tue Jan 10 08:11:02 2023 -0500 Annotate xxd command args commit 51d97b1033afcb561b89586fd7d8ffd78a35d43a Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Tue Jan 10 08:04:04 2023 -0500 Added -aq audio quality flag to keep file sizes the same commit 1e2b28a42fa6752d181b69fa655a165195d8e8d6 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Tue Jan 10 08:03:48 2023 -0500 Fixed -ar audio rate flag commit 4b19a367acc4fc6ee47777bbf5560de2fbbf86e7 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Mon Jan 9 21:50:40 2023 -0500 Annotated ffmpeg args commit 363ad5ceffc7580843728cff2ae87450233a473c Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Mon Jan 9 21:12:21 2023 -0500 Modified Makefile (system) to auto-build wav files from txt files NOTE: this is kind of the opposite of what we want, so the next step will be to reverse to order and build txt files from wave files each time instead commit 462a57a3ca2e328f3208c75468f68af4c946d42c Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Mon Jan 9 20:46:43 2023 -0500 Added missing quotes commit 965a4b96d274b1e0b1aeb3fec400a55743765d25 Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Mon Jan 9 20:43:01 2023 -0500 Updated convert.sh help message commit ef84de0b949e76e37b81db15da57f924777c30dd Author: Thatcher Chamberlin <j.thatcher.c@gmail.com> Date: Mon Jan 9 20:42:41 2023 -0500 Added output name to convert.sh
2023-01-29 10:16:07 -06:00
ffmpeg -y \
-v quiet `# verbosity - other options are "quiet", "error", "panic"` \
-i "$1" `# input file: $1` \
-f sbc `# output format: SBC` \
-ar 16000 `# audio rate: 16 kHz` \
-ac 1 `# audio channel: #1` \
-aq 16 `# audio quality: 16 (for SBC this means bitpool=16)` \
-map_metadata -1 `# strip metadata` \
"$varname" `# output to something like EN_SOUND_POWER_ON`
printf '#include <stdint.h>\n' > "$2"
xxd -i "$varname" `# output in C include file style` \
>> "$2"
sed -i 's/unsigned char/uint8_t/g' "$2"
rm "$varname"
}
[ "$1" = '-T' ] || [ "$1" = '--txt-to-wav' ] && shift 1 && txt_to_wav "$@" && exit
[ "$1" = '-A' ] || [ "$1" = '--audio-to-txt' ] && shift 1 && audio_to_txt "$@" && exit
[ "$1" = '-C' ] || [ "$1" = '--audio-to-cpp' ] && shift 1 && audio_to_cpp "$@" && exit
echo "
Sound format converter:
Usage:
$0 [option] [input-file] [output-file]
Options:
-T or --txt-to-wav Converts the text file to a wav audio file
-A or --audio-to-txt Converts an audio file to a file readable by the old pinebuds firmware
-C or --audio-to-cpp Converts an audio file to a file compilable into the pinebuds firmware
"