LANG=C
target=magic/Magdir/audio
declare -a a_ground_fs=(16384000 22579200 24576000)
declare -a samplerates
def_fs_n=512
min_fs_n=4
for base_fs in "${a_ground_fs[@]}"; do
min_fs=$( echo "${base_fs} / ( ${def_fs_n} * ${min_fs_n} )" | bc)
max_fs_n=$(( 8 * min_fs_n ))
n=${max_fs_n}
while [[ ${n} -ge 1 ]]; do
sample_rate=$(( min_fs * n ))
samplerates+=(${sample_rate})
n=$(( n / 2 ))
done
done
declare -a stripped_rates
declare -a lines
for samplerate in "${samplerates[@]}"; do
stripped_rate="$(LANG=C bc <<< "scale=5; ${samplerate} / 1000" | \
sed 's#[0\.]*$##g')"
if [[ ! "${stripped_rates[@]}" =~ ${stripped_rate} ]]; then
printf -v line ">>17\tbelong&%#-15x\t%#08x\t%s, %s kHz\n" \
"16777200" \
"$(( samplerate * 16 ))" \
"\b" \
"${stripped_rate}"
stripped_rates+=("${stripped_rate}")
lines+=("${line}")
fi
done
printf "## start cutting >>> \n"
printf "%s" "${lines[@]}" | sort -k5 -n
printf "## <<< stop cutting\n"