MP 3 플그림에 대한 질문입니다.

lovejin0309의 이미지

수능 때문에 자살한 친구들의 명복을 빕니다.
============================
안녕하세요. 김유석입니다.
제가 가지고 있는 노트북에서 mp3를 들으려고 합니다.

CPU : 펜 75
RAM : 8M
HDD : 2G

사양이 대단하죠? 윈도우 95에서 플레이가 되긴 하는데 윈 95 자체가 워낙 리소스를 많이 잡아 먹어서 리눅스 상에서 사용하려고 합니다.

직접 mp3 재생 프로그램을 만들어 보려고 하는데 조언을 부탁드립니다.

1. 콘솔모드에서 사용할 것이고
2. 제어(시작,정지,앞,뒤,볼륨) 스위치를 제작해서 시리얼 포트로 연결.

할 생각입니다.

제가 프로그래밍 초짜여서 많은 도움이 필요합니다.
mp3 재생 프로그램 소스를 구할 수 있으면 더 좋을 것 같구요.

책을 추천해 주셔도 감사하구요.

되는대로 많은 조언 부탁드립니다.

Prentice의 이미지

mpg123 (mpglib 디코딩 내장)
http://www.mpg123.de/

MAD
http://www.underbit.com/products/mad/

mpg321 (MAD 디코딩 사용)
http://mpg321.sourceforge.net/

Foobar2000 (윈도용 GUI 플레이어입니다만, BSD라이센스를 따르는 오픈 소스 SDK에 mpglib의 버그를 수정한 디코딩 소스가 포함되어있습니다.)
http://www.foobar2000.org/

자료 사이트:
http://www.mp3-tech.org/
http://wiki.hydrogenaudio.org/index.php?title=MP3
http://www.audiocoding.com/modules/wiki/?page=MP3
http://lame.sourceforge.net/

nako의 이미지

공개된 소스나 기술 문서는 mp3-tech.org 에서 볼 수 있습니다.

amp가 소스 크기가 작으면서 사용하기 편리한 소스라고 볼 수 있습니다.

mad는 고정소수점 (정수) 연산 알고리즘으로 decoding 하기 때문에 fpu가 없는 cpu에서도 동일하게 사용할 수 있다는 장점이 있습니다.

libmad는 mad 의 기능을 lib로 만들어 놓았기 때문에 바로 사용할 수 있습니다.

libmad는 low,high level로 사용할 수 있습니다. 즉 함수 하나로 플레이할 수도 있고 디코딩의 각 과정을 세분해서 사용할 수도 있습니다.

위에서 말한 둘다 코멘드라인으로 제어가능하며, 소스를 이용해서 라이브러리처럼 이용할 수 있습니다.

시리얼로 출력한다는 것은 무슨 뜻인지 잘 모르겠습니다만, 단지 출력 스트림의 방향을 뜻하는 것이라면 소스를 수정해서 충분히 가능할 것입니다.

mpeg layer 3에 관한 전반적인 정보를 원하시면 mp3-tech 에 있는 "An introduction to MPEG Layer 3" 문서가 도움이 될 것입니다.

그 외에도 mp3프레임 헤더에 대한 문서도 많이 나와 있습니다.

id3 tag에 대한 내용은 id3.org에서 볼 수 있습니다.

redrocki의 이미지

그냥 저 사양에 mp3만 사용할려고 합니다. 외국 문서에는 mp3 howto라고 해서 만드는 방법이 있던데요..혹시 다른 방법으로 제작하는 방법이없는지 궁금합니다. 될수있는한 적은 비용으로 작은 공간에 활용해 볼려고하는데요...^^

===========================

Make Beautiful 世上 ~~~ Cool Mind!!

===========================

codebank의 이미지

Serial을 이용하려는 것은 시작, 멈춤 같은 버튼을 이용하려는 생각에서 이겠지요? :-)

google검색에 첫번째로 뜨는 링크가 있더군요.

http://www.ccs.neu.edu/home/bchafy/mp3.html

제목 그대로 Linux MP3 Players Project Page로 되어있는데 필요한 문서들을
찾아볼 수 있을겁니다.

------------------------------
좋은 하루 되세요.

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.