전체 글326 [Digital Audio] 2. Audio File Format 이미지가 그렇듯이 audio도 파일 포맷이 존재한다. 먼저 uncompressed, 이미지로 치자면 BMP에 해당하는 게 있으니 PCM(Pulse Code Modulation) 이라고 한다. 그리고 compressed 가 있는데, 이는 codec을 사용하여 압축 된 포맷을 말한다. wav 는 비 압축 오디오를 저장하기 위한 가장 일반적인 선택이다. mp3 는 인기 압축 포맷으로 전세계에서 가장 유명한 포맷이라고 해도 과언이 아니다. mp3처럼 원본 소리(PCM)을 압축하고, 압축한 것을 다시 복구하여 재생하기 위해서는 codec 이라고 불리는 것이 필요하다. 대충 동영상 따위를 볼 때 여기저기서 코덱이 필요합니다, 코덱이 없으니 설치하세요 등을 많이 봤던 그 코덱이다. 오디오와 동영상은 약간 다르지만 역.. 2021. 7. 8. [Digital Audio] 1. Audio Sampling 이번 프로젝트는 Audio 편집기이다. 그러나 나는 디지털 오디오에 대해 매우 아는 바가 없기 때문에, 좀 공부를 한 뒤에 프로젝트를 진행하려고 한다. 하다못해 mp3 도 잘 안 듣는데다 eq한번 건드려 본 적 없는데 뭘 알겠어... 설마 그걸 내가 직접 짤 날이 올줄은 몰랐지. 일단 최소한의 튜토리얼을 위해, 강의를 보면서 공부하고 기록을 남겨 두기로 했다. 처음에는 수기로 작성하였는데 내 필기 솜씨가 개판인데다 내가 필기로 남겨놓은 자료를 다음에 읽어 본 기억이 없다. 그리고 분명 잃어버릴 것이다. 그렇기에 아예 블로그에 남겨두려고 한다. 대단한 지식은 아니더라도 남겨두어서 나쁠 일은 없을 테니까. 강의를 들으면서 필기하고 그 뒤에 블로그에 옮겨적는 중. 정확히는 강의를 필기한 다음에 내가 이해한 걸.. 2021. 7. 8. [NAudio] 반복재생하기 이번에도 역시 예제를 기반으로 약간 수정했다. https://markheath.net/post/looped-playback-in-net-with-naudio Looped Playback in .NET with NAudio Mark Heath's Development Blog markheath.net 위 예제는 음원이 종료되면 다시 시작하는 방식이라서, 원하는 위치를 지정하고 해당 위치에서 반복할 수 있도록 했다. 매우 단순하니 그냥 코드만 적어놓겠다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51.. 2021. 7. 8. [NAudio] 재생 속도 조절 가장 메이저한 음향 편집 기능, 재생 속도 조절이다. 실제로 강의에서도 말했기에 굉장히 쉬운 기능일 거라고 생각했는데 생각보다 어려운 기능이었나 보다. NAudio에는 추가되어있지 않았고, 공식적으로 올린 예제가 있긴 했는데 다른 오픈소스(SoundTouch) 를 이용해서 구현한 것이었다. 코드의 버전 문제로, .NetFramework 4.5.1 에서만 구동된다. 해당 버전부터 제공되는 함수를 코드상에서 사용하기 때문. vs2017에서도 돌아가니 불만 말고 쓰자. 원본 출처는 아래이다. https://markheath.net/post/varispeed-naudio-soundtouch Varispeed Playback with NAudio using SoundTouch Mark Heath's Develop.. 2021. 7. 8. [NAudio] Spectrogram 그리기 spectrogram 을 완성했다. 스스로도 꽤나 무식하고 단순하게 구현하였다는 자각이 있으므로, 해당 부분의 태클은 삼가해 주기를...ㅠ 실 사용을 위해서는 상당히 많은 부분에서 손을 대야 할 것 같은데, 어차피 중단된(내 손에서 떠난) 프로젝트라서 뭐... 흐. 포기할 때는 꽤 아까웠는데 하면서 진짜 이거 하면서 느끼기를, 구현은 할 수 있는데(어쨌든 하루만에 만들었으니) '예쁘게' 만드는 데에 얼마나 걸릴지 짐작이 안 갔다. 포기하길 잘한 것 같다. 어휴. 아무튼간에, 굉장히 비효율적이나마 구현은 해냈다. NAudio 예제를 보면서 작업하였는데, 여기서 코드를 가져다가 쓰는 바람에 불필요하게 코드가 복잡해졌다. 원본은 spectrogram이 아니라 spectrum analyzer 였기에 '매 순간'.. 2021. 7. 8. [NAudio] 7. Visualization 이번 7강은 시각화이다. 내게는 가장 중요하다고 할 수 있는 부분 중의 하나. 오디오 편집에 있어서 빠질 수가 없는 내용이기도 하다. NAudio에서는 그다지 중요하게 보지는 않은 것 같지만 역시 뺄 수는 없는 부분이다. NAudio 에서는 세 가지 시각화 수법을 제시하는데, 내가 필요한 것 하나(spectrogrtam)는 여기에 안 나온다... 이건 두 가지를 합친 거라고 봐야 해서 직접 만들어야 할듯. 흑. Visualization 청각 정보인 오디오를 시각으로 표현하는 방법이다. 이렇게 함으로서 사람의 주관적인 감각(청각)으로 판단하지 않고 수치적으로 된 값을 보고 구분할 수 있게 된다. 또한 동시에 오디오 전체에 대한 내용을 봄으로서 직접 수 분, 수 시간짜리 소리를 듣지 않고 단번에 파악할 수도.. 2021. 7. 8. [NAudio] 6. Recording Audio 5강을 스킵했지만, 6강도 마찬가지다. 오히려 5강은 어느정도 쓸모가 있지만 6강은 아예! 쓸모가 없으므로 완전 스킵하도록 하겠다. 나는 녹음 관련 기능은 만들 의사가 없다... 내 프로젝트에서 녹음 기능이 필요 없으니까! NAudio 에서 녹음 기능을 사용하기 위한 overview 정도만 올려놓도록 하겠다. 출처 : https://m.blog.naver.com/luku756/221903977560 2021. 7. 8. [NAudio] 5. Working With Codecs 일단 결론부터 말하자면, 이 챕터는 스킵하였다. 강의를 다 봐야 일을 하는데, (바쁘긴 했지만) 보기 시작한 지 10일이 넘었는데 아직 반도 못 봤다... 시간과 집중력 문제로 이걸 다 보려면 하세월이 걸릴 것 같다. 그래서 앞부분 introducing만 보고서 내게 그다지 필요하지 않은 주제라고 판단되는 경우 스킵할 작정이다. 일단 이 codec도, 중요하다면 중요한 주제지만 지금의 내겐 그다지 필요하지 않다. 그래서 간략하게 overview 정도로 적어놓고 넘어가도록 하겠다. 다음에 필요해서 보게 된다면 그때 정리해두자. Codec codec 이란, 간단하게 말해서 audio file을 압축/압축 해제하기 위해 사용되는 소프트웨어이다. uncompressed PCM을 넣어서 compressed for.. 2021. 7. 8. [NAuidio] 4. Changing Wave Formats 이번 4강에서는 wave format을 바꾸는 방법에 대해 다뤘다. 이 wave format이라는 단어가 자꾸 혼동의 여지가 있을 것 같은데, 이 format은 wav, mp3, aac 등의 확장자가 아니라 오디오 파일의 속성을 말한다. 대표적인 속성으로는 sample rate, bit depth, channel count가 있다. 이번 장에서 다루는 것은 uncompressed audio에 대해서 이런 속성들을 다루고 변환하는 것에 대한 내용이다. 중요한 내용도 많지만 사실 내 프로젝트에 필요한 내용은 좀 적어서, 불필요하다 싶은 부분은 아주 간략하게 언급하고 넘어간다. 필요하게 되면 그때 다시 찾아보고 정리하도록 하자. 그리고 wave format과는 별로 상관없지만, 강의 말미에 중요한 내용이 포함.. 2021. 7. 8. [NAuido] 3. Working With Files 파일 입출력에 관한 내용이다. 내가 필요한 것에 가장 가까운 편이라고 할 수 있겠다. 뭐 내가 필요한 것은 여기에다가 편집 기능까지 필요하지만, 그건 또 뒤에 나오겠지. 이 3장에서 다룰 것은 간단하게 얘기하면 파일을 읽는 방법과 파일을 쓰는 방법이다. NAudio File Reader NAudio에는 몇 가지의 FileReader 클래스가 있다. 이들은 각각이 WaveStream 클래스를 상속한(구현한) 클래스들로, 앞의 2강에서 입력으로서 기능했던 MP3FileReader 등을 말한다. 이들은 WaveFormat을 포함하고 있는데, 이는 그 오디오 파일의 속성(SampleRate, bps, channal count 등) 을 알려준다. 또한 reposition 기능을 지원하고 있다. 그리고 전체 오디오.. 2021. 7. 8. 이전 1 ··· 19 20 21 22 23 24 25 ··· 33 다음