Jump to content
IGNORED

I am building the ideal free music playback software!


Recommended Posts

Hello!

 

My name is Dobrescu Gheorghe, i am an independent researcher, student, working at my PhD in waves and math, and i am creating the ideal free music playback software.

 

IT features algorithms created me, one for high resolution resampling, which is able to predict new samples exactly in their natural position.

 

And a second algorithm that can re-create transients, by using a very complicated algorithm, which studies more than a dozen samples, and is able to determine what the musical note was, and how it's transient should look like.

 

I am creating it's user interface to be as elegant as possibl.

 

I am building the ideal music playback software, elegant user interface. High resolution resampling.

 

I invite you to my blog to discuss it.

 

I also accept requests for different features, and want to hear what users want to have from other softwares.

 

Thanks a lot, and if you are interested, please support me, as i am having a hard time creating the software, because of not owning a very powerfull computer.

Link to comment

Good luck. Combine:

 

- iTunes feel and user-friendliness

 

- phone and pad App such as Apple Remote, JRemote, Lumin

 

- HQ Player's filtering, dithering and upsampling,

 

- Amarra's sound for bit-perfect,

 

- EAC or dBPowerAmp with Accurate Rip as examples for ripping

 

- MinimServer for UPnP server

 

- JRMC library management

 

- BubbleUPnP Server for Open Home Media emulation

 

- Option to switch between a super light playback only mode vs. bloated library management, ripping, bells and whistles mode.

 

Cheers

Link to comment

@tranz

 

Okay!

 

-i am already making my own version of a user interface. I like it better than anything that exists already, it is simple, user friendly, elegant, and intuitive.

 

-User friendly is the first concept behind the app

 

-the software is multiplatform, works with all platforms, windows, android, iphone, mac OS.

 

-Upsampling, and my algorithms are created by me for my PhD, they are quite different, you might preffer them better.

 

-Bit perfect mode is a must! i am sure to put it in.

 

-Ripping should be implemented, using already existing protocols, it cannot re-invent the wheel in this aspect.

 

-Server management comes a little later, i need more money to develop it

 

-library management is done using playlists, no true library as they are slow, and cause crashes and incompatibility with certain systems, basically the solution i have for this problem should return with a faster and less buggy result.

 

-Again, servers are for later development, they need money to integrate, i am independent, i would need to release at least the first version, but i noted and i promise to implement this feature!

 

-I think that i will implement the advanced features in such a way that they are easy to use, intuitive, and user friendly, without needing to implement a different user interface. I am still planning this out, i promise to take this advice, and see how i can implement it.

Link to comment

@slavo

 

Upsampling creates 32 bit samples, at the highest sampling rate that user wants, and user's DAC can use.

 

The new bits are empty, to be filled with data after DSPs are used, like digital volume control, and other many DSPs.

 

If you have no empty bits of data, digital volume, or using EQ creates aliasing, and other errors, i had tested and found this to be true with foobar.

Link to comment

I had added a page dedicated to the planned features that my software will support.

 

Please read, comment, and spread the word!

 

http://www.dobresculaboratories.blogspot.ro/

 

(i am dedicated most of my time to writting the software, developing the algorithms, and creating new things, as the user interface, i need your help to spread the word, and get more support. Thanks a lot!)

Link to comment
Good call. And so also:

 

Pandora

Spotify

vTuner for internet radio

 

 

I can do internet radio with more than one implementation, but i do not think that i can do any of the streaming services, because they do not let me.

 

I will try to ask them if i can implement something, but i think that they might not want me to, i am full into doing this. This could be very nice, for mobile usage, but again, no promises as long as i do not know if the owners of the steaming services would agree.

 

I had never used a streaming service myself, so i am not sure if i can implement something like it.

 

On the other hand, i might want to make a proposal to the companies that design streaming services to build a hybrid software that can stream, and take advantage of my algorithms, so they will sound extremely good, have a very good UI, and work for everybody. I see it as a Win-Win situation, it will depend on what answers i will get.

Link to comment

Your features list for tagging doesn't include Vorbis comments for Flac and Ogg Vorbis format files. ID3 are not the expected tag format for those files. If you store tags in ID3 form in those files, you will cause grief with other software.

 

You might look at the way JRiver handles browsing, selecting and sorting files. You can click on the column heading above any field that is displayed to sort by that field. More than one field can be used to sort files. (For example, Composer then Work Name then Artist, then track number.) Some thought about subtleties can make sorting work better. JRiver uses the Disk no. tag along with the track number when your specify track number.

 

I don't see any mention of features that matter for classical music. The Composer tag for example.

Link to comment
Your features list for tagging doesn't include Vorbis comments for Flac and Ogg Vorbis format files. ID3 are not the expected tag format for those files. If you store tags in ID3 form in those files, you will cause grief with other software.

 

You might look at the way JRiver handles browsing, selecting and sorting files. You can click on the column heading above any field that is displayed to sort by that field. More than one field can be used to sort files. (For example, Composer then Work Name then Artist, then track number.) Some thought about subtleties can make sorting work better. JRiver uses the Disk no. tag along with the track number when your specify track number.

 

I don't see any mention of features that matter for classical music. The Composer tag for example.

 

Thanks a lot!

 

I will add all those features!

 

You see, as i am using my softwares in a particular way, i had never encountered needs for these things, but if there are people who would use them, i am sure to add them. I have very exact folder structures, but all the features you exosed are a must for my software, i added them to the list of features that the software will have.

 

Dobrescu George.

Link to comment
@slavo

 

Upsampling creates 32 bit samples, at the highest sampling rate that user wants, and user's DAC can use.

 

The new bits are empty, to be filled with data after DSPs are used, like digital volume control, and other many DSPs.

 

If you have no empty bits of data, digital volume, or using EQ creates aliasing, and other errors, i had tested and found this to be true with foobar.

You mention using 32-bit samples. Why not use 64-bit processing as most high quality playback software does?

 

Also, you need to add (preferrably high quality noise-shaped) dither after processing, to avoid harmonic distortion from truncation.

"It is commonly accepted amongst authentic libertines that the sensations communicated by the organs of hearing are the most flattering and those impressions are the liveliest" (Donatien Alphonse François de Sade)

Link to comment
You mention using 32-bit samples. Why not use 64-bit processing as most high quality playback software does?

 

Also, you need to add (preferrably high quality noise-shaped) dither after processing, to avoid harmonic distortion from truncation.

 

 

Considering that all samples have 16 bits of data, and i add another 16 empty bits it should be enough to keep microprocessor usage at minimum and sounding best. Also, we are talking about binary data, so, even adding 4 bits, until 20 is already a lot, about 16X what the 16 bit samples could hold.

 

0 - 1

0 - 2

0 - 4

0 - 8

0 - 16

0 - 32

0 - 64

0 - 128

0 - 256

0 - 512

0 - 1024

0 - 2048

0 - 4096

0 - 8192

0 - 16384

0 - 32768

 

until here is how long the data sample can be.

 

then i go and add unti 20 bit long samples

 

0 - 65536

0 - 131072

0 - 262144

0 - 524288

 

If we consider that the binary data of a single samplewith 20 bit length is 16 times more precise than with 16 bit samples, there is enough space for most calculations even with 20 bit data.

 

32 bit data is how much i use to simplify the calculations that have to be done, by the algorithms, and to make sure that there is no noise due to calculations.

 

As i see it right now, 64 bits only complicate algorithms and might be longer to calculate.

 

I am going to experiment with using 64 bit long sample, after the experiment i will pronunce if i will continue with 64 bit samples, or 32.

 

 

 

Dithering is something i have been thinking about, but it is part of the algorithms design and program design, the only fact that is certain is that dithering will be high quality, as i have the possibility to add a come complicated algorithm due to usage of more bits of data.

 

 

 

Thanks a lot for the advice! As always, i will consider it and implement it into my software!

Link to comment

Congratulations on your new adventure!.

 

Imho, if you can do something modular and simple, that works with dlna/upnp open home, would be totally awesome; consider to do a core player, that can be properly configurable in the output mode, can be pointed to a local (itunes or file directory library) or networked library (smb or upnp); and then a separate UI, an app, or the use of the existing ones in upnp like kinsky.

 

Simplicity, remote controlling and library management and sound quality is what I need to see in the ideal music soft.

 

Best of lucks!

Link to comment
Congratulations on your new adventure!.

 

Imho, if you can do something modular and simple, that works with dlna/upnp open home, would be totally awesome; consider to do a core player, that can be properly configurable in the output mode, can be pointed to a local (itunes or file directory library) or networked library (smb or upnp); and then a separate UI, an app, or the use of the existing ones in upnp like kinsky.

 

Simplicity, remote controlling and library management and sound quality is what I need to see in the ideal music soft.

 

Best of lucks!

 

I have been studying programming languaces and what i can implement. Streaming using DLNA and UPNP is something i really want to add, but i cannot promise that i will add from the first release of the software, as it takes more time to wirte the code. It will depend on how much money i will be able to get, i really need a team for this, i am better at mathematics and engineering and business in general than i am with programming, at least at the moment.

 

To answer your question, As my software requires my engine to work properly, i will bild a software with it's own UI, that will be able to use files from every place, and have lots of features, like foobar2000, but with a UI that is elegant and intuitive. Sound quality will be the first proprity. To be able to use streaming, i will implement in the software for sure, but i do not know at the moment how hard it will be to implement, and if i will be able to implement from the first official version, but i am sure to implement it.

Link to comment
Hi Gheorghe, do not forget to inform us about the progress of your effort!

 

For the moment i am studying c# intensively (from 7 AM to 11 PM), and just started to study java. I want to fiind the best combination of code for the best optimization and compatibility.

 

The mathematical model is kind of ready to go, i had managed to mathematically apply my algorithms to plots and functions, i just have to fiind a way to implement the same thing in software code.

 

Mathematical algorithm for resampling is much more code dependent and applying and optimizing it will depend more on how hardware interprets it, but the transient recovery algorithms works very good, and i am very pleased with results.

 

User interface is also almost ready to go, and looks elegant and intuitive, exactly as i wanted it, i am pleased with it.

 

Thanks you all for all the support!

Link to comment

Dobrescu,

 

Since your are already dealing with transient response and FIR filters would you consider allowing for 3 or 4 way crossovers for use with active speakers. Ideally the crossovers should allow for time and phase correction at the crossover points and speaker correction based on actual measurements. A high quality (sound quality) crossover will increase the computational requirements but it looks like this may be one of your areas of expertise.

Alternatively could you allow for a convolver plugin as currently available for Foobar. This may simplify the initial amount of work whilst still allowing you to implement your own convolution engine that integrates with you existing algorithms at a latter date.

Crossovers would require your playback engine to allow for up to 8 channels so this whole idea may be one step to far. But hopefully it will provide some thoughts on what the initial version of your software should allow for in the future without requiring a rewrite of the software from scratch.

 

All the best with your project,

Mark

Link to comment
Dobrescu,

 

Since your are already dealing with transient response and FIR filters would you consider allowing for 3 or 4 way crossovers for use with active speakers. Ideally the crossovers should allow for time and phase correction at the crossover points and speaker correction based on actual measurements. A high quality (sound quality) crossover will increase the computational requirements but it looks like this may be one of your areas of expertise.

Alternatively could you allow for a convolver plugin as currently available for Foobar. This may simplify the initial amount of work whilst still allowing you to implement your own convolution engine that integrates with you existing algorithms at a latter date.

Crossovers would require your playback engine to allow for up to 8 channels so this whole idea may be one step to far. But hopefully it will provide some thoughts on what the initial version of your software should allow for in the future without requiring a rewrite of the software from scratch.

 

All the best with your project,

Mark

 

I understand what you are asking for.

 

I was thinking to add a something to the convolver plugin for foobar. I am intensive learning c# at the moment to know how to do it.

 

Another thing i had though adding would be making all plugins that work with foobar work with my software. It would not be that hard, even if i would have to manually re-write them to integrate with my software, i think i am going to do something similar.

 

I had started from the ideea that i am building a software that does everything most music playback softwares do, and even more.

 

Crossovers are something quite new to me, and i am still learning how it would output the data, for example, how the DAC interprets the channels, but i am thinking about a solution for this at the moment. I have a few ideeas, i will test which one works best with most hardware configurations, i want the end user to have to do as less as possible to get to the desired results, i am thinking of a new way for the end user to get the best experience out of a music playback software.

 

Thanks for requesting this, and letting me know what would be good for you!

 

As always, i invite everyone to read and comment my project, on it's page

www.dobresculaboratories.blogspot.com

 

Dobrescu Gheorghe.

Link to comment
  • 2 weeks later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×
×
  • Create New...