[파이썬, Python] Wave 파일을 PCM 파일로 바꿔 저장하는 예제 1.


파일명.wav 인 경우에는 파일명.pcm으로 새로운 파일 생성 저장.

그렇지 않은 경우에는 파일명.확장자.pcm으로 새로운 파일 생성 저장.


#!/usr/bin/python

import sys

import os.path


if len(sys.argv) is 1:

filename = raw_input('Please type input file name: ') # There is no option.

else:

filename = sys.argv[1]

while True:

try:

file = open(filename, 'rb')

break

except:

print '[Error] No such file: %s' % filename

filename = raw_input('Please try again: ')

byteBuffer = bytearray(file.read())

file.close()


fn_ext = os.path.splitext(filename)

if fn_ext[1] == '.wav':

out_filename = fn_ext[0] + '.pcm'

else:

out_filename = fn_ext[0] + fn_ext[1] + '.pcm'

print 'Out file name: %s' % out_filename


out_file = open(out_filename, 'wb')

out_file.write(byteBuffer[44:])

out_file.close()

raw_input('Press Enter to exit')

exit(0)



wave2pcm.py


반응형

[파이썬, Python] 현재 폴더의 파일 리스트 출력하기 예제 (dir /w)


[filelist.py]

#!/usr/bin/python

import os.path


folder = os.getcwd()

print 'folder: %s' % folder

for filename in os.listdir(folder):

print filename


exit(0)


실행 결과:

D:\mytool>python filelist.py

folder: D:\mytool

filelist.py

filelist1.py



[filelist1.py]

#!/usr/bin/python

import os.path


folder = os.getcwd()

print 'folder: %s' % folder

for filename in os.listdir(folder):

fullname = os.path.join(folder,filename)

print fullname


exit(0)


실행 결과:

D:\mytool>python filelist1.py

folder: D:\mytool

D:\mytool\filelist.py

D:\mytool\filelist1.py



fileList.py

fileList1.py


반응형

[파이썬, Python] 논리연산



>>> True

True


>>> True and False

False

>>> True & False

False


>>> True or False

True

>>> True | False

True


>>> not True

False

>>> not False

True


>>> 1 > 0

True

>>> 1 < 0

False

>>> 1 == 0

False

>>> 0 == 0

True

>>> 1 != 0

True

>>> 1 is not 0

True

>>> 1 is 0

False


>>> bool(0)

False

>>> bool(1)

True


반응형

[파이썬, Python] String 검색

count(keyword, [start, [end]]) - keyword 포함 개수
endswith(postfix, [start, [end]]) - 문자열 끝에 postfix가 있는지 검사
find(keyword, [start, [end]]) - keyword가 있는 첫번째 인덱스, 없으면 -1
index(keyword, [start, [end]]) - keyword가 있는 첫번째 인덱스, 없으면 Error 발생


[출처] Python string|작성자 대한민군


>>> 'python'.count('p')

1

>>> 'python'.count('p',1)

0

>>> 'python'.find('p')

0

>>> 'python'.find('i')

-1

>>> 'python'.index('p')

0

>>> 'python'.index('i')

Traceback (most recent call last):

  File "<stdin>", line 1, in <module>

ValueError: substring not found

>>> 'python'.endswith('on')

True

>>> 'python'.endswith('hon')

True

>>> 'python'.endswith('onn')

False


반응형


changeExt.py

[파이썬, Python] 파일명 확장자 변경하기 예제 


"파일명 + 확장자"로 구성된 파일명을 읽어서, 다른 확장자로 바꾸는 예제입니다.


이 예제의 핵심은 os.path.splitext()를 사용하는 것이며,

확장자가 '.wav'이면, '.pcm'으로 바꾸고, 그 외의 경우에는 '.pcm'을 붙여주는 예제...


[changeExt.py]

#!/usr/bin/python

import sys

import os.path


if len(sys.argv) is 1:

filename = raw_input('Please type input file name: ') # There is no option.

else:

filename = sys.argv[1]


fn_ext = os.path.splitext(filename)


print 'Input file name: %s' % fn_ext[0]

print 'Input file ext: %s' % fn_ext[1]


if fn_ext[1] == '.wav':

out_filename = fn_ext[0] + '.pcm'

else:

out_filename = fn_ext[0] + fn_ext[1] + '.pcm'


print 'Out file name: %s' % out_filename


실행 결과는 다음과 같이...

1. 확장자가 "wav"인 경우:

D:\mytool>python changeExt.py test.wav

Input file name: test

Input file ext: .wav

Out file name: test.pcm


2. 확장자가 "wav"가 아닌 경우:

D:\mytool>python changeExt.py test.pcm

Input file name: test

Input file ext: .pcm

Out file name: test.pcm.pcm


3. 파일 이름이 ".wav"인 경우:

D:\\mytool>python changeExt.py .wav

Input file name: .wav

Input file ext:

Out file name: .wav.pcm


[참고]

os.path.split() : 폴더명과 파일명을 구분할 때

os.path.splitdrive() : 드라이브명을 구분할 때

반응형

Wave 파일 포맷


Wave 파일의 헤더는 44byte입니다.

Filesize가 131,244byte이고, 16Khz Mono PCM의 Wave 파일 헤더예제입니다.




다음은, Filesize가 262,444byte이고, 16Khz Stereo PCM의 예제입니다.




[Wave 란?]

WAV 또는 WAVE는 웨이브폼 오디오 포맷(웨이브 오디오 포맷, Waveform audio format)의 준말로 개인용 컴퓨터에서 오디오를 재생하는 마이크로소프트와 IBM오디오 파일 포맷 표준이다. 덩어리째로 데이터를 저장하기 위한 RIFF 비트스트림 포맷 방식에서 변화한 것으로, 아미가에 쓰이는 IFFF와 매킨토시 컴퓨터에 쓰이는 AIFF 포맷에 매우 가깝다. 가공되지 않은 오디오를 위한 윈도 시스템에 쓰이는 기본 포맷이다. 윈도 상에서는 WAV가 비압축 형식만 있는 것이 아니고 여러 압축 코덱을 이용할 수 있다. 그러나 윈도 비스타부터는 기본 지원 포맷이 WMA으로 바뀌었다.


출처: https://ko.wikipedia.org/wiki/WAV



[Big Endian / Little Endian]


Wave format에서는 ID (RIFF, WAVE, fmt, data 등)은 Big Endian으로 되어 있고,

나머지 값들은 모두 Little Endian으로 되어 있다.



[참고 사이트]

http://crystalcube.co.kr/123

http://soundfile.sapp.org/doc/WaveFormat/



반응형

'오디오 음성' 카테고리의 다른 글

Phoneme (음소)  (0) 2015.08.05
Grapheme (문자소)  (0) 2015.08.05
파스칼 (단위)  (0) 2015.07.09
롬바드 효과 (Lombard Effect)  (0) 2015.06.18
Root mean square (RMS)  (0) 2014.06.18

빈스빈스(BEANSBINS) 잠실점

(빈스빈스 홈페이지: http://www.beansbins.com/)


빈스빈스 잠실점에서 아이스 크림 와플을 주문해서 먹었어요. 

아이스크림은 딸기, 망고, 바닐라를 선택했는데, 제 입맛에는 딸기 아이스크림이 제일 맛있더라구요. ^^ (다음 번에 가면 딸기만 세 개로 주문할까 함. ㅋㅋㅋ)

[가격: 아스크림 1개 - 7,500원, 2개 - 13,500원, 3개 - 15,500원]


아래 사진은 벨기에 출장갔을때, 먹었던 와플 사진인데요.

빈스빈스에서 먹는 와플도 충분히 맛있지만,

언제 한번 다시, 와플 먹으러 벨기에 가고 싶네요. ^^


빈스빈스 커피 잠실점은 석촌호수 사거리 근처에 있습니다.




빈스빈스 커피 잠실점 입구인 석촌호수 사거리입니다.


석촌호수 사거리에는 오모리 김치찌개 본점도 있어요.


빈스빈스 커피 잠실점 매장 앞이에요. 


여러가지 맛있는 와플이 있어요. 









반응형

파스칼 (단위)


wikipedia에 다음과 같이 정의 되어 있습니다. (출처: wikipedia)


파스칼(기호 Pa)는 압력에 대한 SI 유도 단위이다. 1 파스칼은 1 제곱미터 당 1 뉴턴의 힘이 작용할 때의 압력에 해당한다. 단위의 이름은 프랑스의 수학자 블레즈 파스칼의 이름을 땄다.

정의[편집]

{\rm 1~Pa = 1~\frac{N}{m^2} = 1~\frac{\frac{kg \cdot m}{s^2}}{m^2} = 1~\frac{kg}{m \cdot s^2}}

여기서 N 은 뉴턴m 은 미터kg 은 킬로그램s 는 .


dBSPL(sound pressure level, 음압) : 음압(소리의 매질인 공기의 압력의 실효출력)의 단위는 파스칼(Pa)이지만, 2×10−5 Pa를 기준값(0 dBSPL)으로 한다.


반응형

'오디오 음성' 카테고리의 다른 글

Grapheme (문자소)  (0) 2015.08.05
Wave 파일 포맷  (0) 2015.07.14
롬바드 효과 (Lombard Effect)  (0) 2015.06.18
Root mean square (RMS)  (0) 2014.06.18
Equal-loudness contour (등청감 곡선)  (0) 2014.06.18

스마트폰 스크린 샷 저장 위치


삼성에서 출시한 안드로이드 폰 스크린 샷은 홈 버튼카메라 버튼을 동시에 걸게 누르면 됩니다. 또는, 손날로 화면 전체를 쓰윽 밀어 주면 됩니다. 그런데, 저장된 스크린 샷을 PC로 옮기려고 하니깐, 저장 위치를 몰라서 한 참을 헤맸어요.


제 스마트폰은 갤럭시 S4이고, 모델명이 SHV-E300S라서, PC에 폰을 연결하면,

아래 그림처럼, SHV-E330S라는 저장 매체가 보입니다.


이 저장 매체를 선택하면, Pictures라는 폴더가 있습니다.



Pictures 폴더를 선택하면, Screenshots이라는 폴더가 있습니다.


반응형

EXIF Date Changer로 사진 찍은 날짜 변경하기


먼저, 아래 싸이트에서 EXIF Date Changer를 받아서 설치한다.


http://www.relliksoftware.com/exifdatechanger/


설치후에 실행을 하고, 아래 그림처럼,

 - "Source Folder:"에 수정할 사진이 있는 폴더를 선택하고,

 - "Destination Folder:에 수정 완료된 사진이 만들어질 폴더를 선택합니다.

 - "Set date/time to:"를 선택하고, 수정할 날짜를 입력합니다.

 - 그리고, "Process Photos"를 클릭하고, 작업 완료될 때까지 기다리면 됩니다.



반응형

[tvN] 백종원 집안 '백가네 된장찌개' 비밀 레시피!


백종원의 된장찌개 시리즈 그 마지막!
백종원 집안 대대로 내려오는 '백가네 된장찌개' 비밀 레시피!




강된장 식 차돌된장 (무 된장)


[재료]

소고기 : 우삼겹이나 차돌, 얇게 썰어 놓은 불고기 거리.

무채

파, 매운 고추, 된장, 고추장, 간마늘, 설탕 쬐금~



고기를 볶는다. 

고기색이 빨간 것이 없어지고 기름이 나올때,

채를 썬 무를 넣는다.

쌀뜨물을 자박자박하게 붇는다.

된장 한 숟가락

고추장은 (4:1 또는 3:1) 정도만

설탕은 약간만


하다가 색깔이 된장이 부족하도고 생각되면,

된장이랑 고추장을 비율 맞추어서 추가.


매운 고추와 파를 추가.





반응형

[tvN] 백선생 '삼겹살' 된장찌개 만드는 법!


백선생의 된장찌개 시리즈 그 2탄!
'삼겹살' 된장찌개 만드는 법!





반응형

[tvN] 백종원표 '바지락' 된장찌개 레시피는?!


백종원표 된장시개 시리즈 그 1탄!
백종원표 '바지락' 된장찌개 레시피는?!



식당 비법: 고춧가루 추가 - 식당에서 익숙한 비주얼




반응형

[tvN] '무'로 만드는 '만능된장' 베이스 대공개!


된장찌개 쉽게 끓이는 초간단 꿀팁은 바로 '무'!

'무'로 만드는 '만능된장' 베이스 공개!





대부분은 감자를 넣지만, 백선생은 감자 대신 무를 선택!!!

보통 익숙한 된장찌게의 무 두께보다 1.5배 정도로 두껍게... 오래 끓일 거니까!!!


쌀뜨물에 무를 넣고,

끓이지 않은 상태에서 된장을 먼저 푼다.

된장을 풀고 끓이면 50%는 끝!!!

이것이 된장찌개의 베이스... : 된장과 무로만 만든 육수






반응형

공주의 공산성


2015년 7월 4일, 공주·부여·익산의 백제시대를 대표하는 유산 8군데를 한데 묶은 '백제역사유적지구' (Baekje Hisoric Areas)가 한국으로서는 12번째 유네스코 세계유산에 등재되었으며, 공주의 공산성이 포함되었습니다. 

 

UNESCO : Baekje Hisoric Areas


Located in the mountainous mid-western region of the Republic of Korea, this property comprises eight archaeological sites dating from 475 to 660 CE, including the Gongsanseong fortress and royal tombs at Songsan-ri related to the capital, Ungjin (present day Gongju), the Busosanseong Fortress and Gwanbuk-ri administrative buildings, the Jeongnimsa Temple, the royal tombs in Neungsan-ri and the Naseong city wall related to the capital, Sabi (now Buyeo), the royal palace at Wanggung-ri and the Mireuksa Temple in Iksan related to the secondary Sabi capital. Together, these sites represent the later period of the Baekje Kingdom – one of the three earliest kingdoms on the Korean peninsula (18 BCE to 660 CE) - during which time they were at the crossroads of considerable technological, religious (Buddhist), cultural and artistic exchanges between the ancient East Asian kingdoms in Korea, China and Japan.




공산성 주변 관광지입니다.



공산성 입구입니다. 주차는 무료입니다. 입장료는 1200원.



매 시간마다 수문병 교대식이 진행됩니다.



수문병 교대식 동영상입니다. 




공산성에서 바라본 공주 시내입니다. 저 멀리 정 중앙에 보이는 중학교 건물이, 박찬호 선수가 다녔던 공주 중학교라고 합니다.


공산성 진남루입니다.


공산성에 꽂혀있는 깃발에는 아래와 같은 규칙이 있습니다.







[위치 정보]


반응형

美대법원 구글 저작권 침해 인정…로열티만 1조 (출처: newsis)


[요약]

【서울=뉴시스】백영미 기자 = 미국 대법원이 구글과 오라클 간 저작권 분쟁에서 오라클의 손을 들어줬다. 

삼성전자, LG전자, 팬택 등 안드로이드OS를 사용하는 국내 스마트폰 제조사도 기존 마이크로소프트(MS)뿐 아니라 오라클에도 로열티를 내야하는 상황에 몰린 것이다. 
안드로이드OS를 제작해 배포하는 것은 구글이다. 하지만 구글은 로열티를 받지 못한다. 안드로이드OS는 누구나 자유롭게 사용할 수 있도록 하는 공개 소프트웨어(SW)이기 때문이다.

하지만 MS는 스마트폰 제조사들이 안드로이드폰 을 팔 때마다 로열티를 받고 있다. 안드로이드폰 한 대당 로열티는 10~15달러. 2011년 미국 법원이 구글의 안드로이드OS 기능 중 일부가 MS의 특허를 침해했다고 판결한 이후부터다. 


[전체 기사 읽기]

반응형

오라클, 자바전쟁서 구글에 '결정타'

美 대법원, 구글의 상고 허가 신청 기각 (출처: http://www.zdnet.co.kr)


[요약]

세기의 ‘자바 전쟁’은 오라클의 승리로 마무리될 가능성이 한층 더 높아졌다. 구글이 미국 대법원에 제출한 상고허가가 기각된 때문이다.

미국 대법원이 구글의 상고 허가(writ of certiorari)를 받아들이지 않기로 했다고 로이터통신과 포스페이턴츠를 비롯한 주요 외신들이 29일(현지 시각) 일제히 보도했다.


■ 2010년 시작, 5년 만에 오라클 승리로 끝나나

■ 대법원, 이례적으로 행정부 의견 구하기도

■ 동부로 넘어갔던 자바전쟁, 다시 서부로 돌아가


결국 구글은 여러 수단을 강구하면서 법적 공방을 계속 해 나가면서도 오라클과의 타협을 염두에 둔 행보에도 조금씩 힘을 쏟아야 할 것으로 전망된다.


[전체 기사 읽기]

반응형
우리 나라 기준으로 2015년 7월 1일 오전 9시에 윤초가 적용되어, 오늘 하루는 24시 1초됩니다.
8시 59분 59초, 8시 59분 60초, 9시... 이런 식으로 "8시 59분 60초"가 추가된다고 합니다.윤초에 대해서 네이버 IT 용어 사전에 아래와 같이 설명이 되어 있네요.
IT용어사전

윤초

leap second ]

평균 태양시와 원자시의 오차를 조정하기 위해 가감하게 되는 1초. 1972년 1월 1일부터 세계 표준시로 협정 세계시(UTC)를 사용하고 있다. UTC의 초 간격은 원자시의 정의를 그대로 사용하지만, UTC가 표시하는 시각은 지구 자전시(UT1)와 0.9초 이내로 유지하도록 하고 그 방법으로 필요에 따라서 1초 단위의 수정을 전 세계적으로 일제히 하도록 결정하였다. 지구의 자전이 느려져 표준시에 1초를 더하는 것을 양의 윤초(positive leap second)라고 하며, 지구의 자전이 빨라져 1초를 빼는 것을 음의 윤초(negative leap second)라고 한다. 윤초를 실행하는 제1 우선일은 1월 1일과 7월 1일, 제2 우선일은 4월 1일과 10월 1일로 결정되어 각각 그날의 0시 0분 0초(한국은 09시 0분 0초) 직전에 실시한다. 윤초 수정에 관한 결정은 국제지구자전사업(IERS:Interna-tional Earth Rotation Service)이라는 기관이 한다.

[네이버 지식백과] 윤초 [leap second, 閏秒] (IT용어사전, 한국정보통신기술협회)


반응형

[tvN] 백종원표 '감자 볶음' 핵꿀팁!



감재채 볶음의 포인트는 감자 썰기

채칼을 사용하는 것 권장 - 굵기가 일정해야 익히기 쉬움.

채 썬 감자를 물에 끓여라!

물이 끓으면 소금간을 살짝 해 주는 것이 좋다. - 끓으면서 간이 살짝 뱀.

같이 볶아줄 양파와 당근 준비

감자가 데쳐졌다 싶으면 건져내

식용유를 팬에 둘러 주고

양파 당근 먼저 볶다가

삶은 감자를 넣고

소금 다시 살짝 (맛소금이 더 낫음)

후추 살짝

색감을 살리기 위해서, 매운고추나 파 넣으면 금상첨화


핵심 : 채칼 사용, 감자 물에 먼저 삶기



반응형

컴퓨터 시작 중 F8을 눌러 안전 모드로 부팅하기

(출처: Microsoft | Support ) 



  1. 컴퓨터가 다시 시작될 때 F8을 여러번 누르세요.
    • Windows 로고가 나타나기 전에 F8을 눌러야 합니다. 만약 이미 Windows 로고가 나타났다면 Windows 로그온 프롬프트가 표시될 때까지 기다린 후, 컴퓨터를 종료하고 다시 시도해야 합니다.
  2. 고급 부팅 옵션 화면에서 화살표 키를 사용하여 원하는 안전 모드 옵션을 선택하고 Enter를 누르세요(이 문서에서는 예시로안전 모드를 선택하였습니다).
    • 안전 모드: 최소 드라이버 및 서비스 집합을 사용하여 Windows를 시작합니다.
    • 안전 모드(네트워킹 사용): 안전 모드로 Windows를 시작하며 인터넷이나 네트워크 상의 다른 컴퓨터에 액세스하는데 필요한 네트워크 드라이버와 서비스를 포함합니다.
    • 안전 모드(명령 프롬프트 사용): 일반적인 Windows 인터페이스 대신 명령 프롬프트 창을 사용하여 안전 모드로 Windows를 시작합니다. 이 옵션은 IT 전문가와 관리자만 사용해야 합니다.


2539718

부팅하다가 실패하는 경우에는, 

마지막으로 성공한 구성(고급) 으로 시도해 보세요.



반응형

'아무거나' 카테고리의 다른 글

EXIF Date Changer로 사진 찍은 날짜 변경하기  (0) 2015.07.07
윤초 (2015년 7월 1일 9시) 적용.  (0) 2015.07.01
야구9단 슈퍼리그  (1) 2015.06.14
야구9단 월드 리그  (1) 2015.06.14
wget 원도우용 (GNU Wget)  (0) 2015.06.09

+ Recent posts