1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- #!/usr/bin/env bash
- 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"
|