Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: IETF Opus codec now ready for testing (Read 393134 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

IETF Opus codec now ready for testing

Reply #475
I can't get it to work when I state multiple wav's (8 mono wav's), so if I rephrase my question:
How do I state all the input files? One works fine, but multiple doesn't.


Aha, 8 mono WAVs won't be recognised as being multiple channels, I believe. You need to render them into a multichannel WAV which will interleave the samples for all 8 channels at the same point in time. I can't recommend any software but a search for 7.1 channel audio editor freeware produces results such as n-Track Studio - just watch out for those annoyance-ware download managers and toolbar installers. That app claims to support multichannel WAV export, which should be just fine for providing to the Opus encoder and will tell it which channel is which. You might also wish to combine the LFE channel (the .1) into another channel, such as the centre channel - there's some guidance in the Opus pages, I believe.
Dynamic – the artist formerly known as DickD

IETF Opus codec now ready for testing

Reply #476
i7-2770k / ASUS P8H77-M PRO / 8GB DDR3-1333 / Windows 8 Pro 64-bit

"opusenc file.wav file.opus"

> opus-tools-0.1.5-win32 (from http://www.opus-codec.org/downloads/): 69x

> opus-tools-0.1.5-win32_SSE (from http://www.rarewares.org/opus.php): 60.38x

> opus_tools_11_7_2012 (from http://www.hydrogenaudio.org/forums/index....&p=813492): 69x


This is almost identical to my system and results. Maybe ICC is generating some Ivy Bridge specific optimizations? Either way, it's very interesting that the rarewares ICC SSE compile is 15% slower than the official release. Since it's neck-and-neck at this point anyway, I thought it wouldn't hurt to include yet another build -- this one is the latest (again) as of this post. May be slightly faster due to stack changes.
Copy Restriction, Annulment, & Protection = C.R.A.P. -Supacon

IETF Opus codec now ready for testing

Reply #477
I can't get it to work when I state multiple wav's (8 mono wav's), so if I rephrase my question:
How do I state all the input files? One works fine, but multiple doesn't.
  I'm not aware of any normal encoder that accepts multiple input files to be mixed as one output file. It's an encoder, not a mixer.

Plenty of options for that. Just one example: if you want to do the mixing from the command line, SoX ??combine merge should do that for you.

A caveat, however: as far as I know, it doesn't currently have a way you can set the channel mask or a way to give explicit instructions about channel order. Instead, the channel order is just whatever order you specify your input files in, and the channel mask is whatever SoX thinks is the best guess given the number of channels you've input. It's quite possible that that works just fine for standard surround setups and only runs into trouble with exotic configurations; I don't have any surround files or equipment, so I don't really know.


IETF Opus codec now ready for testing

Reply #479
> opus_tools_sse_11_7b_2012 (from http://www.hydrogenaudio.org/forums/index....&p=813592): 69x


Thanks! I like to test speed by feeding the encoder a large series of streams (e.g. 50), or one very long concatenated stream, and measuring the time it takes to complete.

I also updated my previous post with a slightly tweaked compile. My tests measure between 0.5-2% speed increase over 11_7b with my test corpus on Sandy Bridge. It now edges up over the official build at --bitrate 68 --framesize 60. It's still neck and neck at anything higher, though.
Copy Restriction, Annulment, & Protection = C.R.A.P. -Supacon

IETF Opus codec now ready for testing

Reply #480
Intel i7-3770 / AsRock B75 Pro3 / 16Gb DDRIII-1333 / ImDisk Virtual Disk Driver / Windows 8 Pro x64

Input: 44.1kHz 2 channels, 44 minutes and 15.54 seconds, 468 426 716 bytes

Encoder: opusenc --bitrate 24 --vbr --comp 10 --downmix-mono --framesize 40 test.wav nul

opus-tools-0.1.5-win32 - 85.66x

opus_tools_11_8_2012_sse - 85.66x
opus_tools_sse_11_7b_2012 - 82.99x
opus_tools_11_7_2012 - 82.99x
opus_tools_11_1_2012 - 80.47x
opus-tools-0.1.5-win32_SSE - 78.10x
opus_20121103 x64 - 71.77x
opus_20121103 x86 - 59.01x
opus-tools-0.1.5-Cygwin5_sl2_121022_04-25 - 43.53x

IETF Opus codec now ready for testing

Reply #481
Aha, 8 mono WAVs won't be recognised as being multiple channels, I believe. You need to render them into a multichannel WAV which will interleave the samples for all 8 channels at the same point in time.



I'm not aware of any normal encoder that accepts multiple input files to be mixed as one output file. It's an encoder, not a mixer.


I don't want to mix channels, but interleave them, thinking that it would make the opusfile smaller than having 8 separate files. Only that http://opus-codec.org/docs/html_api-1.0.1/index.html says opus supports upp to 255 channels, but after reading http://msdn.microsoft.com/en-us/windows/ha...e/gg463006.aspx it seems that wav support max 18 channels. No problem for what I'm trying to do, but how to create 255 channels? 

Thanks for pointing me in the right direction! Found this: http://people.bath.ac.uk/masrwd/mctools.html will give it a try.

IETF Opus codec now ready for testing

Reply #482
Quote
Encoder: opusenc --bitrate 24 --vbr --comp 10 --downmix-mono --framesize 40 test.wav nul

Encoder: opusenc --bitrate 68 --vbr --comp 10 --framesize 60 test.wav nul

IETF Opus codec now ready for testing

Reply #483
I've been reading the manpages for opusenc, but don't understand how to create multichannel opusfiles. I have 8 wavs that I would like, as a test convert to an 8 channel opus. Can this be done, or have I misunderstood?
Without having to download (or even buy) huge programs, there are 2 free simple ways to accomplish this:

- Avisynth
Open Notepad and enter:
Code: [Select]
FL=WavSource("FrontLeft.wav")
FR=WavSource("FrontRight.wav")
FC=WavSource("FrontCenter.wav")
LF=WavSource("Subwoofer.wav")
BL=WavSource("BackLeft.wav")
BR=WavSource("BackRight.wav")
FLC=WavSource("FrontCenterLeft.wav")
FRC=WavSource("FrontCenterRight.wav")
MergeChannels(FL,FR,FC,LF,BL,BR,FLC,FRC)
Save as output.avs. Download avs2pipemod. Open a command-prompt:
Code: [Select]
avs2pipemod.exe -extwav output.avs > output.wav
or to encode immediately to opus (not working yet!*):
Code: [Select]
avs2pipemod.exe -extwav script.avs | opusenc.exe - output.opus

- Sox - Sound eXchange
Open a command-prompt:
Code: [Select]
sox.exe -M FrontLeft.wav FrontRight.wav FrontCenter.wav Subwoofer.wav BackLeft.wav BackRight.wav FrontCenterLeft.wav FrontCenterRight.wav output.wav
(-M is the same as/short version of --combine merge)
or to encode immediately to opus (not working yet!*):
Code: [Select]
sox.exe -M FrontLeft.wav FrontRight.wav FrontCenter.wav Subwoofer.wav BackLeft.wav BackRight.wav FrontCenterLeft.wav FrontCenterRight.wav -t wav - | opusenc.exe - output.opus
When merging to WAV in both cases a WAVEFORMATEXTENSIBLE header will be created in which the channel order will be specified.

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

*For Opus devs:
I guess this has already been mentioned, but piping multichannel PCM is still bugged.
When I'm trying to pipe the "pcm_s16le, 44100Hz, quad, s16, 2822kb/s"-stream of an Avisynth-script with avs2pipemod to opusenc I get this:
Code: [Select]
avs2pipemod.exe -extwav script-quad.avs | opusenc.exe - output-quad.opus
avs2pipemod[info]: writing 25.500 seconds of 44100 Hz, 4 channel audio.
Skipping chunk of type "fact", length 4
 ☼", length 101843599e "b
Skipping chunk of type "Ö⌡]ⁿ", length 17496280
avs2pipemod[info]: finished, wrote 25.500 seconds [100%].
avs2pipemod[info]: total elapsed time is 0.063 sec.
Error parsing input file: -
With "pcm_s16le, 48000Hz, 5.1, s16, 4608kb/s" it's a lot worse:
Code: [Select]
avs2pipemod.exe -extwav script-5.1.avs | opusenc.exe - output-5.1.opus
avs2pipemod[info]: writing 60.000 seconds of 48000 Hz, 6 channel audio.
Skipping chunk of type "fact", length 4
Skipping chunk of type "", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 63817
Skipping chunk of type "╒²", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 56
Skipping chunk of type "â♠", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 4337
Skipping chunk of type "<", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 64882
Skipping chunk of type "Y♀", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 2980
Skipping chunk of type "φ∩", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 62286
Skipping chunk of type "l
", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 61502
Skipping chunk of type "≤∙", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 62833
Skipping chunk of type "`♥", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 59958
Skipping chunk of type "▒", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 64727
Skipping chunk of type "♦", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 1049
Skipping chunk of type "n≤", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 65361
Skipping chunk of type "µ∙", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 452
Skipping chunk of type "u≥", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 706
Skipping chunk of type "z", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 61704
Skipping chunk of type "ê ", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 1223
Skipping chunk of type ">", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 2459
Skipping chunk of type "╬♠", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 52340
Skipping chunk of type "♠≥", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 2502
Skipping chunk of type "", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 63559
Skipping chunk of type "ü", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 4094
Skipping chunk of type "╧∙", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 1192
Skipping chunk of type "┼∙", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 65155
Skipping chunk of type "╢·", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 62951
Skipping chunk of type "┴♣", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 65327
Skipping chunk of type "╞≤", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 980
Skipping chunk of type "δ♠", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 64679
Skipping chunk of type "↑♥", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 1254
Skipping chunk of type "ê°", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 64663
Skipping chunk of type "╩☻", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 2158
Skipping chunk of type "Æ∙", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 65309
Skipping chunk of type "┬♠", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 2711
Skipping chunk of type "j      ", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 2445
Skipping chunk of type "►", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 5647
Skipping chunk of type "", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 55841
Skipping chunk of type "z√", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 52067
Skipping chunk of type "ƒ≈", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 1925
Skipping chunk of type "∞ ", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 60874
Skipping chunk of type "x ", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 2087
Skipping chunk of type "G☺", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 64663
Skipping chunk of type "?☺", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 65231
Skipping chunk of type "?☻", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 63720
Skipping chunk of type "♣♣", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 263
Skipping chunk of type "â☺", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 1145
Skipping chunk of type "╕♠", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 627
Skipping chunk of type "≈≈", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 64594
Skipping chunk of type "B      ", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 160
Skipping chunk of type "↔♂", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 2439
Skipping chunk of type "Æ°", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 64777
Skipping chunk of type "&      ", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 62670
Skipping chunk of type " ÷", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 62168
Skipping chunk of type "S♣", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 61806
Skipping chunk of type "", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 63334
Skipping chunk of type "f⌡", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 4739
Skipping chunk of type "3", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 65364
Skipping chunk of type "⌠", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 65451
Skipping chunk of type "°ⁿ", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 5128
Skipping chunk of type "ÿ", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 63043
Skipping chunk of type "═      ", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 64874
Skipping chunk of type "
☺", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 3298
Skipping chunk of type "G ", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 63577
Skipping chunk of type "ì      ", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 63672
Skipping chunk of type "«Ω", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 64170
Skipping chunk of type "2☺", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 3514
Skipping chunk of type "q≥", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 4958
Skipping chunk of type "☻ⁿ", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 1737
Skipping chunk of type "A‼", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 40
Skipping chunk of type "m∙", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 64919
Skipping chunk of type "╣♀", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 64159
Skipping chunk of type "$♂", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 64349
Skipping chunk of type ☼", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 980
Skipping chunk of type "←°", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 64256
Skipping chunk of type "☺", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 64009
Skipping chunk of type "Ω‼", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 4292
Skipping chunk of type "─≥", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 5156
Skipping chunk of type " ≤", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 64471
Skipping chunk of type "", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 64727
Skipping chunk of type "╟", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 401
Skipping chunk of type "c☺", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 1497
Skipping chunk of type "G♂", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 1890
Skipping chunk of type "
ⁿ", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 63081
Skipping chunk of type "≡♦", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 431
Skipping chunk of type "6δ", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 65243
Skipping chunk of type "←♥", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 1778
Skipping chunk of type "Oⁿ", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 64832
Skipping chunk of type "o♦", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 903
", length 0unk of type "£
Skipping chunk of type "", length 0
Skipping chunk of type "", length 65052
Skipping chunk of type "▐", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 771
Skipping chunk of type "▐¶", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 725
Skipping chunk of type "A
", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 4399
Skipping chunk of type "Γ∩", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 1316
Skipping chunk of type "'ⁿ", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 3781
Skipping chunk of type "y°", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 477
Skipping chunk of type "█±", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 64795
Skipping chunk of type "", length 0
Skipping chunk of type "┼☺", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 5152
Skipping chunk of type "▼☻", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 63298
Skipping chunk of type "▼ ", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 509
Skipping chunk of type "½⌠", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 63611
Skipping chunk of type "/Θ", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 2667
Skipping chunk of type "╛♦", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 1577
Skipping chunk of type "é♠", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 59793
Skipping chunk of type "%·", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 65351
Skipping chunk of type "x", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 2000
Skipping chunk of type "0☺", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 64888
Skipping chunk of type "ì      ", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 64661
Skipping chunk of type "≤♦", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 580
Skipping chunk of type "ê♦", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 580
Skipping chunk of type "┬■", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 64047
Skipping chunk of type "÷☻", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 1181
Skipping chunk of type "╕♠", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 64930
Skipping chunk of type "ó", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 897
Skipping chunk of type "d÷", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 827
Skipping chunk of type "ï☺", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 150
Skipping chunk of type "Ç■", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 50
Skipping chunk of type "]ⁿ", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 2666
Skipping chunk of type "~ⁿ", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 63396
Skipping chunk of type "", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 65150
Skipping chunk of type "Ü♥", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 757
Skipping chunk of type "☻", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 64473
Skipping chunk of type "»²", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 64340
Skipping chunk of type "■²", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 2164
Skipping chunk of type "¡", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 34
Skipping chunk of type "¢☺", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 63645
", length 0unk of type "0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 4075
Skipping chunk of type "╥┌", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 59596
Skipping chunk of type "gτ", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 2533
Skipping chunk of type "≡♣", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 2843
Skipping chunk of type "", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 65349
Skipping chunk of type "J☻", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 64685
Skipping chunk of type "┬⌡", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 64696
Skipping chunk of type "
", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 3223
Skipping chunk of type "[", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 65107
Skipping chunk of type "╠°", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 1364
Skipping chunk of type "ÿ☻", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 64135
Skipping chunk of type "#·", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 64140
Skipping chunk of type "o      ", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 792
Skipping chunk of type "Æ≤", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 1664
Skipping chunk of type "◄", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 2433
Skipping chunk of type "¢■", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 65374
Skipping chunk of type "E☻", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 3267
Skipping chunk of type "┘☻", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 3873
Skipping chunk of type "┤≈", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 4810
Skipping chunk of type "f²", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 3132
Skipping chunk of type "Ñ∙", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 61594
Skipping chunk of type "┐♦", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 697
Skipping chunk of type "q♠", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 2962
Skipping chunk of type "f♫", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 229
Skipping chunk of type "^⌠", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 62594
Skipping chunk of type "u⌡", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 63541
Skipping chunk of type "‼≈", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 801
Skipping chunk of type "╕ⁿ", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 1957
Skipping chunk of type "▲►", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 64472
Skipping chunk of type "♠≥", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 2864
Skipping chunk of type "Éⁿ", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 2246
Skipping chunk of type "ï°", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 647
Skipping chunk of type "╥√", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 64928
Skipping chunk of type "}φ", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 64772
Skipping chunk of type "¢♦", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 2516
Skipping chunk of type "F♦", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 64568
Skipping chunk of type "╥☻", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 3943
Skipping chunk of type " ≤", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 65043
Skipping chunk of type "§ ", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 3603
Skipping chunk of type "j♥", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 1957
Skipping chunk of type "░≡", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 862
Skipping chunk of type "♣", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 2333
Skipping chunk of type "↔♥", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 64466
Skipping chunk of type "▌♥", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 188
Skipping chunk of type "ù■", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 3238
Skipping chunk of type "♠", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 61498
Skipping chunk of type "'²", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 1419
Skipping chunk of type "♦", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 63953
Skipping chunk of type "'", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 805
Skipping chunk of type "┤      ", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 2659
Skipping chunk of type "", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 62913
Skipping chunk of type "ë☻", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 64796
Skipping chunk of type "f♥", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 64408
Skipping chunk of type "‼♦", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 2897
Skipping chunk of type "", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 64918
Skipping chunk of type "╠♥", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 62684
Skipping chunk of type "┼⌠", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 2301
Skipping chunk of type "φ°", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 2474
Skipping chunk of type "╤
", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 64139
Skipping chunk of type "i²", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 995
Skipping chunk of type ")♣", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 62537
Skipping chunk of type "♣ ", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 63443
Skipping chunk of type "Q√", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 63153
Skipping chunk of type "/±", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 1313
Skipping chunk of type "┤∙", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 0
Skipping chunk of type "", length 0
avs2pipemod[info]: finished, wrote 60.000 seconds [100%].
avs2pipemod[info]: total elapsed time is 3.547 sec.
Error parsing input file: -
Extracting to WAV and feeding that to opusenc works just fine in both cases.
If you need samples, just ask.

IETF Opus codec now ready for testing

Reply #484
opus_tools_11_8_2012_sse at top and opus tools release at bottom.
This is with nothing open and the same settings as you guys.
Oh and only 7min source sorry =(


IETF Opus codec now ready for testing

Reply #485
PLEASE STOP POSTING BINARIES THAT GIVE INCORRECT VERSION NUMBERS

I just downloaded "opus_tools_11_8_2012_sse.zip" from up-thread.  The commandline and the files it writes _claims_  that it is "libopus 1.0.1" but I decompiled the code and see that it's some random snapshot of our still fairly experimental 1.1 development branch.

This stinks. It make it hard to deal with quality reports.  You should not be running the pre-1.1. development code unless you're planning on performing some listening tests and reporting back your results.  You certainly shouldn't be posting binaries that create files that claim to be 1.0.1 that aren't.

IETF Opus codec now ready for testing

Reply #486
configure.ac, as it is now, would require manual modification of version.mk in order to write something other than 1.0.1 unless git is used.  windows users would probably download the gitweb snapshot and compile vanilla.  that's not using git, and the snapshot from gitweb doesn't have the .git directory inside.  so even with git present, git describe will not work.

I guess people will have to adjust the version.mk whenever distributing a build, unless a better solution is around.

if I were going to distribute, I would edit version.mk like so (this is a hint to those wanting to compile and distribute):

Code: [Select]
OPUS_VERSION = "1.1-gXXXXXXXX"


where XXXXXXXX is an eight digit representation (seven digits might work) of the most recent git commit.  the actual developers may have a better idea.

IETF Opus codec now ready for testing

Reply #487
PLEASE STOP POSTING BINARIES THAT GIVE INCORRECT VERSION NUMBERS

I just downloaded "opus_tools_11_8_2012_sse.zip" from up-thread.  The commandline and the files it writes _claims_  that it is "libopus 1.0.1" but I decompiled the code and see that it's some random snapshot of our still fairly experimental 1.1 development branch.

This stinks. It make it hard to deal with quality reports.  You should not be running the pre-1.1. development code unless you're planning on performing some listening tests and reporting back your results.  You certainly shouldn't be posting binaries that create files that claim to be 1.0.1 that aren't.


From now on, version numbers of non-release builds will be properly reported as 1.1-gXXXXXXXX within the post, binary, filename, bitstream, "tool" tag, and included text file.

I thought it wasn't much of a concern at the time because I was clear to specify in each post (the only place the downloads could be found) it was experimental, and the most recent HEAD as of post time. (After all, it was an exploration of program speeds and compilation optimizations across system and time, not intended specifically for quality tests). The filename also indicates the date of source, which happened to coincide with compilation (I kept everything up to date). I did not consider that the quality would also be evaluated independently (much less reported by users based on the binary's invalid time stamp, which itself is a result of the stock configuration script). My apologies.

[edit]
So here goes. Latest git for both libopus (1.1.c55f4d8 2012-11-10) and opus-tools (0.15git 97a5c5f 2012-11-06) as of this post. Dates are also standardized format from now on (YYYY-MM-DD). Major changes include libopus bugfixes.
Copy Restriction, Annulment, & Protection = C.R.A.P. -Supacon

IETF Opus codec now ready for testing

Reply #488
Quote
Bump version.mk.
Naive builders, particular on Windows without git installed, would get builds calling themselves 1.0.1 even though master has diverged significantly from the 1.0.x series at this point.
We should update this file both before and after release.


Looks like they are extremely serious about version numbering...
Though I think they were a bit harsh considering the 1.0.1 release shows RC3 still...
EDIT: Thx Sheep =)

IETF Opus codec now ready for testing

Reply #489
Acrobits added Opus to its list of codecs. This is a great news and an awesome way to test with iPhone and Android.

http://www.acrobits.cz


IETF Opus codec now ready for testing

Reply #491
kamedo2 has finished ABXing 75kbps/100kbps Opus/AAC-LC tests:
http://twitter.com/kamedo2/status/269517100954034176/photo/1


Short verdict: opus (in both its 0.9.11 "opus" and 0.11.2 "CELT" form) wins against Apple AAC-LC (presumably 1.7.1, in both "true" and "constrained" VBR) at 75kbps, raking significantly above "3.0" with AAC-LC ranking significantly below 3.0. All codecs tie between 3.5 and 4.0 at 100kbps.

This is a somewhat expected result. However, the standard error (distribution deviation) of Opus quality appears much greater than with Apple AAC-LC, which has relatively small error margins, especially at the higher bitrate. I'm curious about some features of the statistic distribution; is there a spreadsheet of the results anywhere?

Also, latest HEAD/master for libopus (1.1.14454c4 2012-11-14) and opus-tools (0.15git d71e574 2012-11-14).
Copy Restriction, Annulment, & Protection = C.R.A.P. -Supacon

IETF Opus codec now ready for testing

Reply #492
This is a somewhat expected result. However, the standard error (distribution deviation) of Opus quality appears much greater than with Apple AAC-LC, which has relatively small error margins, especially at the higher bitrate. I'm curious about some features of the statistic distribution; is there a spreadsheet of the results anywhere?

I was going to post this earlier but I assumed everyone had noticed it already (it's Kamedo2's thread for his listening test):
http://www.hydrogenaudio.org/forums/index....showtopic=97913

Oh and thx for the newer build 

IETF Opus codec now ready for testing

Reply #493
Got a question regarding the Opus repository:

The website says "Branch exp_analysis7 has experimental encoder perceptual tuning", but recently a lot of activity is in the exp_analysis branch (without any number in the name), while the exp_analysis7 seems to be abandoned (last change many weeks ago). So if I want to get the latest perceptual tuning, which branch is the "right" one? Has active development moved to exp_analysis or should I still stick with exp_analysis7?

Thanks 

IETF Opus codec now ready for testing

Reply #494
Got a question regarding the Opus repository:

The website says "Branch exp_analysis7 has experimental encoder perceptual tuning", but recently a lot of activity is in the exp_analysis branch (without any number in the name), while the exp_analysis7 seems to be abandoned (last change many weeks ago). So if I want to get the latest perceptual tuning, which branch is the "right" one? Has active development moved to exp_analysis or should I still stick with exp_analysis7?

Thanks 

ea7 was merged into the master more than a month ago (commit), recent “exp_analysis” branch was created yesterday from the master. From that, I would assume that “active development moved to exp_analysis”.

IETF Opus codec now ready for testing

Reply #495
ea7 was merged into the master more than a month ago (commit), recent “exp_analysis” branch was created yesterday from the master. From that, I would assume that “active development moved to exp_analysis”.


At this point, I think you probably want to track master. The stuff in exp_analysis isn't really interesting yet, and when it is, it'll soon get merged back into master. For the time being, I'm not expecting long-lived work to be done on a branch like happened with exp_analysis7 (and the previous versions).

IETF Opus codec now ready for testing

Reply #496
ea7 was merged into the master more than a month ago (commit), recent “exp_analysis” branch was created yesterday from the master. From that, I would assume that “active development moved to exp_analysis”.


At this point, I think you probably want to track master. The stuff in exp_analysis isn't really interesting yet, and when it is, it'll soon get merged back into master. For the time being, I'm not expecting long-lived work to be done on a branch like happened with exp_analysis7 (and the previous versions).


Thanks for the info!

(Maybe the web-site should be updated then)

IETF Opus codec now ready for testing

Reply #497
PLEASE STOP POSTING BINARIES THAT GIVE INCORRECT VERSION NUMBERS

I just downloaded "opus_tools_11_8_2012_sse.zip" from up-thread.  The commandline and the files it writes _claims_  that it is "libopus 1.0.1" but I decompiled the code and see that it's some random snapshot of our still fairly experimental 1.1 development branch.

This stinks. It make it hard to deal with quality reports.  You should not be running the pre-1.1. development code unless you're planning on performing some listening tests and reporting back your results.  You certainly shouldn't be posting binaries that create files that claim to be 1.0.1 that aren't.

This is actually unexpectedly difficult for me, because even if a Windows developer modifies version.mk, /win32/genversion.bat will ignore that in favor of the results of
Code: [Select]
git describe --tags --match "v*"
; only if that fails does it fall back to version.mk, but if it works, it actually overwrites version.mk. Problem is, git HEAD is currently tagged as v1.0.1-151-gf92c87a, so you can see the difficulty for someone who actually uses git rather than downloading tarballs.

If the git HEAD is retagged as 1.1 (-pre or whatever) that problem should be fixed. I'm going to temporarily remove genversion.sh and update manually instead.

IETF Opus codec now ready for testing

Reply #498
So, Opus will resample 44.1 kHz input to 48 kHz and also everything above 48 kHz gets down-sampled to 48 kHz, because "this simplifies the algorithm". According to the F.A.Q. the Opus decoder will output 48 KHz in that case. The F.A.Q. also says that it is recommended to keep the decoder's output at 48 kHz in order to avoid yet another resampling and because "many inexpensive audio interfaces have poor quality output for 44.1 kHz". Okay. But now I noticed that "opusdec" from the Opus Tools will automatically invoke the resampler to restore the original input rate (e.g. 44.1 kHz). Indeed there is a "--rate" switch to resample to a user-define sample rate, but I'm missing a "--no-resample" switch to avoid re-sampling altogether, ignore the original input rate and just output at the internal Opus sample rate (as the F.A.Q. suggests). Wouldn't adding such a switch to "opusdec" be desirable?

Thanks.

IETF Opus codec now ready for testing

Reply #499
Probably --rate 48000 will do  the trick.