리눅스 용 스테레오“톤 제너레이터”?


14

Linux 용 스테레오 (별도의 왼쪽 및 오른쪽 채널) 톤 제너레이터와 같은 것이 있습니까? 각 채널에 대해 볼륨과 톤 / 피치를 설정할 수 있고, 파형 (사인, 사각형, 톱니 등)을 설정하고 한 채널을 반전시키는 것이 좋습니다 (다른 채널과 반대).

그렇지 않다면 좋은 곳을 만들기위한 아이디어가 있습니까? 신스와 같은 기존 프로그램을 조정하는 것이 가장 간단하다고 생각합니다 ...하지만 제대로 작동하지 않으면 그러한 프로그램의 기반으로 사용할 수있는 라이브러리 (SDL 등)가 있습니까?


당신은 sox와 함께 그것을 할 수 있습니다.
Renan

답변:


15

크로스 플랫폼 오픈 소스 오디오 편집기 인 Audacity 를 찾고있는 것 같습니다 . 그 기능 중 하나는 톤을 생성하는 것입니다. 멀티 트랙 오디오 편집기이므로 스테레오 톤을 쉽게 만들 수 있습니다.

세 이하 Generate메뉴, 당신이있는 거 기록 또는 추가 입력 파일을 필요로 할 필요없이 임의의 주파수, 진폭 및 길이의 사인, 톱니, 그리고 광장 파형 톤을 만들 수 있습니다.


그러나 "아무것도 아닌"톤을 생성 할 수 있습니까? 그리고 나는 아무것도 녹음하고 재생할 생각이 없습니다. "영원한"두 개의 약간 다른 톤 (각 채널당 하나씩)을 생성하면됩니다.
Baard Kopperud

1
@BaardKopperud 예, 명확하게 답변을 업데이트했습니다.
j883376

8

speaker-testalsa-utils 패키지에서 찾은을 (아치 머신에서) 볼 수 있습니다 .

speaker-test -c2 -t sinexterm에서 실행하여 각각 약 6 초 동안 440Hz 사인파를 주면서 왼쪽과 오른쪽 스피커가 번갈아 나타납니다. xterm에서는 사용중인 스피커에 대한 정보를 제공했습니다.

매뉴얼 페이지에 따르면 임의 주파수 및 핑크 노이즈의 사인파를 수행 할 수 있습니다.


1
speaker-test -c2 -t sine -f 440frequency 매개 변수를 제공하여 예제를 보완합니다. 고마워.
기독교

4

siggen프로그램은 트릭을해야한다.

siggen의 스크린 샷

독립적 인 신호를 가진 두 개의 채널과 그 사이에 위상이 있습니다. 각 채널은 다음과 같은 신호 유형을 수행 할 수 있습니다.

  • 사인
  • 코사인
  • 광장
  • 삼각형
  • 톱니
  • 펄스
  • 소음

다음과 같이 스테레오 모드로 실행할 수 있습니다.

$ siggen -2

때문에 /dev/dsp대부분의 최신 리눅스 배포판에서 더 이상 사용되지 않습니다, 당신은 아마 호환성 라이브러리를 설치해야합니다. 데비안 기반 배포판 에서 alsa-oss패키지를 설치 하고 다음과 같이 실행하십시오.

$ aoss siggen -2

PulseAudio OSS 래퍼로 시도해 볼 수도 있습니다.

$ padsp siggen -2

[siggen] 입력 / 출력 오류 : / dev / dsp
Ole Tange

흠. PulseAudio OSS 래퍼가 전혀 도움이됩니까?
Nathaniel M. Beaver

네. 효과가있었습니다.
Ole Tange

3

ffmpeg

ffmpeg는 평소처럼 그렇게 할 수 있습니다.

5 초 모노 1000Hz 정현파 out.wav사운드 파일을 만듭니다 .

sudo apt-get install ffmpeg
ffmpeg -f lavfi -i "sine=frequency=1000:duration=5" out.wav

대신 스테레오 :

ffmpeg -f lavfi -i "sine=frequency=1000:duration=5" -ac 2 out.wav

파일의 크기는 2 배이며 대신 파일이 ffprobe있다고 말합니다 .2 channels1 channel

파일을 만들지 않고 5 초 동안 오디오를 재생합니다.

ffplay -f lavfi -i "sine=frequency=1000:duration=5" -autoexit -nodisp

화가 날 때까지 영원히 플레이하십시오.

ffplay -f lavfi -i "sine=frequency=1000" -nodisp

선적 서류 비치:

다른 sunder Audio 소스 섹션에는 다음과 같은 유용한 사운드 생성 알고리즘이 설명되어 있습니다 sine.

  • anoisesrc: 여러 색상의 노이즈 (예 : 흰색, 분홍색, 갈색)
  • aevalsrc 임의의 수학적 표현을 취하므로 삼각 파형을 생성 할 수 있어야합니다 (TODO 표현).

서지:

우분투 18.04에서 테스트, ffmpeg 3.4.6.

추가 라이브러리가없는 최소 C 오디오 생성 예

그냥 재미로 : https : //.com/questions/732699/how-is-audio-represented-with-numbers-in-computers/36510894#36510894


1

saugns의 프로그램은 그것을 할 수 있습니다. (현재 8 개의 웨이브 유형과 FM / PM / AM 변조 기술을 지원하는 명령 줄 오디오 생성기입니다.)

스테레오로 분리 된 두 개의 100Hz 웨이브, 하나는 사인과 하나는 삼각형, 다른 하나는 반전 된 진폭을 생성하기 위해 다음 스크립트를 파일에 붙여넣고 프로그램을 통해 실행할 수 있습니다 ./saugns filename.

Osin f100 a0.5 t2 P0
Otri f100 a(-0.5) t2 P1

t들 시간 (초)을 지정합니다.

P들 (= 0.0가 1.0 = 좌우) 별 음성 패닝이다. P향후 버전 이외의 것으로 변경 될 수 있습니다 . README 파일은 현재 구문을 설명합니다.

편집 : 나는 실제로 프로그램 개발자입니다.

또한, (예를 들면, 어떤 파장 타입 진폭 뒤집기의 다른 방법 sin아니지만은 saw), 소문자를 사용하여 위상을 설정한다 p. p0.5웨이브 사이클의 50 % (음의 반)에 위상을 추가 합니다. 또한 명명 된 코사인 유형이 없으므로 p0.25사인을 코사인 (또는 p0.75음의 코사인) 으로 변환하는 방법 입니다.


안녕 조엘. 유닉스 및 리눅스에 오신 것을 환영합니다 . 첫 번째 게시물이므로 답변을 올렸습니다. 프로젝트의 관리자 또는 개발자 인 경우이 정보를 공개하는 것이 표준 관행이라고 언급했습니다. 실제로 GPL 소프트웨어의 문제는 아니지만 unix.stackexchange.com/help/promotion 에 대해 알아 두면 좋습니다 . 유용한 Free / Libre 소프트웨어의 경우 사용자가 알고 있다면이 사이트에서 더 많은 투표 를 받을 가능성이 높습니다. 당신은 프로젝트의 개발자 중 하나입니다.
Anthony Geoghegan 2018 년

0

당신은 Gnaural를 찾고있을 것 입니다.


3
이 프로그램이 이전에 게시 된 다른 답변과 마찬가지로이 프로그램에서 요청하는 기능을 제공하는 방법에 대한 자세한 정보를 포함하도록이 답변 을 편집하는 것이 가장 좋습니다 .
Anthony Geoghegan

0

SoX로 톤을 쉽게 합성 할 수 있습니다. 걸림돌이 있었지만 결국 알아낼 수있었습니다.

SoX와 PulseAudio를 인터페이싱하는 데 문제가있어서 sox원시 데이터를로 전달했습니다 paplay.

파이프 라인은 지루하므로 스크립트를 만들었습니다.

$ cat sox-paplay
#!/bin/bash
: ${HZ:=44100}
: ${NCHAN:=6}
: ${SINK:=mysink}
sox -c $NCHAN -n -t raw -r $HZ -L -b 16 - "$@" | paplay --no-remix --no-remap --raw -v -p --rate $HZ -d $SINK --channels $NCHAN

예 :

sox-paplay synth sine 1000 gain -5 remix -m 0 0 1 0 0 0

remix효과는 결과를 특정 채널로 보내는 데 사용됩니다. 훨씬 강력하지만 여기서는 기본 기능 만 사용합니다. 이 예에서는 6 채널 장치가 있으며 세 번째 채널로 신호음을 보내고 있습니다.

원래 PulseAudio 장치를 래핑하는 ALSA 장치를 만들었지 만 ALSA를 사용하여 채널 매핑을 제어하는 ​​것이 불가능하므로 임의의 채널이 내 사용자 지정 채널 맵이 ALSA 기본값과 어떻게 다른지에 따라 혼합되었습니다. 내가 가지고있는 이유입니다 --no-remix --no-remappaplay위; sox 명령에 대한 원시 채널 순서를 원합니다.

나는 리눅스의 오디오가 더 나은 문서화와 오류보고를 갖기를 바란다.

커맨드 라인에서 PulseAudio Equalizer설정하는 방법을 최근에 게시 한 답변에 관심이있을 수 있습니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.