New ideas for new programs

Started by Sebastian_Mares,

Sebastian_Mares

Greetings!

As I can see, BASS is a very popular sound system. It supports a lot of features and it is free for creating freeware/open source applications.

Anyway, there are some features which could be very nice for others, too. For example, an Ogg Vorbis encoder would be very nice. As far as I know, Ogg Vorbis is a patent-free audio compression algorithm. Unfortunately, I don't have any documentation for using the library with Visual Basic. It won't even work without a wrapper.
Another cool feature would be a MP3 encoder. I don't know if it is be possible to implement the LAME Encoder code in BASS or another library, because FhG and Thompson own some patents for MP3 encoding and decoding. Anyway, if it is possible, it would be nice to see it.

Other cool features for new or existing programs:
- Update BASSCD to read CD-Text
- CD recording (writing) tool for audio and data CDs
- Some more examples of spectrum analyzers (especially for VB)
- Ability to edit MP3 ID3v1/2, WMA and Ogg Vorbis tags. As far as I know, you can only add tags for new files, but you can't edit tags of existing files. If it is possible to edit tags, maybe it would be nice to simplify the process (functions like SetArtist, GetArtist, SetTitle, GetTitle...)
- Add capability of returning the MP3 encoder (like "Encoder Used: LAME 3.92"). I could provide C or Delphi code.
- Extend the MP3 info. Features: kbp/s, khz, CBR/VBR, stereo/mono/joint stereo, MPEG version, layer, encoding engine (see above), frames, MP3 header (like Winamp: "Header found at 8054 bytes"), how many frames with a bitrate (for VBR files --> Song1.mp3 = 50 frames 32 kbp/s, 0 frames 64 kbp/s, 4648 frames 128 kbp/s). I can provide C code for all the above functions.

Here is a link to a C code, which will return informations about a MP3 file (all the features described above): http://mitiok.free.fr/mp3guessenc-0.21.zip

Sebastian_Mares

I have sent an e-mail to Sony and to Philips asking them about CD-Text.

Waiting for a reply...

lucraymond

:)

the c source for the mp3 file information is very cool.
I restructured the c code into a c++ class which I call in my code. The only bad thing about it, is the lack of support for the ID3 v2 tags (but I'm not a big fan of it)

Thanks!



Sebastian_Mares

Would it be possible for you to make an ActiveX DLL/OCX out of it, so I could use it in Visual Basic? I really don't know C at all.

Also, ID3Lib is a C++ library for reading and writing ID3v2 tags.

Sebastian_Mares

1. Still waiting for an ActiveX control, lucraymond. ;D
2. I have searched the Internet for the CD-Text licensing issue, but wasn't able to find anything. Sony/Philips didn't answer my mail, either.
I think that you don't have to pay for CD-Text. On the Winamp forum there was a problem with CDDB2 (Gracenote) and CD-Text. They restricted the use of CD-Text (because when reading the information directly from the CD, you don't have to connect to their site). Therefore I guess it can be implemented without any fear.

lucraymond


Quote1. Still waiting for an ActiveX control

 :-/
I never made an activex control and dont have much time to learn how to do one. If someone want to create one from my borland c++ code or from the original code I won't mind.
 ::)




Ghostwalker

Well, i am currently working on a Audio-Utility-Library for Delphi. There would be objects/routins for ID3-Tags, MPEG Information, CDDB-Access (using BASS for Getting ID), Wrappers for Lame-Encoder and OGG-Vorbis-Encoder and some other things.

I've also written a program for generating HTML-Playlist, based on ID3-Tags or Filenames and CDDB-Infos (for CD'S). I've written the program for our Internet-Radio-Station, but if someone want it...mail me :)


Ghostwalker

Ideas:)

good and stable Streaming-Software (for Radiostations)
Something like BPM-Studio, but stable and without the  graphical overhead.

Sebastian_Mares

QuoteWell, i am currently working on a Audio-Utility-Library for Delphi. There would be objects/routins for ID3-Tags, MPEG Information, CDDB-Access (using BASS for Getting ID), Wrappers for Lame-Encoder and OGG-Vorbis-Encoder and some other things.

I've also written a program for generating HTML-Playlist, based on ID3-Tags or Filenames and CDDB-Infos (for CD'S). I've written the program for our Internet-Radio-Station, but if someone want it...mail me :)



1. I am a Visual Basic developer, so I couldn't do much with Delphi code.
2. I have some good Delphi code for reading and writing of many tag formats and also for returning lots of information about different file types (Ogg Vorbis, MP3, MP3plus, WMA, APE, VQF, WAV...). I could give you the code if you like. It was written by Jürgen Faul but modified by a friend for writing WMA tags, too.

Sebastian_Mares

Would it be possible for you to send me that C++ class, lucraymond?

Ghostwalker

This would be greate, i've you can send me the code.

Yes, but i think, when it is ready, i can create some ActiveX out of the components, for use in VB:)

lucraymond

I will put a download link tonight or tomorrow. I'm very busy at the moment.

if someone have any information about the tags of ogg,wma or anything else. I could implement them so we could create a mega library.

Sebastian_Mares

QuoteI will put a download link tonight or tomorrow. I'm very busy at the moment.

if someone have any information about the tags of ogg,wma or anything else. I could implement them so we could create a mega library.


I could provide Delphi code, if it helps you.

Sebastian_Mares

QuoteThis would be greate, i've you can send me the code.

Yes, but i think, when it is ready, i can create some ActiveX out of the components, for use in VB:)

I need your e-mail address.



lucraymond

would have preferred formats specification instead of delphi code.  ::)

I've just decided to make my library more compliant
with standard c++. Instead of using borland's vcl based
components, I'm now using standard functions (should be compatible with all C++ compilers linux/windows/etc..).

Created a MediaAnalyze class which now supports MP3 and OGG
vorbis files (more formats will be added when I get details on them). I don't want to release yet, it need more works.

example of usage (in c++):

 MediaAnalyze media;
  
    media.analyze("c:\test.ogg");
    temp=media.GetValue("audio_vendor");    
    bitrate=media.GetValue("audio_bitrate");    
    title=media.GetValue("title");    
    artist=media.GetValue("artist");    


simple enough!  ;D

  

Sebastian_Mares

You could take a look at http://www.vorbis.com for Ogg Vorbis tags. Also, http://www.wotsit.org is a very nice site.

Would it be possible for you to explain me some parts of that C code? I guess I could translate it to VB with your help.

lucraymond


QuoteYou could take a look at http://www.vorbis.com for Ogg Vorbis tags. Also, http://www.wotsit.org is a very nice site.

OGG vorbis support is already implemented and functionnal. The only thing I have to investigate related to OGG is that I want to know the total length of a song without having to use the VorbisFile api. I'm using my own code to read the tags. I have put some comments in my code. By reading the ogg's doc online and checking my code, you should be able to understand how it's done.

anyway, if someone take my c++ code and create an activex out of it, you would be fine.