소리에 대해 알고 싶습니다.

shint의 이미지

프로그램으로 다양한 악기의 소리를 내고 싶은데요.
소리를 어떻게 구현해야할지. 어떻게 구현되는지 원리가 궁금합니다.
사운드 카드가 왜 필요한지도 궁금하구요.
소리를 녹음해서 음파로 보여지는 과정도 신기하고 재밌어 보입니다.

소리에 대해서 아시는분들 답글점 해주세요.

ifree의 이미지

사운드 카드가 필요한 이유는 비디오 카드가 필요한 이유와 같지 않을까요?
스피커로 나가는 펄스 신호를 만들어야 되니까.

r0oo0t의 이미지

소리의 기본적인 복변조 부터 아시고 싶으신거 같으신대....

음... 쉽게 말씀드리면

아날로그 데이터인.. 사운드가, 어떻게 디지털화로 되는지 그 과정부터 찾아보시면

아마 원하시는 부분에 접근하실수 있으실꺼 같네요...

그래프라도 그려드릴수 있다면 좋겠지만....ㄷㄷ;;

/*********************************
*모든것을 방관하고 지켜보며
*모든것을 창조하고 파괴할수
* 있는 '권한'을 가진 자
*
* 루트 == 신 같은 뜻 아닌가?
*********************************/

/*********************************
*모든것을 방관하고 지켜보며
*모든것을 창조하고 파괴할수
* 있는 '권한'을 가진 자
*
* 루트 == 신 같은 뜻 아닌가?
*********************************/

7339989b62a014c4ce6e31b3540bc7b5f06455024f22753f6235c935e8e5의 이미지

악기 소리 같은 건 보통 몇 개의 파동(sine, square, triangle, sawtooth 등등)을 합치고, 여기에 몇가지 효과(필터, 디스토션 등)를 가해서 만들어냅니다. 아니면 실제 악기 소리를 녹음한 샘플을 이용하기도 하고요.

---8< 서명 -----------------
애니메이션 감상 기록 http://animeta.net/

simpid의 이미지

질문의 범위가 너무 넓네요.

먼저 질문하신 소리에 대해서 공부부터 하시길 바랍니다.
책을 사 보던지...
웹을 검색해 보시던지요.
참고로 컴퓨터 책중에는 멀티미디어에 대해 나온 책을 보면 소리에 대항 기본적인 개념이 설명되어 있을껍니다.

소리(파장) 에 대해 이해하셨다면...

컴퓨터에서 소리를 내는 방법은 대표적으로 두가지 있습니다.

FM(Frequency Modulation) 방식과 PCM(Pulse Code Modulation) 방식입니다. (FM과 PCM도 여러가지 방법으로 나눠지긴 합니다만(ADPCM 등...) 크게봐서 2가지입니다.)

FM 은 컴퓨터에서 몇가지 속성을 조작하여 주파수를 만들어 내는 방법입니다.
attack, sustain, delay, release... 로 기억나네요.
주파수의 강도를 어떻게 표현하냐에 대한 속성입니다.
피아노 소리를 예로 들면 건반을 누르는 순간 순간 큰소리가 나다 서서히 작아지는데 그걸 위에 속성을 조작해서 내게 됩니다.

PCM 는 존재하는 소리를 녹음에서 AD 컨버팅(양자화) 한 후 그 데이터로 음을 발생하는겁니다.
FM 방식에 비해 음질이 좋지만 비용이 비쌉니다.(DA 컨버터, 램, DMA 등을 갖춘 하드웨어)
우리가 많이 사용하는 MP3 가 PCM 데이터를 손실 압축하는겁니다.

M.W.Park의 이미지

Lisp 코드를 읽을 수 있다면, Nyquist를 추천합니다.
예전에 테스트해본 적이 있는데, 꼭 CL을 알아야하는 것같지는 않더군요.

nyquist 포함해서 몇개가 소개되어있는 페이지입니다.
http://www.cs.cmu.edu/~music/music.software.html

-----
오늘 의 취미는 끝없는, 끝없는 인내다. 1973 法頂

-----
오늘 의 취미는 끝없는, 끝없는 인내다. 1973 法頂

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.