What features would you like to see in opus-tools? |
What features would you like to see in opus-tools? |
Jan 22 2013, 21:13
Post
#1
|
|
![]() Group: Developer Posts: 192 Joined: 8-July 03 Member No.: 7653 |
I'm looking for suggested features to get into opus-tools prior to the libopus 1.1 release.
Before I get 1001 suggestions for it: One frequently requested feature which was recently added is flac input in opusenc. I'm contemplating changing opusdec to use the new opusfile library— which would give it seeking and integrated http(s) streaming support. Also already on my todo list are default comment packet padding so updating metadata doesn't require rewriting the files and adding a replaygain tool. Some people would really like it if opusenc/opusdec supported taking multiple input files e.g. opusenc *.flac but the implicit output file naming is pretty ununixy, and would break the interface and I got flamed all to heck last time I changed the opusenc interface.... so I'm not sure if/how I want to accommodate that usage. What other things have you found missing? |
|
|
|
![]() |
Feb 10 2013, 05:43
Post
#2
|
|
|
Group: Members Posts: 6 Joined: 10-February 13 Member No.: 106534 |
There are a few things that I'd like to see. In opusenc, an option to force SILK or CELT. Goldwave already does this, and when I encode a 24kbps with SILK in Goldwave, it sounds much better than the opusenc file. This changes when you get down to 16kbps.
Going along with the voice/music detection in the 1.1-alpha, I don't know if it would be feasible, but it would be nice to dynamically scale the bitrate between detected music and voice portions of a clip with user specified bitrates for each, where the user might choose to set a bitrate of, say, 24kbps for voice, and a higher bitrate of 128 kbps for music. And in opusinfo, a printout or graph of the bitrate vs time in the file, or maybe just a printout of the bitrate each frame, or the average bitrate at a user specified interval, so you could get a listing of the average bitrate every second, or whatever the user might specify. This might be useful for analyzing how your audio is being encoded. |
|
|
|
Feb 15 2013, 20:22
Post
#3
|
|
|
Group: Members Posts: 107 Joined: 21-May 05 Member No.: 22191 |
Wrote much of this almost a week ago; realized I still had the unfinished reply sitting around, and though it's late it still seemed worth saying.
There are a few things that I'd like to see. In opusenc, an option to force SILK or CELT. Goldwave already does this, and when I encode a 24kbps with SILK in Goldwave, it sounds much better than the opusenc file. This changes when you get down to 16kbps. I find it somewhat odd that you're getting better results by forcing SILK-only at those rates; it'd normally be using hybrid. Once you get down to 16kbps it'll usually be doing SILK-only even if you don't force it. Have you looked at the output bandwidth and verified that it's only wideband? ABC/HR type blind test data confirming your preference for forced SILK would be interesting.The mode decisions in the present encoder are fairly reasonable and will continue to be refined; thus I don't think forcing a mode is usually going to be beneficial. Also, the developers are understandably reluctant to give people options that either give them a false sense of control or allow them to shoot themselves in the foot. Nevertheless, I do want to echo the request for ways to constrain the encoder's mode and bandwidth decisions with opusenc, because I do think there are legitimate use cases. For instance, for playback on very constrained devices (e.g. many Rockbox targets), it'd be nice to be able to restrict the encoder for performance and/or battery life reasons. With the 1.0.x encoder you could just choose a bitrate which would reliably give you the mode and bandwidth you wanted, but the adaptability of the master branch eliminates that predictability. Another use case: I have speech recordings where the master branch encoder encodes them as fullband or keeps switching between FB and SWB but the content above 12kHz seems unhelpful. Some consonants, applause, and some noises (like dropping stuff on the podium) have appreciable HF content, but I think they're adequately represented by their energy below 12kHz. There are some noises in a few recordings- like background silverware- that are audibly affected by a 12kHz cutoff, but that's actually an improvement, since the noise is made slightly less distracting. Outside of that I don't know that I can even ABX 12kHz lowpassed versions of this material. I'd rather have those bits go to lower frequencies, and though the FB<->SWB transitions often aren't audible I think there's more danger of such transitions being audible than there is of the >12kHz content being missed. I think this situation is pretty common for speech, and while I could of course pass the encoder versions that I've lowpassed or resampled myself, it would be convenient to be able to just tell the encoder to not do FB. QUOTE Going along with the voice/music detection in the 1.1-alpha, I don't know if it would be feasible, but it would be nice to dynamically scale the bitrate between detected music and voice portions of a clip with user specified bitrates for each, where the user might choose to set a bitrate of, say, 24kbps for voice, and a higher bitrate of 128 kbps for music. This seems to come up frequently- one discussion has been moved from the old huge "ready for testing thread" to its own thread.QUOTE And in opusinfo, a printout or graph of the bitrate vs time in the file, or maybe just a printout of the bitrate each frame, or the average bitrate at a user specified interval, so you could get a listing of the average bitrate every second, or whatever the user might specify. This might be useful for analyzing how your audio is being encoded. opusenc's --save-range already dumps each frame's framelength and size, mode and bandwidth info, etc. Not the most handy format for visualization etc, and the only documentation that tells you what's what is reading the code, but the info is there for the parsing. Obviously that doesn't help if you're trying to analyze files you encoded with some other program or files you received from a third party.
|
|
|
|
NullC What features would you like to see in opus-tools? Jan 22 2013, 21:13
skamp What I'd like:
an equivalent to vorbiscomment... Jan 22 2013, 21:25
nu774 QUOTE (skamp @ Jan 23 2013, 05:25) Slight... Jan 23 2013, 13:12
nu774 QUOTE (nu774 @ Jan 23 2013, 21:12) If I r... Jan 23 2013, 15:15
CoRoNe Perhaps totally off-topic, but could you lend the ... Jan 23 2013, 00:31
Seren Can't really think of anything atm except mayb... Jan 23 2013, 12:04
DonP QUOTE (Seren @ Jan 23 2013, 06:04) Can... Jan 23 2013, 13:14
Banned QUOTE (lvqcl @ Jan 23 2013, 15:40) Curren... Jan 23 2013, 19:45
DonP QUOTE (Banned @ Jan 23 2013, 13:45) QUOTE... Jan 23 2013, 20:39
NullC QUOTE (Banned @ Jan 23 2013, 11:45) Well,... Jan 23 2013, 21:31
Banned QUOTE (NullC @ Jan 23 2013, 21:31) QUOTE ... Jan 28 2013, 18:26
mamboman Yes, converting flac to opus will be a very common... Jan 23 2013, 12:56
gottkaiser QUOTE (mamboman @ Jan 23 2013, 12:56) ...... Jan 23 2013, 19:38
lvqcl Currently opusenc requires the output filename and... Jan 23 2013, 15:40
.alexander. QUOTE (NullC @ Jan 23 2013, 00:13) I... Jan 23 2013, 19:06
saratoga QUOTE (.alexander. @ Jan 23 2013, 13:06) ... Jan 23 2013, 23:32

.alexander. QUOTE (saratoga @ Jan 24 2013, 02:32) Tha... Jan 24 2013, 00:04
jmvalin QUOTE (.alexander. @ Jan 23 2013, 13:06) ... Jan 24 2013, 02:02
Dynamic I think there was a time when VBR quality scales t... Jan 23 2013, 23:20
azaqiel I would like an opus gain tool that ONLY TAGS the ... Jan 24 2013, 04:41
LithosZA A maximum bandwidth setting. In libopus the bandwi... Jan 26 2013, 12:40
IgorC Intensity stereo (IS) setting as all other phsycoa... Jan 26 2013, 13:09
bat_guano QUOTE (NullC @ Jan 22 2013, 21:13) I... Jan 26 2013, 19:02
nu774 Bitrate might be surely enough when one is working... Jan 27 2013, 17:42
Dynamic I think QAAC's TVBR settings are roughly half ... Jan 28 2013, 03:30
NullC QUOTE (Dynamic @ Jan 27 2013, 18:30) If p... Feb 4 2013, 19:58
NullC QUOTE (moosehunter @ Feb 9 2013, 20:43) T... Feb 15 2013, 20:02

moosehunter QUOTE (NullC @ Feb 15 2013, 13:02) Use th... Feb 18 2013, 00:31
moosehunter (Can you not edit your posts?)
QUOTE (jensend ... Feb 18 2013, 01:49
jensend You can edit your posts- but only for one hour aft... Feb 18 2013, 17:00
moosehunter QUOTE (jensend @ Feb 18 2013, 10:00) This... Feb 19 2013, 01:56
jmvalin QUOTE (jensend @ Feb 18 2013, 11:00) Inte... Feb 19 2013, 07:11
LithosZA QUOTE A maximum bandwidth setting. In libopus the ... Feb 18 2013, 06:45
Omicron It would be good to make a feature in encoder so u... Feb 21 2013, 12:28
db1989 QUOTE (Omicron @ Feb 21 2013, 11:28) It w... Feb 21 2013, 21:22
azaqiel @Omicron:
impossible. how would the said encoder... Feb 21 2013, 21:15
kennedyb4 Tags that would work in Rockbox would be great. Feb 21 2013, 23:41
Omicron QUOTE how would the said encoder know how good the... Feb 22 2013, 22:01
db1989 Is there something contagious going around Hydroge... Feb 22 2013, 22:30

NullC QUOTE (db1989 @ Feb 22 2013, 13:30) Is th... Feb 22 2013, 23:44

jensend QUOTE (NullC @ Feb 22 2013, 15:44) I will... Feb 23 2013, 20:48
jmvalin QUOTE (Omicron @ Feb 22 2013, 16:01) I th... Feb 23 2013, 02:29
darkbyte I think a per channel bitrate setting would be use... Mar 13 2013, 12:56
jmvalin QUOTE (darkbyte @ Mar 13 2013, 07:56) I t... Mar 13 2013, 15:30
darkbyte QUOTE (jmvalin @ Mar 13 2013, 16:30) Actu... Mar 13 2013, 17:19
jmvalin QUOTE (darkbyte @ Mar 13 2013, 12:19) Str... Mar 13 2013, 21:10![]() ![]() |
|
Lo-Fi Version | Time is now: 19th June 2013 - 09:18 |