과학적 오디오 처리, 1부 - Ubuntu에서 Octave 4.0.0으로 오디오 파일을 읽고 쓰는 방법
이 페이지에서
- 전제 조건
- 1단계: Octave 열기.
- 2단계: 오디오 정보
- 3단계: 오디오 파일 읽기
- 4단계: 오디오 파일 쓰기
- ogg 파일 만들기:
Linux의 Matlab과 동등한 소프트웨어인 Octave에는 엔터테인먼트 애플리케이션, 연구, 의료 또는 기타 과학 분야를 위한 오디오 신호의 수집, 녹음, 재생 및 디지털 처리를 허용하는 다양한 기능과 명령이 있습니다. 이 튜토리얼에서는 Ubuntu의 Octave V4.0.0을 사용하고 다양한 활동에 사용되는 사운드를 에뮬레이트하기 위해 신호 쓰기 및 재생을 통해 오디오 파일에서 읽기를 시작합니다.
이 튜토리얼의 주요 초점은 이미 설치된 오디오 처리 소프트웨어를 설치하거나 사용법을 배우는 것이 아니라 디자인 및 오디오 엔지니어링의 관점에서 어떻게 작동하는지 이해하는 것입니다.
전제 조건
첫 번째 단계는 옥타브를 설치하는 것입니다. 터미널에서 다음 명령을 실행하여 Ubuntu에 Octave PPA를 추가하고 소프트웨어를 설치합니다.
sudo apt-add-repository ppa:octave/stable
sudo apt-get update
sudo apt-get install octave1단계: 옥타브 열기.
2단계: 오디오 정보
"audioinfo" 명령은 처리할 오디오 파일에 대한 관련 정보를 보여줍니다.>> info = audioinfo ('testing.ogg')
3단계: 오디오 파일 읽기
이 튜토리얼에서는 샘플링, 오디오 유형(스테레오 또는 모노), 채널 수 등과 같은 특성을 읽을 수 있는 ogg 파일을 읽고 사용할 것입니다. 사용된 명령은 Octave의 터미널 창에서 실행됩니다. 먼저 변수에 ogg 파일을 저장해야 합니다. 참고: 파일이 Octave의 작업 경로에 있어야 한다는 것이 중요합니다.>> file='yourfile.ogg'
>> [M, fs] = audioread(file)
>> [y, fs] = audioread (filename, samples)
>> [y, fs] = audioread (filename, datatype)
>> [y, fs] = audioread (filename, samples, datatype)
여기서 샘플은 시작 및 종료 프레임을 지정하고 데이터 유형은 반환할 데이터 유형을 지정합니다. 모든 변수에 값을 할당할 수 있습니다.
>> samples = [1, fs)
>> [y, fs] = audioread (filename, samples)
데이터 유형 정보:
>> [y,Fs] = audioread(filename,'native')
값이 기본인 경우 데이터 유형은 데이터가 오디오 파일에 저장되는 방식에 따라 다릅니다.
4단계: 오디오 파일 쓰기
ogg 파일 생성:
이를 위해 코사인 값으로 ogg 파일을 생성할 것입니다. 내가 사용할 샘플링 빈도는 초당 44100 샘플이며 파일은 10초 동안 지속됩니다. 코사인 신호의 주파수는 440Hz입니다.
>> filename='cosine.ogg';
>> fs=44100;
>> t=0:1/fs:10;
>> w=2*pi*440*t;
>> signal=cos(w);
>> audiowrite(filename, signal, fs);5단계: 오디오 파일 재생
Octave에는 기본적으로 테스트 목적으로 사용할 수 있는 오디오 플레이어가 있습니다. 다음 기능을 예로 사용하십시오.>> [y,fs]=audioread('yourfile.ogg');
>> player=audioplayer(y, fs, 8)
scalar structure containing the fields:
BitsPerSample = 8
CurrentSample = 0
DeviceID = -1
NumberOfChannels = 1
Running = off
SampleRate = 44100
TotalSamples = 236473
Tag =
Type = audioplayer
UserData = [](0x0)
>> play(player);
튜토리얼의 다음 부분에서는 고급 오디오 처리 기능과 과학 및 상업적 사용을 위한 가능한 사용 사례를 살펴보겠습니다.