Keppi (music visualizer)

Submit portable freeware that you find here. It helps if you include information like description, extraction instruction, Unicode support, whether it writes to the registry, and so on.
Message
Author
User avatar
SYSTEM
Posts: 2041
Joined: Sat Jul 31, 2010 1:19 am
Location: Helsinki, Finland

Keppi (music visualizer)

#1 Post by SYSTEM »

Hello everyone,

I have been looking for a new job for over a month. In my CV I list C# as one of the programming languages I know; however, at my previous job I last used the C# language in July. I thought that if I end up in a programming test as a part of a job interview, it's best if I have used the language recently and it's freshly in my mind. For that reason I decided to start a new spare time software project.

Keppi is a simple music visualizer, written in the C# language. It requires .NET Framework 4.5 to run.
Screenshot.png
Screenshot.png (10.8 KiB) Viewed 81805 times
Project website: http://sourceforge.net/projects/keppi/

Q&A

Does the name mean something?

Yes. It's Finnish for "stick".

Stick?!?!

Yeah. I just picked a random word. :mrgreen:

Is it portable?

Depends on your definition. ;) Keppi doesn't save any settings, but it requires .NET Framework 4.5.

Which operating systems are supported?

Windows 7, Windows 8, Windows 8.1 and Windows 10.

What about audio formats?

I'm using Media Foundation for decoding. Therefore supported audio formats depend on the Windows version you have.

MP3, AAC, WMA and WAV formats in raw *.mp3, *.aac, *.wma and *.wav files are supported on all platforms. So is the MP4 container format (*.mp4 or *.m4a) provided that the stream inside is of a supported format. Vorbis streams in Ogg containers are also supported. (Note that Vorbis works only in an Ogg container.)

FLAC and Opus streams and WebM containers are supported on Windows 10.
Last edited by SYSTEM on Sat Aug 10, 2019 5:29 am, edited 4 times in total.
My YouTube channel | Release date of my 13th playlist: August 24, 2020

User avatar
joby_toss
Posts: 2970
Joined: Sat Feb 09, 2008 9:57 am
Location: Romania
Contact:

Re: Keppi (music visualizer)

#2 Post by joby_toss »

This is better. :)

Image

Enternal
Posts: 89
Joined: Thu Jan 02, 2014 3:41 pm

Re: Keppi (music visualizer)

#3 Post by Enternal »

Lol! I knew what the software does but SYSTEM's screenshot was making me laugh, "oooooh... squiggly line... sooo purrty". The animated gif does it so much more justice. Anyways, there's something trancing about looking at music visualizers and I don't know what. Anyway, thanks!

billon
Posts: 843
Joined: Sat Jun 23, 2012 4:28 pm

Re: Keppi (music visualizer)

#4 Post by billon »

Looks like Nad

User avatar
guinness
Posts: 4118
Joined: Mon Aug 27, 2007 2:00 am
Contact:

Re: Keppi (music visualizer)

#5 Post by guinness »

Very cool indeed @system

User avatar
SYSTEM
Posts: 2041
Joined: Sat Jul 31, 2010 1:19 am
Location: Helsinki, Finland

Re: Keppi (music visualizer)

#6 Post by SYSTEM »

Keppi 2.00 is out. :D Changelog:
  • Implemented ability to visualize music in YouTube and SoundCloud. It is possible thanks to youtube-dl. Not available on Vista because Media Foundation doesn't support MP4 and AAC on that OS.
  • Added ability to play multiple files in one session (File -> Open)
  • Now Keppi blocks the screensaver from showing up and the screen from automatically turning off.
----

Before anyone else points it out: the disk footprint has increased a lot. Youtube-dl alone takes 6,7 megabytes. The total size of the program has increased from 5,1 to 12,5 MB (64-bit builds).

When visualizing music in YouTube or SoundCloud, Media Foundation appears to save the media stream to the IE cache and not remove it afterwards. This can eat a lot of disk space, especially if you listen entire mix-sets. There is a size cap of about 200 MB.
My YouTube channel | Release date of my 13th playlist: August 24, 2020

User avatar
SYSTEM
Posts: 2041
Joined: Sat Jul 31, 2010 1:19 am
Location: Helsinki, Finland

Re: Keppi (music visualizer)

#7 Post by SYSTEM »

Keppi 3.00 released. :D Changelog:
  • Dropped support for Windows Vista.
  • Rewrote the UI by using Windows Presentation Foundation (WPF) instead of
    Windows Forms. This resulted in some user-visible changes:
    • The background color of windows (like the Open URL dialog) is now white
      instead of gray.
    • Text is now drawn with font smoothing even if you have disabled font
      smoothing in Windows settings.
  • Switched visualization backend from Direct2D to Direct3D 9.
    • The visualization is now fully sharp.
  • Implemented an XAudio2 audio playback backend that is used if available.
    If it's not available, audio is still played through DirectSound
    (although more directly and not through OpenAL Soft).
  • Replaced the Windows API Code Pack, Media Foundation .NET, OpenAL# and
    OpenAL Soft libraries with SharpDX.
  • Added an icon.
  • More accurate synchronization between audio and visualization.
  • Increased audio buffer length to reduce risk of pauses.
  • Fixed: many YouTube videos failed to play on Windows 7.
  • Fixed crash at the end of YouTube videos on Windows 7.
  • Fixed: for local files, the file name was shown in the title bar even when
    metadata was available.
  • Fixed: when yt-dl.org is down, the updater truncates youtube-dl.exe to zero
    bytes and crashes.
  • Minor changes.
----

The switch to WPF has increased memory usage from ~25 to ~45 megabytes.
My YouTube channel | Release date of my 13th playlist: August 24, 2020

User avatar
smaragdus
Posts: 2120
Joined: Sat Jun 22, 2013 3:24 am
Location: Aeaea

Re: Keppi

#8 Post by smaragdus »

@SYSTEM
Why don't you add a settings file for the GUI? In my opinion it would be better if Keppi was able to preserve window size and position after restart. For me it is cumbersome to resize the window anytime I start the program.

User avatar
SYSTEM
Posts: 2041
Joined: Sat Jul 31, 2010 1:19 am
Location: Helsinki, Finland

Re: Keppi

#9 Post by SYSTEM »

smaragdus wrote:@SYSTEM
Why don't you add a settings file for the GUI? In my opinion it would be better if Keppi was able to preserve window size and position after restart. For me it is cumbersome to resize the window anytime I start the program.
Sure, I'll implement saving the size and position.

I'll also add a way to reset the window back to default size: I have an OCD-like tendency to keep the window at exactly that size, and I want a way to undo if I resize the window accidentally.
My YouTube channel | Release date of my 13th playlist: August 24, 2020

User avatar
SYSTEM
Posts: 2041
Joined: Sat Jul 31, 2010 1:19 am
Location: Helsinki, Finland

Re: Keppi

#10 Post by SYSTEM »

SYSTEM wrote:
smaragdus wrote:@SYSTEM
Why don't you add a settings file for the GUI? In my opinion it would be better if Keppi was able to preserve window size and position after restart. For me it is cumbersome to resize the window anytime I start the program.
Sure, I'll implement saving the size and position.
It's implemented in version 3.10 that I just released. :) I also fixed playback of SoundCloud tracks, which broke after a youtube-dl update. Full changelog:
  • Window size and position are now saved.
  • Fixed: SoundCloud tracks failed to play after the youtube-dl 2017.01.28 update.
My YouTube channel | Release date of my 13th playlist: August 24, 2020

User avatar
SYSTEM
Posts: 2041
Joined: Sat Jul 31, 2010 1:19 am
Location: Helsinki, Finland

Re: Keppi (music visualizer)

#11 Post by SYSTEM »

I have implemented an interesting new feature: a unreleased version of Keppi attempts to detect when it's playing an entire mix set in YouTube and the video description contains a track list with time stamps. In that case, it can show an optional status bar which shows the currently playing track.
Tracklist extraction.png
However, this feature is quite far outside the scope of music visualizers: you aren't supposed to use a visualizer to play an entire mix set, after all. For that reason, it's disabled by default, and I don't have any plans to release a new version of Keppi because of this feature. (Keppi 3.10 does have some of the tracklist extraction code, but the feature is completely disabled in that version.) I don't have any other plans to improve Keppi, either, so it will likely be a very long time before the feature will be in a stable release.

(It will happen when I need to update the program because of a change in youtube-dl, YouTube or SoundCloud, such as when a youtube-dl update broke SoundCloud playback in January. It may well be even over an year until something like that happens again.)

Let me know if you'd like to try the tracklist extraction feature anyway. I can create a special build or something.
My YouTube channel | Release date of my 13th playlist: August 24, 2020

User avatar
smaragdus
Posts: 2120
Joined: Sat Jun 22, 2013 3:24 am
Location: Aeaea

Re: Keppi 3.10

#12 Post by smaragdus »

@SYSTEM

I finally tested Keppi version 3.10.

Thank you for "Window size and position are now saved."- for me this is essential.

I have one more request- support for drag&drop of supported audio formats- this will spare the user the effort to browse for files.

I also have several questions questions:
  • What about adding support for several relatively common formats like Ogg Vorbis, Monkey's Audio and WavPack? Does the library you are using support these formats?
  • What about some tool-bar with Play/Pasue/Stop buttons?
  • What about possibility to load multiple supported files? I know this will make Keppi more a player than a visualizer, but just asking.
However Keppi failed to play FLAC files on my system (Windows 8 x64), screen below:

Image

A couple of GIFs:

Keppi - YouTube:

Image

Keppi - local MP3:

Image

Edit

I read the introduction and I got why Keppi couldn't render FLAC files.

Now I see that support for the formats I asked won't be possible. I am sorry I didn't read what I should read before posting.

Edit

Can .NET programs use BASS library?
Last edited by smaragdus on Thu Apr 06, 2017 7:53 pm, edited 1 time in total.

User avatar
SYSTEM
Posts: 2041
Joined: Sat Jul 31, 2010 1:19 am
Location: Helsinki, Finland

Re: Keppi 3.10

#13 Post by SYSTEM »

smaragdus wrote: I have one more request- support for drag&drop of supported audio formats- this will spare the user the effort to browse for files.
Should be doable. Added to my todo list.
smaragdus wrote: What about adding support for several relatively common formats like Ogg Vorbis, Monkey's Audio and WavPack? Does the library you are using support these formats?
As you noticed, it doesn't.
smaragdus wrote: What about some tool-bar with Play/Pasue/Stop buttons?
Added to my todo list.
smaragdus wrote: What about possibility to load multiple supported files? I know this will make Keppi more a player than a visualizer, but just asking.
Do you mean playing the files sequentially, as if they were in a playlist?
smaragdus wrote: Can .NET programs use BASS library?
Yes, they can, through a wrapper called Bass.Net. Since you requested support for additional audio formats (and FLAC on <Win10), I'll look into integrating it.
My YouTube channel | Release date of my 13th playlist: August 24, 2020

User avatar
smaragdus
Posts: 2120
Joined: Sat Jun 22, 2013 3:24 am
Location: Aeaea

Re: Keppi

#14 Post by smaragdus »

@SYSTEM
Do you mean playing the files sequentially, as if they were in a playlist?
This was exactly what I meant. But I am afraid with tool-bars and playlist menu Keppi will become more or less a player. I suppose this wasn't your intention. But drag&drop support would be great. This Media Foundation seems very scarce in format support, don't you think? BASS library seems superior by far.

User avatar
SYSTEM
Posts: 2041
Joined: Sat Jul 31, 2010 1:19 am
Location: Helsinki, Finland

Re: Keppi

#15 Post by SYSTEM »

smaragdus wrote:@SYSTEM
Do you mean playing the files sequentially, as if they were in a playlist?
This was exactly what I meant. But I am afraid with tool-bars and playlist menu Keppi will become more or less a player. I suppose this wasn't your intention.
Well, personally I prefer feature-rich software. Moving Keppi to the direction of a music player isn't a problem. (However, I don't tend to implement player features unless someone requests them.)
smaragdus wrote: This Media Foundation seems very scarce in format support, don't you think? BASS library seems superior by far.
To be fair, BASS also has quite scarce format support without extensions.

(Media Foundation allows third-party codecs as well, as long as they are locally installed. However, nearly all third-party codecs out there are still made for DirectShow, the predecessor of Media Foundation.)
My YouTube channel | Release date of my 13th playlist: August 24, 2020

Post Reply