music_on_linux:audio_관련_스크립트_모음
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
music_on_linux:audio_관련_스크립트_모음 [2021/03/22 04:20] – [정해영의 audio.qsynth script] hyjeong | music_on_linux:audio_관련_스크립트_모음 [2023/09/08 04:08] (current) – hyjeong | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Audio 관련 스크립트 모음 ====== | ====== Audio 관련 스크립트 모음 ====== | ||
- | ===== Ted's original audio scrip ===== | + | ===== Ted's original audio script |
Available from http:// | Available from http:// | ||
#!/bin/bash | #!/bin/bash | ||
Line 134: | Line 134: | ||
===== 정해영의 start_jack_uca200 script ===== | ===== 정해영의 start_jack_uca200 script ===== | ||
+ | #!/bin/bash | ||
+ | | ||
+ | #echo " | ||
+ | | ||
+ | jack_control start | ||
+ | jack_control ds alsa | ||
+ | jack_control dps device hw:CODEC | ||
+ | jack_control dps rate 48000 | ||
+ | jack_control dps nperiods 3 | ||
+ | jack_control dps period 128 | ||
+ | sleep 5 | ||
+ | #a2jmidid -e & | ||
+ | sleep 5 | ||
+ | qjackctl 2> /dev/null & | ||
+ | | ||
+ | process_id=$(pidof pavucontrol) | ||
+ | if [[ -z $process_id ]]; then | ||
+ | echo " | ||
+ | pavucontrol 2> /dev/null & | ||
+ | fi | ||
+ | |||
+ | ===== 범용 스크립트 start_jack_generic ===== | ||
+ | #!/bin/bash | ||
+ | | ||
+ | #echo " | ||
+ | | ||
+ | DEVICE=$1 | ||
+ | | ||
+ | if [ -z ${DEVICE} ] | ||
+ | then | ||
+ | echo You did not specify any sound card! | ||
+ | exit 1 | ||
+ | fi | ||
+ | | ||
+ | PATTERN=" | ||
+ | if grep -q " | ||
+ | echo Audio device ${DEVICE} found! | ||
+ | else | ||
+ | echo ${DEVICE} is not a valid sound card! | ||
+ | exit 1 | ||
+ | fi | ||
+ | | ||
+ | jack_control start | ||
+ | jack_control ds alsa | ||
+ | jack_control dps device hw: | ||
+ | jack_control dps rate 48000 | ||
+ | jack_control dps nperiods 3 | ||
+ | jack_control dps period 128 | ||
+ | sleep 5 | ||
+ | #a2jmidid -e & | ||
+ | sleep 5 | ||
+ | qjackctl 2> /dev/null & | ||
+ | | ||
+ | process_id=$(pidof pavucontrol) | ||
+ | if [[ -z $process_id ]]; then | ||
+ | echo " | ||
+ | pavucontrol 2> /dev/null & | ||
+ | fi | ||
+ | | ||
+ | 사용 방법은 다음과 같다. | ||
+ | $ start_jack CODEC | ||
+ | Audio device CODEC found! | ||
+ | --- start | ||
+ | --- driver select " | ||
+ | --- driver param set " | ||
+ | --- driver param set " | ||
+ | --- driver param set " | ||
+ | --- driver param set " | ||
+ | |||
+ | ===== 정해영의 run_fluidsynth script ===== | ||
+ | JACK 구동 명령어를 스크립트 내에 삽입하였다. | ||
+ | # | ||
+ | | ||
+ | option=" | ||
+ | | ||
+ | if [ " | ||
+ | then | ||
+ | option=" | ||
+ | echo | ||
+ | echo "ALSA audio driver will be used (default: JACK)" | ||
+ | elif ! pgrep -l jackd | ||
+ | then | ||
+ | echo | ||
+ | echo " | ||
+ | echo "jackd -d alsa --device hw:Intel --rate 44100 --period 128 &" | ||
+ | jackd -d alsa --device hw:Intel --rate 44100 --period 128 & | ||
+ | echo " | ||
+ | sleep 5 | ||
+ | fi | ||
+ | | ||
+ | OIFS=$IFS; IFS=$' | ||
+ | array=($(find $HOME/sf2 -type f)); IFS=$OIFS | ||
+ | | ||
+ | echo | ||
+ | echo " | ||
+ | i=0 | ||
+ | for var in " | ||
+ | do | ||
+ | echo " | ||
+ | awk '{idx = split($3, parts, "/" | ||
+ | i=`expr $i + 1` | ||
+ | done | ||
+ | echo | ||
+ | echo -n " | ||
+ | read -r input | ||
+ | CMD=" | ||
+ | $CMD | ||
+ | |||
+ | ===== 정해영의 simple_synth 스크립트 ===== | ||
+ | PulseAudio를 오디오 드라이버로 사용하는 매우 단순한 FluidSynth 구동 스트립트. 사운드 폰트 파일을 인수로 지정하지 않으면 FluidR3_GM.sf2가 로드된다. | ||
+ | |||
+ | # | ||
+ | | ||
+ | if [ -z " | ||
+ | then | ||
+ | SF=/ | ||
+ | else | ||
+ | SF=$1 | ||
+ | fi | ||
+ | echo -e " | ||
+ | fluidsynth -a pulseaudio -m alsa_seq -o midi.autoconnect=1 -r 48000 -g 0.5 $SF | ||
+ | sleep 5 | ||
+ | connect_midi_keyboard | ||
+ | |||
+ | ===== connect_midi_keyboard ===== | ||
+ | aconnect -i | ||
+ | aconnect -o | ||
+ | echo | ||
+ | aconnect "iCON iKeyboard" | ||
+ | |||
+ | |||
music_on_linux/audio_관련_스크립트_모음.1616386816.txt.gz · Last modified: 2021/03/22 04:20 by hyjeong