Category Archives: Uncategorized

Audio(MP3) batch edit and convert with Audacity

어학공부에 있어서 반복청취는 매우 중요하다.
최근 중국어를 공부함에 있어 MP3파일마다 붙어있는 인트로가 거슬려서 이것을 없애는작업을 하였다.
MP3파일이 백개가 조금 안되는 많은량에 자동화 해놓으면 앞으로도 두고두고 쓸일이 많을거같아 자동화 하기로 하였다.

이것저것 검색해보니 평소에 간단한 음성편집기로 자주 서용하던 Audacity에서 Batch Processing을 지원하는것을 확인하여 이것을 사용하여 진행.

MP3앞부분 x초를 제거하는 간단한 방법을 고려하였는데 인트로에서 파트주제를 읽어주는 가변적인 변수가 확인되었다.

0.8초 이상 지속되는 무음을 기준으로 4번째까지 버리면 되는 것이라 이것을 'Silence Finder'를 통해 자동화 하였고
중간중간에 휴지기 텀이 길어 이것 역시 조금 짧게 조정할수 있도록 매크로를 작성하였다.

어차피 휴대폰 모노 스피커로 들을것이기에 모노로 바꿔 용량 절약의 기회도 꾀하였다.

'Manage Macros' 창에서 아래쪽 Files 버튼을 눌러서 파일들 선택해주면 자동으로 변환하고 'macro-output'에다가 export 해준다.

모든 과정의 결과 350Mb 6시간 7분짜리 mp3들이 225Mb 4시간 7분으로 줄어들었다. (30분 일해서 한싸이클마다 2시간 벌었다ㅋ)
다음번에 이과정이 필요한 경우에는 더 빠르게 작업이 가능할것 같다.

LG G6 Music Player 분석

최근 G6 Pro를 중고로 구매하면서 가지고있던 음원들을 싹 정리하였다.
하는김에 가사도 정리하려고 metaflac을 이용하여 LYRICS 태그를 추가하였음에도 가사가 뜨지 않아 apk를 추출하여 로직을 확인하게 되었다.

아래는 확인한 com.lge.music.MusicUtils 클래스의 getLyrics 메서드

flac, vorbis 타입은 안드로이드의 MediaExtractor를 이용하여
lyricsTemp = mediaExtractor.getTrackFormat(0).getString("unsynced-lyrics"); 를 실행하여 가사를 가져오는것으로 확인된다.

아래 metaflac 명령어를 이용하여 "UNSYNCEDLYRICS" 태그로 추가하니

 

가사가 잘 뜬다.

ps

"setprop persist.service.main.enable 1"을 하면 로그를 볼 수 있다.
삼성이나 서드파티앱에서 지원되는 LRC와 같은 싱크가사는 지원되지 않는다. ㅠ

Marshall Stanmore teardown

심심해서 열어본 스탠모어를 분석해보았다.
기본스펙은 다음과 같다.
1개의 50W 우퍼, 2개의 15W트위터 구성이다. 총 80W이다.

분해는 뒷면의 나사 9개를 제거하면 간단하게 가능하다.
뒷판을 분리하면 전원과 앰프가 같이 구성이된 PCB가 뒷판에 붙어있다.

문제는 여기서 부터 시작이다. 아무것도 안했는데 전원이 켜지질 않는다. + 어디선가 열기가 느껴지며 뭔가 굽히는 냄새가 나서 급하게 전원을 제거하였지만 이미 많이 늦은것같다.
이왕 분해하고 고장낸거 뼛속까지 파헤치기로한다.(는 수리를 위해 구글링해봤으나 자료가 거의 없다..)

정상적인 상태의 PCB의 사진을 찍지 못했다. 다행히 Badcaps 포럼에
https://www.badcaps.net/forum/showthread.php?t=66580 가 올라와있다.
두장의 사진 무단불펌(sorry for using your pictures without your permission, if you mind please let me know to delete these)

먼저 정면샷

우하단에 SMPS가 보인다. 좌하단에는 BT 모듈이 핀헤더로 땜질 되어있고 그위에는 뭔가 쉴딩이 되어있다. 가운데는 적당히 앰프를 구성하는 캐패시터와 인덕터로 보여진다.
그리고 후면

별볼일 없다 넘어가도록 한다.

BT모듈을 분리해 보았다.

각각의 핀용도가 프린팅 되어있다. 잘 보이진 않지만 CSR8645를 사용하고있다.  특이점은 APT-X를 지원한다.
모듈 아래쪽 칩 JRC4560으로 검색해보니 NJM4560이 나타난다 AMP인것으로 보인다.

쉴드를 들어뜯어내면 다음과 같은 자태가 나타난다.(검정, 흰 와이어 두개는 무시하도록한다…)

대충 그려보면…

각각의 역할은
HCF4052는 채널 선택역할
PCM1808DIR9001을 이용하여 ADC수행
TAS5508C에서 이퀄라이저 적용 및 PWM변환
TAS5342A는 PWM신호 받아 아날로그 신호 출력 및 AMP 역할 (Digital Audio PWM Processor)
모든 컨트롤은 12LE5A60S2에서 I2C통신으로 진행 (8051기반 MCU)한다.

입력~PCM1808구간까지는 아날로그
PCM1808~TAS5508구간은 I2S
TAS5508~TAS5342구간은 PWM신호로
최종적으로 TAS5342에서 아날로그 신호로 전환되며 증폭되는것으로 확인된다.

전원은 3.3v, 5v, 15v, 30v가 사용되는것으로 보여지며

여기 댓글을 보면 3.3v를 만들어주는 MC34063A가 잘 죽는것으로 보인다.

본인의 경우 전원을 인가하면 MCU에서 고열이 발생하는것으로 확인되며 MCU의 VCC와 VSS 저항이 매우 적은것을 보았을때 MCU사망으로 추정된다. (전원부 고장이길 바라며 소자 하나씩 제거해가면서 전원부는 멀쩡한것을 확인하였다;;)
덩달아 MCU가 컨트롤하는 칩들(DIR9001, TAS5508)에 리셋이 계속 걸려있는것을 확인하고 패턴을 끊었다.
최종적으로 I2S 신호가 TAS5508까지 들어가는것을 확인하였으나 TAS5508로부터 PWM신호가 나오지 않아 데이터 시트를 보던 중 Master Volume이 Reset시에 Mute로 확인하였다.

I2C통신을 통해 TAS5508를 제어가 가능하여 아두이노 나노를 이용하여 간단하게 Master Volume을 설정할 수 있도록 만들었으나 TAS5508가 이를 받아들이지 않는것으로 보인다. 풀업을 설정하는 등 여러가지를 시도해보았으나 잘되지 않아 다른 앰프를 구성하기로 하였다.

SMPS를 재활용하려고 30v를 사용하는 적당한 2.1채널 80~100w급 앰프를 찾아보았으나 적합한 제품은 발견하지 못하였다.
그나마 가격대비 맘에느는 TPA3116D2 앰프를 영입하고 적당한 SMPS를 구매하였다.

는 배송 진행중 …

결론 : 멀쩡한건 뜯지말자.
ps. 멀쩡한 상태로 분석을 한것이 아니라 정확하지 않을 수 있다.
UART 핀헤더가 나와있는데 어떤 내용이 출력되는지 궁금한데 확인할 수가 없네…ㅠ

템플러 2500mAh 보조배터리 리뷰

W메프에서 3개에 7,777원!
사실 보조배터리가 필요하기보다 작은 충전회로랑 승압회로가 필요로해서 구매하였다.
받아본결과 매우… 실망스러웠다.

앞면은 깜빡하고 찍지 못했다.
뭐 디자인은 무난하다. 작고 가볍고 용량도 작다!
물론 2500mAh는 요즘 휴대폰 1회도 완전충전이 불가능한 용량이다.
제조일이 2016년 8월인거보고는 한번더 경악….

클립으로 걸려있는 형태라 어렵지않게 앞면 커버를 제거할 수 있다.
USB-C타입 젠더가 들어있고 라이트닝케이블과 일반적인 마이크로 USB를 겸용해서 사용할 수 있는 단자가 있다.(이건좀 괜찮은듯, 부러지지만 않는다면)

충전관련보드는 플라스틱용접으로 붙어있고 회로가 워낙 간단하다.
MP3401A-SOP8칩을 사용하고있다. 중국어로되어있는 데이터시트를 구할 수 있었다.
5V 0.7A로 충전가능하며 리튬폴리머와 이온배터리를 지원하고 병렬충전 역시 지원하고 있다.
출력은 5V 1A로 승압회로가 작동한다.
대기전력은 110uA로 나타나 있다.

배터리는 지스타 2500mAh로 표기되어있다.
보조배터리 하우징에는 중국산이라고 되어있는데 셀에는 KOREA라고 쓰여있다.

충전속도가 0.7A로 매우 느리고 어느정도 되면 트리클 충전모드로 전환되며 이때부터 70mA로 충전하므로 셀전압 3.8v에서 4.2v까지 4시간 정도 걸리는것을 확인하였다.

작고 두꺼운 보조배터리가 필요로하여 PCB를 적출하여 굴러다니는 1100mAh짜리 4개를 병렬연결하여 원하는 크기의 보조배터리를 만들 목적이다.