cht電腦資訊Windows
adm Find login register

Windows 有 console 的 ogg/mp3 player 嗎?

eliu

joined: 2007-08-09
posted: 11478
promoted: 617
bookmarked: 187
新竹, 台灣
1subject: Windows 有 console 的 ogg/mp3 player 嗎?Promote 0 Bookmark 02009-06-10quote  

Windows 有 console command line 的 ogg/mp3 player 嗎? 就像 Linux 的 ogg123 or mpg123

google 半天都找不到。最好是直接支援 ogg,mp3 也可,還是沒有,wav 也可以。 

edited: 1
coolcd
joined: 2008-01-21
posted: 2601
promoted: 348
bookmarked: 95
2subject: Promote 0 Bookmark 02009-06-10quote  

mplayer 就可以了

edited: 1
eliu

joined: 2007-08-09
posted: 11478
promoted: 617
bookmarked: 187
新竹, 台灣
3subject: Promote 0 Bookmark 02009-06-10quote  
是要給 gcin 發音用的,用 mplayer 會不會太肥?
本人已不在此站活動

joined: 2007-09-19
posted: 4946
promoted: 325
bookmarked: 206
歸隱山林
4subject: Promote 0 Bookmark 02009-06-10quote  

可以用 windows 的音效事件嗎?


企鵝狂
joined: 2008-04-01
posted: 185
promoted: 20
bookmarked: 7
5subject: Promote 0 Bookmark 02009-06-10quote  

怎麼在Windows用gcin

這篇

本人已不在此站活動

joined: 2007-09-19
posted: 4946
promoted: 325
bookmarked: 206
歸隱山林
6subject: Promote 0 Bookmark 02009-06-10quote  

不是啦!eliu 在改給 windows 用的吧?呃,不會又要 cygwin 吧?

我那篇是唬爛開玩笑的。大笑


coolcd
joined: 2008-01-21
posted: 2601
promoted: 348
bookmarked: 95
7subject: Promote 1 Bookmark 12009-06-10quote  

找到 oggdec,用 -p 參數可以播放 ogg 檔。

例如:

 

$ ./oggdec.exe -p "d:\late-junction-20080902-q1.ogg"

 

另外,下面這篇的 oggplayer 可能也可以,但可能需要 cygwin,我沒試。

oggplayer: A simple Ogg player using liboggplay

 

mp3 的話,mpg123 有 windows 版。

edited: 3
企鵝狂
joined: 2008-04-01
posted: 185
promoted: 20
bookmarked: 7
8subject: Promote 1 Bookmark 02009-06-10quote  

要不要直接寫在你的程式裡面

http://msdn.microsoft.com/en-us/library/ms712879.aspx

放Wav不難, #include Windows.h, link Winmm.lib就可以

 

其他格式要用DirectShow,比較麻煩。

 

mci看起來也很簡單

http://www.apitalk.com/document.php?id=1184208002_1

 

再補

DirectShow

http://www.flipcode.com/archives/Playing_An_MP3_With_DirectShow.shtml

MCI

http://www.gamedev.net/reference/articles/article2053.asp

edited: 2
eliu

joined: 2007-08-09
posted: 11478
promoted: 617
bookmarked: 187
新竹, 台灣
9subject: Promote 1 Bookmark 02009-06-11quote  
最近在弄 gcin windows port
本人已不在此站活動

joined: 2007-09-19
posted: 4946
promoted: 325
bookmarked: 206
歸隱山林
10subject: Promote 0 Bookmark 02009-06-11quote  

eliu
最近在弄 gcin windows port

我現在常常是在 zenwalk 裡頭,其實有很大的原因是 windows 的輸入法我用不習慣。微笑


coolcd
joined: 2008-01-21
posted: 2601
promoted: 348
bookmarked: 95
11subject: Promote 1 Bookmark 02009-06-11quote  

太棒了!

我被 Windows 預設的輸入法介面荼毒好久了

字太小

看起來很難過 

希望 gcin for windows 能開發成功

eliu

joined: 2007-08-09
posted: 11478
promoted: 617
bookmarked: 187
新竹, 台灣
12subject: Promote 0 Bookmark 02009-06-11quote  

有沒有人會把ogg.tgz 裡面的 UTF-8 目錄轉成 Windows 上可以顯示的正確檔案名稱,可能用 Big5 or UTF-16。

http://cle.linux.org.tw/gcin/download/ogg.tgz

企鵝狂
joined: 2008-04-01
posted: 185
promoted: 20
bookmarked: 7
13subject: Promote 1 Bookmark 02009-06-11quote  

http://www.cs.ccu.edu.tw/~ksc91u/ogg.7z

 

用comvmv轉

convmv  -f utf-8 -t big5 ogg -r --notest

轉完之後用7z壓起來

eliu

joined: 2007-08-09
posted: 11478
promoted: 617
bookmarked: 187
新竹, 台灣
14subject: Promote 0 Bookmark 02009-06-11quote  

Thanks.

如果解壓縮此 .7z 到非 Big5 語系的 windows 會變成亂碼?好奇有沒有支援 UTF-16 的 ?

edited: 1
企鵝狂
joined: 2008-04-01
posted: 185
promoted: 20
bookmarked: 7
15subject: Promote 0 Bookmark 02009-06-11quote  

Windows的核心內部應該都是Unicode。

http://moto.debian.org.tw/viewtopic.php?p=39445

我猜,他會去猜檔案名稱是甚麼編碼。

壓縮檔的話,那就要看解壓縮軟體怎麼處理。

 

以上,僅是猜測。

 

您真的要一個字就放一個音樂檔嗎,這樣一直CreateProcess不是會很慢?

(像是cygwin bash再跑configure script時候也是很慢...)

 

http://audiere.sourceforge.net/home.php

這個看起來真的就又更簡單了,可以看他的tutorial.txt

eliu

joined: 2007-08-09
posted: 11478
promoted: 617
bookmarked: 187
新竹, 台灣
16subject: Promote 0 Bookmark 02009-06-11quote  
還沒試,CPU 那麼快,最多慢個 0.01 sec,應該可接受。
eliu

joined: 2007-08-09
posted: 11478
promoted: 617
bookmarked: 187
新竹, 台灣
17subject: Promote 0 Bookmark 02009-07-14quote  
Windows CreateProcess 好像真的很慢,如果用 TerminateProcess  會造成聲音中斷,delay 可能有 0.05 秒。只好不把 Process kill 掉,聽起來聲音有點像迴音。 
企鵝狂
joined: 2008-04-01
posted: 185
promoted: 20
bookmarked: 7
18subject: Promote 0 Bookmark 02010-07-19quote  

附件

一個vorbis decoder, 只需要單一檔案。

整合到gcin裡面的patch。

 

只有linux/alsa可以用。

其他平台,還要看看要不要用libao...。 

 

另外,這樣每打一個注音就念一次會不會太多了,自然注音好像是完成一個字之後才會念,因為他會設定一個delay的時間..。 

edited: 1
eliu

joined: 2007-08-09
posted: 11478
promoted: 617
bookmarked: 187
新竹, 台灣
19subject: Promote 0 Bookmark 02010-07-19quote  

不過 link library 後 RSS 的 就變大了,也就是使用的 memory 就變多了。

當初弄成注音還沒輸入完成就 play的原因是想當成輔助輸入的方式,如果能早一點知道輸入錯誤當然是更好,所以故意弄成注音沒輸入完就 play,不是當成 text-to-speech 的工具,所以正確的發音不是重點,出發的觀點不同。等我有空做成選項好了。

windows 可能會改成 link library,windows create process 的速度很慢。

edited: 1
企鵝狂
joined: 2008-04-01
posted: 185
promoted: 20
bookmarked: 7
20subject: Promote 0 Bookmark 02010-07-19quote  

ALSA, 不知道為什麼, 可能pcm的時間標記要自己去調...

decoder解出來的pcm data可能都是從時間0開始, 用alsa放一段時間之後就要關掉重開,這樣喇叭會有逼一聲, 所以還是libao好用。

 

libao 好像要跟他講buffer的兩倍長度才會播放完, ao_play(handle, decoded, len*2);

 

我用這個decoder寫的一個player才144k, 大小應該是還好...如果不要去播放的話也不會佔用到記憶體太多。 

eliu

joined: 2007-08-09
posted: 11478
promoted: 617
bookmarked: 187
新竹, 台灣
21subject: Promote 0 Bookmark 02010-07-19quote  

我以前有一個音效卡 open device 時一開始會有雜音,不知道是driver 的問題還是 IC 的問題。

其他的音效卡就不會有雜音的問題。

edited: 1
ychao
joined: 2007-10-25
posted: 298
promoted: 21
bookmarked: 3
22subject: Promote 0 Bookmark 02010-07-19quote  

編碼的話,沒記錯fat32的是big5,而NTFS的話是UTF8。有個很大的問題是舊的軟體,還有像zip的話沒有辦法支援utf8。

倒是Liu兄有考慮過利用現有詞庫,做更完整的TTS功能嗎? (ex. 整篇發音) gcin的發音庫,其他類似功能的oss軟體都還不能比啊!

eliu

joined: 2007-08-09
posted: 11478
promoted: 617
bookmarked: 187
新竹, 台灣
23subject: Promote 0 Bookmark 02010-07-19quote  

ychao
沒記錯fat32的是big5,而NTFS的話是UTF8。

windows file systems 其實現在內部都是 UTF-16,差別就在你是用 mbcs or unicode(utf-16) 的 function 去 open/create,如果是用 mbcs,就可以用 Big5,最後會轉成 unicode 

edited: 1

cht電腦資訊Windows
adm Find login register
views:70721