PDA

View Full Version : BassAudio - fresh alpha is out! (2006-03-07)


dimzon
6th March 2006, 16:11
BassAudio is wrapper around BASS library
http://www.un4seen.com/bass.html

The BASS library is free for non-money making use - if you are not charging for the software (and it has no other commercial purpose, eg. advertising), then you can use BASS in it for free.

Currently my plugin must support

MP3/MP2/MP1/OGG/WAV/AIFF/WMA/FLAC/WavPack/Speex/Musepack /AAC/M4A/APE/MO3 / IT / XM / S3M / MTM / MOD / UMX

Usage sample:


bassAudioSource("C:\ab\Dido\001 Here With Me.m4a")

or

bassAudioSource("C:\ab\Dido\001 Here With Me.aac")

or

bassAudioSource("C:\ab\Dido\001 Here With Me.mp3")



Warning! This is REALLY alpha version - i need testing from You!

Download it here:
http://www.mytempdir.com/497118
and apply this update first: http://www.mytempdir.com/499293

Source code is here:
http://www.mytempdir.com/497135

edit Wilbert:
downloads:
http://www.geocities.com/wilbertdijkhof/bassAudio-firstAlpha.zip
http://www.geocities.com/wilbertdijkhof/bassAudio-firstAlpha-src.zip
http://www.geocities.com/wilbertdijkhof/bassAudio-2006-03-07-patch.zip (update)
http://www.geocities.com/wilbertdijkhof/basscd22.zip (BASSCD 2.2 / for CDa)

Inc
6th March 2006, 17:45
интересно!

Maybe you have a look at Libavcodec, as it supports many other formats too (http://ffmpeg.sourceforge.net/ffmpeg-doc.html#SEC20). Compiling it as shared dll (without demuxers/muxers/encoders, so just the decoders) and handling the avcodec.dll access the same way you did in your approach on the bass.dll could be a nice step.

Beside this ... IMHO MugFunky some time ago asked for a LibavCodecSource() for video handling purposes, but If you compile Libavcodec incl. everything, it can be used to decompress everything supported by libavcodec for avisynth purposes.

http://www.inb.uni-luebeck.de/~boehme/using_libavcodec.html

I know theres a ffdshow support for avisynth, but maybe such a plugin could be more handy. Who knows.

dimzon
6th March 2006, 17:49
Nje plocha,
Does you trying to speak russian? Are You from East - Germany?

Inc
6th March 2006, 17:55
Nope Cologne, my russian bases on maybe 5 words, these are the only ones I know:

- Interesno / interesting (just encountered)
- Harascho (?) / very well
- Priviet / Hi
- paka / bye bye ?

A long long time ago I knew some parts of the russian alphabet as the russian language seemed to be (is) very very interesting

dimzon
6th March 2006, 18:01
talking about BASS
fist attempt was to write generic WinAmp plugin wrapper to allow usage of WinAmp input plugin
Then I perform some google-ing to find another players with plugin support. I have found XMPlay and BASS...

Inc
6th March 2006, 18:06
There's also "Fmod". AFAIK it supports beside decoding many sound processing algorhythms.

dimzon
6th March 2006, 18:08
There's also "Fmod". AFAIK it supports beside decoding many sound processing algorhythms.
I have compared it - BASS allows much more formats to be decoded - AC3/WMA/AAC/OGG etc

foxyshadis
6th March 2006, 18:25
Ogg and aac support means I'll be testing it tonight. Does it downmix at all?

dimzon
6th March 2006, 18:26
Audio-CD Ripping using this plugin
Download BASSCD 2.2 from official BASS homepage
Extract basscd.dll
Rename it to bass_cd.dll
Place bass_cd.dll near bassAudio.dll
Write such script:
bassAudioSource("D:\Track01.cda")

dimzon
6th March 2006, 18:27
Ogg and aac support means I'll be testing it tonight. Does it downmix at all?
No. There are possible to DownMix using AviSynth itself - there are no reson to implement built-in downmixer

dimzon
6th March 2006, 18:49
quick hotfix/patch uploaded!

acrespo
6th March 2006, 19:56
Can I use this plugin to load MPA source files?

dimzon
7th March 2006, 14:40
new version is out - now MO3 / IT / XM / S3M / MTM / MOD / UMX file formats are supported

Fizick
7th March 2006, 20:12
dimzon,
it is really "interesno" :)

But can I ask you some off-topic: it is possible to create some Avisynth plugins for more advanced audio processing, for example for old vinil click removal, etc? My expirience is for video plugins only.

dimzon
7th March 2006, 20:45
t is possible to create some Avisynth plugins for more advanced audio processing, for example for old vinil click removal, etc? My expirience is for video plugins only.
theoretically why not ;) everything what we need is algorytm/math... unfortunally I'm not DSP expert

Now I'm seriously thinking about generic WinAmp DSP plugin wrapper or/and generic VST plugin wrapper...

chros
8th March 2006, 11:08
Haven't you see this on http://www.un4seen.com/ ?

BASS_WADSP 2.2 (.0.5) : An extension enabling the use of Winamp DSP plugins with BASS. C/C++, Delphi and Visual Basic APIs are included.

Mug Funky
9th March 2006, 09:50
AIF LOADER!!! YOU WIN MY INTERNET!!

sorry bout that... i'm excited. the spruce cards here produce aif files, and it's a real pain to convert them to wavs for processing in avisynth. also sucks because soft encode doesn't accept big endian raw files (and if it did there'd no doubt be a click at the start from the file header).

this plugin means i can make a batch process to convert aif to wav, then send that wav to soft encode without the operator having to lift a finger. thanks heaps :)

dimzon
9th March 2006, 12:08
this plugin means i can make a batch process to convert aif to wav, then send that wav to soft encode without the operator having to lift a finger. thanks heaps :)
If anyone provide me API for direct invocation of AC3 encoder dll from soft encode i will write my own commandline frontend with pipeline support (direct AIFF->AC3 transcoding without WAV files)

Inc
9th March 2006, 15:24
I think if you use a dll function names parser and Google using one of these function names, maybe youll get on a site where the correct accessing is explained - depending on IF softencode somewhere/sometime did release an API Listing for developers of their dll.
i will write my own commandline frontend

Btw. Softencode does support Commandlining directly so you can include its acces in Behappy?(maybe at least this helps):
http://forum.doom9.org/showthread.php?t=58786&highlight=softencode

So you even could support .avs-->.ac3 using Softencodes DVD compilant and correct volume output in Behappy IF stdin input support in Softencode is given.

So the supported arguments of Softencode are:
Sonic Foundry Sonic Foundry Soft Encode - Dolby Digital 5.1

-A -o <outputfile> -L <left> -R <right> -C <center> -l <sleft> -r <sright> -e <LFE>

-A Auto Encode
-o Output file encoded
-L Left channel file
-C Center channel file
-R Right channel file
-l Left surround channel file
-r Right surround channel file
-e LFE channel file
-O<channel> to -5<channel> Set channel of given file
e.g. -2L (use second channel of left file)
-c Audio coding mode (default 7 = 3/2 mode)
0 = 1+1 (L, R)
1 = 1/0 (C)
2 = 2/0 (L, R)
3 = 3/0 (L, C, R)
4 = 2/1 (L, R, l)
5 = 3/1 (L, C, R, l)
6 = 2/2 (L, R, l, r)
7 = 3/2 (L, C, R, l, r)
-cr RF overmodulation protection on/off (default 1 = on)
0 = off
1 = on
-f Frame size code (default 14 = 384 kbps)
0 = 32 kbps 7 = 112 kbps 14 = 384 kbps
1 = 40 kbps 8 = 128 kbps 15 = 448 kbps
2 = 48 kbps 9 = 160 kbps 16 = 512 kbps
3 = 56 kbps 10 = 192 kbps 17 = 576 kbps
4 = 64 kbps 11 = 224 kbps 18 = 640 kbps
5 = 80 kbps 12 = 256 kbps
6 = 96 kbps 13 = 320 kbps
-g LFE filter flag (default enabled)
-j DC filter flag (default disabled)
-k Compression characteristic (0..5) (default 0 = off)
0 = no compression
1 = film standard compression
2 = film light compression
3 = music standard compression
4 = music light compression
5 = speech compression
-F Low frequency effects channel on/off (default 1 = on)
-m Perform digital deemphasis (default disabled)
-s Sample rate code (default 0 = 48 kHz)
0 = 48 kHz
1 = 44.1 kHz
2 = 32 kHz
-w Bandwidth filter flag (default disabled)
-9 90 deg phase shift surrounds (default disabled)
-$ Enable 3 dB surround attenuation (default disabled)
-N Store in non-Intel byte order (default 0 = off)
-T Time stamp frames starting at 00:00 (default 0 = off)

dimzon
9th March 2006, 15:28
Btw. Softencode does support Commandlining directly so you can include its acces in Behappy?(maybe at least this helps)
Nope. I need STDIN support to avoid temporaly WAV files...
Hmm... Seems it's time to lean SoftIce...

Mug Funky
9th March 2006, 23:50
Btw. Softencode does support Commandlining directly so you can include its acces in Behappy?(maybe at least this helps):

that's what i had in mind for my own nefarious purposes...

there's a couple of (annoying) limitations to soft encode's CLI though:

- you must have an assigned drive letter on input files
- it doesn't support quotes for filenames, and so;
- there must not be any hyphens in the file name/path. so "Gravitation - trailer - 4x3.wav" is not allowed... which sucks because that's a good filename format for authoring purposes (the aspect ratio makes more sense for m2v files of course, but having same-named audio and video is also very useful).

also, it's very finicky - i can't for the life of me figure out how to make it do 5.1 encoding. thankfully i mostly do 2ch stuff, and for 5.1 it's not too difficult to just load a bunch of wavs (for 5.1 there's a perfectly good ACXpress card plugged into a tascam deck).

[edit]

piping to soft encode would be great. what would be greater is an opensource ac3 encoder that had the same features and reliability as soft encode, as it's a very old program and kinda crummy, but it's one of the only ac3 tools that doesn't bugger up in weird ways in random DVD players.

Mug Funky
10th March 2006, 00:09
last post was a bit messy, so here's a useful one for anyone using this plugin:

- loading all the plugins is a bad idea :) just load bassaudio.dll and the others appear to be accessed by it.

- seems to return 6ch audio for ac3 files, even if they are 2ch files... getchannel(1,4) fixes this though :)

very good stuff. i'll go dig up some more files to try out.

[edit]

seems to behave oddly on timecoded ac3. doesn't seem to seek properly - starts in sync, but if you seek it's out by a consistent amount. perhaps it's from NTSC non-drop timecode playing with PAL video?

[edit 2] problem goes away when the timecode is stripped out. guess it's the same as nicac3source in that respect...

dimzon
10th March 2006, 08:37
@Mug Funky
thanx for a testing

dimzon
10th March 2006, 09:23
yet another bugreport from tebasuna51
http://forum.doom9.org/showthread.php?t=104686&page=7

Inc
10th March 2006, 10:01
piping to soft encode would be great. what would be greater is an opensource ac3 encoder that had the same features and reliability as soft encode, as it's a very old program and kinda crummy, but it's one of the only ac3 tools that doesn't bugger up in weird ways in random DVD players.

Did you test the standalone ac3encoder delivered with scenarist? I never did.
Maybe that one allows input via stdin.

Its really a mess that noone with the needed specific skills got into the ac3enc.c core to fix the known bugs.

dimzon
10th March 2006, 11:27
Bugreport are sent to BASS plugins developers
http://www.maresweb.de/forums/index.php?showtopic=98

dimzon
10th March 2006, 11:58
seems to behave oddly on timecoded ac3. doesn't seem to seek properly - starts in sync, but if you seek it's out by a consistent amount.
Can You provide small timecoded ac3 sample for testing?

Mug Funky
14th March 2006, 06:14
Did you test the standalone ac3encoder delivered with scenarist? I never did.

nope. we still use Spruce here... oldie but a goodie when it's not crashing :) scenarist is looking like a good idea eventually though.

[edit]

@ Dimzon: PM me an email and i'll send something. if you've got soft encode you can make one yourself by enabling "embed timecode packets" or whatever it calls it. i suspect it wont behave very different on a short sample, but a full length feature starts getting pretty wacky after a while.

dimzon
14th March 2006, 09:20
@Mug Funky
Please test stereo-AC3 bug using this binary
http://www.maresweb.de/projects/bass/files/bass_ac3.dll

Must autodetect channel numbers now

foxyshadis
1st July 2006, 00:51
Dizmon, can you reupload the plugin and source anywhere? MTD expired the files. I still have the plugin, but probably not the sources. I can provide mirror hosting, and Richard Berg should be able to give you ftp space on avisynth.org if you need it. (Or doom9 on megui.org, or whatever. :p)

Mug Funky
5th July 2006, 12:30
@ dimzon:

poop, that post slipped under the radar. thanks foxy for bringing it up again though :)

i second the request for a re-upload, if you're still developing bassaudiosource that is.

cheers

Inc
5th July 2006, 13:50
I still have the sourcecode here in my office as I once downloaded it ...

Its appended (imho needs approval).

tebasuna51
27th July 2006, 18:37
At http://www.un4seen.com/bass.html there are a new Bass version 2.3, but don't work with BassAudio.dll from Dimzon.

There are also info to upgrade from 2.2.

Can anybody upgrade the Dimzon's BassAudio.dll to test the new Bass 2.3 with AviSynth?

Wilbert
21st January 2007, 14:39
I updated the download links in the first post.

buzzqw
24th March 2007, 10:12
Can anybody upgrade the Dimzon's BassAudio.dll to test the new Bass 2.3 with AviSynth?

i can confirm that new bass 2.3 doesn't work with old bassaudio plugin

BHH

SpAwN_gUy
5th March 2008, 16:43
Any news on Updated Sources?

'cause I DO need 6ch AAC input..

BTW.. BASS 2.4 seems to be out: http://www.un4seen.com/forum/?topic=7936.0

dimzon
5th March 2008, 17:12
'cause I DO need 6ch AAC input..

try this (http://forum.doom9.org/showthread.php?t=127037)

SpAwN_gUy
5th March 2008, 18:38
is it possible to implement this(on the link) plug into BeHappy?

'cause i kinda like it (BeHappy) :) ...
i'm doing lot's of 25fps->23fps encodes...

sorry for my offtop...

tebasuna51
5th March 2008, 20:25
FFmpegSource is in experimental stage

Until v 1.14 :
"- Added the experimental FFAudioSource which doesn't need a huge uncompressed cache"

the method was uncompress all the audio to a temporal huge wav file, then you always can use faad to do the same job.

tebasuna51
6th March 2008, 13:55
Any news on Updated Sources?

'cause I DO need 6ch AAC input..

BTW.. BASS 2.4 seems to be out: http://www.un4seen.com/forum/?topic=7936.0

If anybody want try here are the BassAudio.dll's (http://www.megaupload.com/?d=O89DNRT0) for Bass v2.3 and v2.4.

Butt aac multichannel decode still fails. I get crash with aac files and bad output with mp4 files.

SpAwN_gUy
11th March 2008, 08:42
i'm sorry, but in which language bassAudio-Avisinth-plugin is written?

tebasuna51
11th March 2008, 09:21
i'm sorry, but in which language bassAudio-Avisinth-plugin is written?

You have the source bassaudio.cpp in the link.

I made only little changes (original from Dimzon) to accomplish the requirements in bass.h (from http://www.un4seen.com ) versions 2.3 and 2.4

And after I use Visual C++ 2005 Express to compile, like is recomended for AviSynth 2.5 plugins.

buzzqw
13th March 2008, 15:22
i am unable to use it :(

please could you package a zip that allow FLAC decoding via bassaudio , that will work with avisynth 2.58 ?

BHH

tebasuna51
13th March 2008, 17:16
i am unable to use it :(

please could you package a zip that allow FLAC decoding via bassaudio , that will work with avisynth 2.58 ?

BHH

Remember all bass*.dll's must be renamed to bass_*.dll to be loaded by AviSynth with bassaudio.dll (see the sourcecode):
for instance bassflac.dll must be renamed to bass_flac.dll an so on.

I don't know if work with AviSynth 2.58.

buzzqw
13th March 2008, 17:32
it's saying that bass_flac isn't a avisynth 2.5 plugin ... :(

tha's bad

BHH

ChaosKing
13th March 2008, 18:26
Bass 2.3 works perfect with 2.58 :)

I have tested mp3/flac/wma/midi/aac files

But Soundquality of wma files is bad, a bug?
- tested with: New Stories (Highway Blues).wma

midi = no sound :(


mp3/flac/aac plays fine

buzzqw
13th March 2008, 20:07
@ChaosKing

can you zip your "bass audio" plugins/dlls and put online for download ? i am going crazy

thanks!

BHH

ChaosKing
13th March 2008, 20:23
I downloaded the BassAudio.dll from tebasuna51 + plugins from the bass homepage

buzzqw, try this:
bassAudio 2.3 (http://www.file-upload.net/download-725250/bassAudio-2.3.rar.html)


i used this script for testing in vdub
loadplugin("e:\bassaudio.dll")

#BlankClip(length=300,fps=12)
version()
a = bassaudiosource("F:\test.mp3")
audiodub(last,a)

buzzqw
13th March 2008, 21:16
@ChaosKing

YES!

:thanks:

now is working well!

BHH

tebasuna51
14th March 2008, 03:30
But Soundquality of wma files is bad, a bug?
- tested with: New Stories (Highway Blues).wma
Yep, wma seems don't work properly with 2.3 and 2.4b (clips)
For me 2.2 work fine.

mp3/flac/aac plays fine

2.3/2.4b aac don't work for stereo or multichannel, 2.2 works with aac stereo only.

For me the problem is in BASS_ChannelSetPosition() function, each time AviSynth send a GetAudio() petition a click, more or less audible, is introduced.

EDIT: Seems the problem is solved with new BassAudio.dll interface.
See this new thread (http://forum.doom9.org/showthread.php?t=135855)