Visualizer로 spotify 곡을 보여줍니다.
12125 단어 cavaSoundFlowerSpotify
개시하다
전 원격근무 중 곡을 들으며 일하는 경우가 늘었다.
Visualizer로 spotify가 틀어주는 곡을 보여주면 재미있을 것 같아서요.
전제로 스팟ify의 고급 회원이어야 한다.
결국spotify로 노래를 틀면 이런 느낌으로 터미널에 방문자를 표시한다.
사용할 라이브러리
spotifyd
자신의 컴퓨터를 spotify connect할 수 있도록 하다
spotifyd를 사용하지 않고 사운드플라워와 카바만 사용해도 괜찮습니다.Soundflower와 카바가 있으면 맥의 소리 출력을 카바에게 전달할 수 있기 때문에 맥으로 어떤 소리(유튜브일 수도 있음)를 내면 터미널에서 바쁘게 맞출 수 있다.
Soundflower
가상 오디오 IF
cava
종착역에서 바쁘게 소리를 낼 수 있어요.
작업흐름
spotifyd
자신의 컴퓨터를 spotify connect할 수 있도록 하다
spotifyd를 사용하지 않고 사운드플라워와 카바만 사용해도 괜찮습니다.Soundflower와 카바가 있으면 맥의 소리 출력을 카바에게 전달할 수 있기 때문에 맥으로 어떤 소리(유튜브일 수도 있음)를 내면 터미널에서 바쁘게 맞출 수 있다.
Soundflower
가상 오디오 IF
cava
종착역에서 바쁘게 소리를 낼 수 있어요.
작업흐름
spotifyd
설치하다.
spotifyd의 설치는 여기서부터. 2진법 설치를 낮추는 것이다.
각 플랫폼을 대상으로 기능을 제한한ver와 전기능ver 등이 많은데 이번에는 맥을 위한 전 버전(spotifyd-macos-full.tar.gz)을 사용했다.
다음은 다운로드한 파일이 떨어진 상태에서 시작하는 작업 절차입니다.
$ sudo cp Downloads/spotifyd /usr/local/bin
$
$ brew install dbus pkg-config portaudio # readmeに書いているが、dbus, pkg-config, portaudioが必要
$ /usr/local/bin/spotifyd --help # 実行できた
spotifyd 0.2.24
Simon Persson <[email protected]>, Sven Lechner <[email protected]>
A Spotify daemon
USAGE:
spotifyd [FLAGS] [OPTIONS]
:
:
설정
readme도 이런 느낌의 conf를 준비한다고 적혀 있다.
spotifyd.conf[global]
# Your Spotify account name.
username = <spotifyのユーザー名>
# Your Spotify account password.
password = <spotifyのパスワード>
# A command that gets executed and can be used to
# retrieve your password.
# The command should return the password on stdout.
#
# This is an alternative to the `password` field. Both
# can't be used simultaneously.
# password_cmd = command_that_writes_password_to_stdout
# If set to true, `spotifyd` tries to look up your
# password in the system's password storage.
#
# This is an alternative to the `password` field. Both
# can't be used simultaneously.
# use_keyring = true
# The audio backend used to play the your music. To get
# a list of possible backends, run `spotifyd --help`.
backend = portaudio
# The alsa audio device to stream audio to. To get a
# list of valid devices, run `aplay -L`,
# device = alsa_audio_device # omit for macOS
# The alsa control device. By default this is the same
# name as the `device` field.
# control = alsa_audio_device # omit for macOS
# The alsa mixer used by `spotifyd`.
mixer = PCM
# The volume controller. Each one behaves different to
# volume increases. For possible values, run
# `spotifyd --help`.
volume_controller = alsa # use softvol for macOS
# A command that gets executed in your shell after each song changes.
# on_song_change_hook = command_to_run_on_playback_events
# The name that gets displayed under the connect tab on
# official clients. Spaces are not allowed!
device_name = pokotyan-macbook
# The audio bitrate. 96, 160 or 320 kbit/s
bitrate = 320
# The director used to cache audio data. This setting can save
# a lot of bandwidth when activated, as it will avoid re-downloading
# audio files when replaying them.
#
# Note: The file path does not get expanded. Environment variables and
# shell placeholders like $HOME or ~ don't work!
cache_path = cache_directory
# If set to true, audio data does NOT get cached.
# no_audio_cache = true
# If set to true, enables volume normalisation between songs.
volume_normalisation = true
# The normalisation pregain that is applied for each song.
normalisation_pregain = -10
# The port `spotifyd` uses to announce its service over the network.
zeroconf_port = 1234
# The proxy `spotifyd` will use to connect to spotify.
# proxy = http://proxy.example.org:8080
# The displayed device type in Spotify clients.
# Can be unknown, computer, tablet, smartphone, speaker, tv,
# avr (Audio/Video Receiver), stb (Set-Top Box), and audiodongle.
device_type = speaker
$ sudo cp Downloads/spotifyd /usr/local/bin
$
$ brew install dbus pkg-config portaudio # readmeに書いているが、dbus, pkg-config, portaudioが必要
$ /usr/local/bin/spotifyd --help # 実行できた
spotifyd 0.2.24
Simon Persson <[email protected]>, Sven Lechner <[email protected]>
A Spotify daemon
USAGE:
spotifyd [FLAGS] [OPTIONS]
:
:
[global]
# Your Spotify account name.
username = <spotifyのユーザー名>
# Your Spotify account password.
password = <spotifyのパスワード>
# A command that gets executed and can be used to
# retrieve your password.
# The command should return the password on stdout.
#
# This is an alternative to the `password` field. Both
# can't be used simultaneously.
# password_cmd = command_that_writes_password_to_stdout
# If set to true, `spotifyd` tries to look up your
# password in the system's password storage.
#
# This is an alternative to the `password` field. Both
# can't be used simultaneously.
# use_keyring = true
# The audio backend used to play the your music. To get
# a list of possible backends, run `spotifyd --help`.
backend = portaudio
# The alsa audio device to stream audio to. To get a
# list of valid devices, run `aplay -L`,
# device = alsa_audio_device # omit for macOS
# The alsa control device. By default this is the same
# name as the `device` field.
# control = alsa_audio_device # omit for macOS
# The alsa mixer used by `spotifyd`.
mixer = PCM
# The volume controller. Each one behaves different to
# volume increases. For possible values, run
# `spotifyd --help`.
volume_controller = alsa # use softvol for macOS
# A command that gets executed in your shell after each song changes.
# on_song_change_hook = command_to_run_on_playback_events
# The name that gets displayed under the connect tab on
# official clients. Spaces are not allowed!
device_name = pokotyan-macbook
# The audio bitrate. 96, 160 or 320 kbit/s
bitrate = 320
# The director used to cache audio data. This setting can save
# a lot of bandwidth when activated, as it will avoid re-downloading
# audio files when replaying them.
#
# Note: The file path does not get expanded. Environment variables and
# shell placeholders like $HOME or ~ don't work!
cache_path = cache_directory
# If set to true, audio data does NOT get cached.
# no_audio_cache = true
# If set to true, enables volume normalisation between songs.
volume_normalisation = true
# The normalisation pregain that is applied for each song.
normalisation_pregain = -10
# The port `spotifyd` uses to announce its service over the network.
zeroconf_port = 1234
# The proxy `spotifyd` will use to connect to spotify.
# proxy = http://proxy.example.org:8080
# The displayed device type in Spotify clients.
# Can be unknown, computer, tablet, smartphone, speaker, tv,
# avr (Audio/Video Receiver), stb (Set-Top Box), and audiodongle.
device_type = speaker
spotify connect를 만들 때 터미널의 디스플레이 이름을 지정할 수 있습니다.
이번에는 맥으로 이동하기 때문에 백엔드가 포트오디오를 지정합니다.플랫폼마다 지정할 수 있는 백엔드가 다르기 때문에spotifyd-help를 통해 어느 값이 유효한지 확인할 수 있습니다.
제작된 conf를 아래 임의로 설정하면spotifyd가 자동으로 불러옵니다
~/.config/spotifyd
/etc
/etc/xdg/spotifyd
$ cp spotifyd.conf /etc
부팅
spotifyd를 시작합니다.
$ spotifyd --no-daemon
Loading config from "/etc/spotifyd.conf"
No proxy specified
Using software volume controller.
Failed to register IPv6 receiver: Os { code: 49, kind: AddrNotAvailable, message: "Can\'t assign requested address" }
Connecting to AP "gae2-accesspoint-b-tpjk.ap.spotify.com:443"
Authenticated as "dfp0082708o85pndjel2s3caj" !
Country: "JP"
이 정도면 스마트폰의spotify 앱을 통해 자신의 컴퓨터spotify connect를 실현할 수 있다.푹 빠진 곳
최신release의spotifyd를 빼면 마코스10입니다.15용 프로그램이라 부팅이 안돼요.
마코스를 10.15로 주고 제대로 움직였어요.
$ spotifyd --no-daemon
Loading config from "/etc/spotifyd.conf"
No proxy specified
Using software volume controller.
error sending packet Os { code: 65, kind: Other, message: "No route to host" }
Connecting to AP "gae2-accesspoint-b-wwhc.ap.spotify.com:443"
Authenticated as "dfp0082708o85pndjel2s3caj" !
Country: "JP"
Unhandled DBus message: (Signal, Some("/org/freedesktop/DBus"), Some("org.freedesktop.DBus"), Some("NameAcquired"))
Unhandled DBus message: (Signal, Some("/org/freedesktop/DBus"), Some("org.freedesktop.DBus"), Some("NameAcquired"))
Loading <裸の心> with Spotify URI <spotify:track:11OHUXwYHjsRNysUDdO2JS>
dyld: lazy symbol binding failed: Symbol not found: ____chkstk_darwin
Referenced from: /usr/local/bin/spotifyd (which was built for Mac OS X 10.15)
Expected in: /usr/lib/libSystem.B.dylib
dyld: Symbol not found: ____chkstk_darwin
Referenced from: /usr/local/bin/spotifyd (which was built for Mac OS X 10.15)
Expected in: /usr/lib/libSystem.B.dylib
Abort trap: 6
$
Soundflower
설치하다.
설치 프로그램에서 설치합니다.다음은 참조입니다.
https://hi3103.net/notes/mac/1214
설치가 완료되면 맥의 소리를 출력해서 Soundflower를 선택할 수 있습니다.
설정
소리를'맥의 내장 스피커'와'Soudflower'두 방면으로 출력한다.
mac를 여는 프로그램 = > 유틸리티 = > Audio MIDI 설정.
왼쪽 아래 + 를 눌러 다중 출력 기기 생성
내장 출력 및 SoundFlower(2ch) 선택
작성된 다중 출력 기기 사용
cava
설치하다.
기본적으로readme에 적힌 대로 하면 됩니다.
(libtoolize 같은 건 readme대로 해도 안 돼)$ brew install fftw ncurses libtool automake portaudio
$ ln -s /usr/local/bin/glibtoolize /usr/local/bin/libtoolize
$ git clone [email protected]:karlstav/cava.git
$ cd cava/
$ ./autogen.sh
$ ./configure
$ make
$ make install
푹 빠진 곳
autom4te: need GNU m4 1.4 or later: /usr/bin/m4
./autogen.sh를 실행할 때 상기 오류가 발생합니다.m4가 제대로 작동하지 않음
$ m4 --version
dyld: Symbol not found: _OBJC_IVAR_$_NSFont._fFlags
Referenced from: /Applications/Xcode.app/Contents/SharedFrameworks/DVTDocumentation.framework/Versions/A/../../../../SharedFrameworks/DVTKit.framework/Versions/A/DVTKit
Expected in: /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
in /Applications/Xcode.app/Contents/SharedFrameworks/DVTDocumentation.framework/Versions/A/../../../../SharedFrameworks/DVTKit.framework/Versions/A/DVTKit
m4: error: unable to locate xcodebuild, please make sure the path to the Xcode folder is set correctly!
m4: error: You can set the path to the Xcode folder using /usr/bin/xcode-select -switch
$
xcode를 업데이트해 보니 잘 움직일 수 있게 됐어요.$ m4 --version
GNU M4 1.4.6
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Rene' Seindal.
$
./autogen.sh: line 9: libtoolize: command not found
./autogen.sh를 실행할 때 상기 오류가 발생합니다.
mac에서libtoolize는globtoolize 명령인 것 같습니다.
https://qiita.com/udzura/items/3c656bbe3056e2b9ebd0
https://stackoverrun.com/ja/q/4191479
그래서 나는 기호 링크를 붙였다.$ ln -s /usr/local/bin/glibtoolize /usr/local/bin/libtoolize
설정
./autogen.sh를 실행하면 다음에cava 설정 파일을 만듭니다.~/.config/cava/config
readme에도 쓰여 있으며 input의 설정 부분은 다음과 같이 수정됩니다method = portaudio
source = "Soundflower (2ch)"
이렇게 되면 카바는 사운드플라워(2ch)로 향하는 소리 출력을 포착할 수 있다.
또한 기본적으로 각 설정은 모두 주석으로 아웃됩니다.
input의 설정은 상술한 내용을 사용했고 다른 모든 곳의 논평은 취소되었다.
부팅
카바가 맥의 단말기에서 이동합니다.(처음에는 iTerm에서 움직였지만 움직이지 않고 약간 반했다.)$ cava
숙제 끝!
이 정도면 종착역에서 스팟ify 곡을 들으느라 바쁠 수도 있다.
뭐가 바빠서?이렇게 말하면 그만이지, 즐거우면 해봐
Reference
이 문제에 관하여(Visualizer로 spotify 곡을 보여줍니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/pokotyan/items/627008679281bae780d2
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
설치하다.
기본적으로readme에 적힌 대로 하면 됩니다.
(libtoolize 같은 건 readme대로 해도 안 돼)
$ brew install fftw ncurses libtool automake portaudio
$ ln -s /usr/local/bin/glibtoolize /usr/local/bin/libtoolize
$ git clone [email protected]:karlstav/cava.git
$ cd cava/
$ ./autogen.sh
$ ./configure
$ make
$ make install
푹 빠진 곳
autom4te: need GNU m4 1.4 or later: /usr/bin/m4
./autogen.sh를 실행할 때 상기 오류가 발생합니다.m4가 제대로 작동하지 않음
$ m4 --version
dyld: Symbol not found: _OBJC_IVAR_$_NSFont._fFlags
Referenced from: /Applications/Xcode.app/Contents/SharedFrameworks/DVTDocumentation.framework/Versions/A/../../../../SharedFrameworks/DVTKit.framework/Versions/A/DVTKit
Expected in: /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
in /Applications/Xcode.app/Contents/SharedFrameworks/DVTDocumentation.framework/Versions/A/../../../../SharedFrameworks/DVTKit.framework/Versions/A/DVTKit
m4: error: unable to locate xcodebuild, please make sure the path to the Xcode folder is set correctly!
m4: error: You can set the path to the Xcode folder using /usr/bin/xcode-select -switch
$
xcode를 업데이트해 보니 잘 움직일 수 있게 됐어요.$ m4 --version
GNU M4 1.4.6
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Rene' Seindal.
$
./autogen.sh: line 9: libtoolize: command not found
./autogen.sh를 실행할 때 상기 오류가 발생합니다.
mac에서libtoolize는globtoolize 명령인 것 같습니다.
https://qiita.com/udzura/items/3c656bbe3056e2b9ebd0
https://stackoverrun.com/ja/q/4191479
그래서 나는 기호 링크를 붙였다.
$ ln -s /usr/local/bin/glibtoolize /usr/local/bin/libtoolize
설정
./autogen.sh를 실행하면 다음에cava 설정 파일을 만듭니다.
~/.config/cava/config
readme에도 쓰여 있으며 input의 설정 부분은 다음과 같이 수정됩니다method = portaudio
source = "Soundflower (2ch)"
이렇게 되면 카바는 사운드플라워(2ch)로 향하는 소리 출력을 포착할 수 있다.또한 기본적으로 각 설정은 모두 주석으로 아웃됩니다.
input의 설정은 상술한 내용을 사용했고 다른 모든 곳의 논평은 취소되었다.
부팅
카바가 맥의 단말기에서 이동합니다.(처음에는 iTerm에서 움직였지만 움직이지 않고 약간 반했다.)
$ cava
숙제 끝!
이 정도면 종착역에서 스팟ify 곡을 들으느라 바쁠 수도 있다.
뭐가 바빠서?이렇게 말하면 그만이지, 즐거우면 해봐
Reference
이 문제에 관하여(Visualizer로 spotify 곡을 보여줍니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/pokotyan/items/627008679281bae780d2
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Visualizer로 spotify 곡을 보여줍니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/pokotyan/items/627008679281bae780d2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)