Bug head: Monster sound player for 8M+ audiophiles

Developed or developing a new product in PureBasic? Tell the world about it.
User avatar
oryaaaaa
Enthusiast
Enthusiast
Posts: 791
Joined: Mon Jan 12, 2004 11:40 pm
Location: Okazaki, JAPAN

Bug head: Monster sound player for 8M+ audiophiles

Post by oryaaaaa »

Bug head Ver7.12 SP5 Build by PureBasic 5.42 LTS

Full original audio processing
  • Poor design and Poor operation for free
  • New original low jitter sound engine for hi-end audiophiles
  • New original low jiiter cpu cleaner for online gamers
  • New original low jitter ssd hdd cleaner for skyrim players
BASS libraries
  • decode any audio formats
  • output asio host drivers
  • paid shareware licence
Base technology
  • Initialize cpu all register after "StartPurebasic:"
  • Initialize cpu all register by XOR, AND, OR, PXOR, POR, PAND, etc
  • Rewrite memory for low jitter programmings
  • Optimized asio host drivers design x64 for R8 R9 R10
  • etc
"Bug head PC" 2016 spring
  • intel core i5-6600K (enabed speed step and turbo boost, keep 3.4GHz over)
  • asrock z170 oc formula 18+2 phase power design
  • ddr4 8GBx4 32GB (strict keep "8GBx4", coz Bug head special tuning for sound)
  • plextor mlc m.2 pcie 512GB PX-512M6eA
  • psu 1050W seasonic SS-1050XM2
  • fanless cpu cooler FX70 and fanless gpu card MSI fanless GT720
  • windows 10 Home x64
  • dbpoweramp cd ripper (rip to un-compressed flac)
  • xrecode II (format converter, m4a formats convert to un-compressed flac)
  • JCAT USB 3.0 card (JPLAY products)
  • don't install ASRock utilities softwares
  • don't install SSD cache softwares
  • don't install RAM disk softwares
  • don't install wireless devices by USB connect
  • don't install bluetooth adapter by USB connect
  • don't install SIM adapters by USB connect, recommend LAN connect with intel lan port
How to "All core any cures"
  1. Run All core any cures and "Run all core any cures"
  2. (Initialize process is one seconds only)
  3. Run All core any cures and "Repeat the run every 15min"
  4. (Initialize process is one seconds only)
  5. (Run every 15min)
This all code is for CPU initialize only. no disk access.
no change window settings. If you hate me? then You can DisAsm.exe by NASM.

How to "Rewrite data"
  1. End "target softwares" and "all core any cures"
  2. Re-check end "target softwares" and "all core any cures"
  3. Run All core any cures and "Run all core any cures"
  4. (Initialize process is one seconds only)
  5. Run Rewrite data by administrator mode or user mode
  6. administrator : Bug head, VLC, foobar, XMOS drivers, or your "User select" target
  7. user : music files, video files and download. !Crush! End "music player and video player"
  8. Enable search sub directories
  9. Recommend "AVX2" for exe dll binary, "MMX" for data files
  10. (Rewrite .... Finished)
  11. 3 minitues wait and "10. Rewrite"
  12. 3 minitues wait and "10. Rewrite"
  13. Exit
  14. Run All core any cures and "Run all core any cures"
  15. (Initialize process is one seconds only)
Rewrite data is open files and rewrite and close and rename and delete old files.
no change window settings. If you hate me? then You can DisAsm.exe by NASM.

How to "Bug head"
  1. Run All core any cures and "Run all core any cures"
  2. (Initialize process is one seconds only)
  3. Run All core any cures and "Repeat the run every 15min"
  4. (Initialize process is one seconds only)
  5. Run Bughead.exe or Infinityblade.exe (high qulaity sound)
  6. select asio devices, but rejected jriver and foo_dsd.
  7. If you want to more high quality?, You select stardust x2 mode
  8. start
  9. (memory initialize have seven seconds every time) 30sec ... 4min
  10. Click [asio] and setting control panel
  11. Add music files
  12. For advenced users only: Right click and Advanced secret menu [black screen] and [stardust x4] (1st: 1 songs, no repeat setting)
  13. Play, rewrite process need 10 seconds, stardust x4 need 90 seconds.
no change window settings. If you hate me? then You can DisAsm.exe by NASM.


Bug head users became more than unknown peoples.
Japan 48.2%, Russia 7.5%, Korea 6.8%, China 5.4%, USA 4.6%, Germany 2.7%, Hong kong 2.5%
Ukraine 2.1%, Italy 1.8%, UK 1.5%, Hungary 1.2%, Bulgaria 1.0%, Others 15%

How to burn in audio pc and dacs
  • use nature sound cd "waves" "falls"
  • need: 1st play require 400 hours.
  • need: any update require 6 hours.
Download
http://oryaaaaa.world.coocan.jp/bughead/

Support Audio files
16 bit or 24 bit or 32bit
44.1kHz / 48kHz / 88.2kHz / 96kHz / 176.4kHz / 192kHz
WAV / FLAC / M4A / MP3

have fun
Last edited by oryaaaaa on Sat May 28, 2016 6:30 am, edited 53 times in total.
User avatar
Kuron
Addict
Addict
Posts: 1626
Joined: Sat Oct 17, 2009 10:51 pm
Location: Pacific Northwest

Re: Bag head 1.0 Ultimate up sampling audio

Post by Kuron »

Congratulations!!!
Best wishes to the PB community. Thank you for the memories. ♥️
User avatar
oryaaaaa
Enthusiast
Enthusiast
Posts: 791
Joined: Mon Jan 12, 2004 11:40 pm
Location: Okazaki, JAPAN

Re: Bag head 1.0 Ultimate up sampling audio

Post by oryaaaaa »

Thank you!

Update
Fix. [x4] Channel swap

The sound requested the current audio player is different.
Last edited by oryaaaaa on Tue Aug 21, 2012 5:09 am, edited 1 time in total.
User avatar
oryaaaaa
Enthusiast
Enthusiast
Posts: 791
Joined: Mon Jan 12, 2004 11:40 pm
Location: Okazaki, JAPAN

Re: Bug head 1.2 Ultimate up sampling audio

Post by oryaaaaa »

Update Ver1.2

Download
http://nr3.coolverse.jp/Bughead/
Zach
Addict
Addict
Posts: 1654
Joined: Sun Dec 12, 2010 12:36 am
Location: Somewhere in the midwest
Contact:

Re: Bug head 1.2 Ultimate up sampling audio

Post by Zach »

So basically.. it's an upsampler?

I'm not really an audiophile so don't know what I would do with it. I take it, it is supposed to increase "perceptual" quality, like NSF/SPC players etc "upsample" to help get rid of noise, etc ?
Only this is supposed to help improve audio files, instead of console dumps, obviously :p
Image
User avatar
oryaaaaa
Enthusiast
Enthusiast
Posts: 791
Joined: Mon Jan 12, 2004 11:40 pm
Location: Okazaki, JAPAN

Re: Bug head 1.2 Ultimate up sampling audio

Post by oryaaaaa »

It is a sound source generation algorithm that is more excellent than a past theory.

Need DAC digital headphone amp ( include LPF )
Need ASIO Driver ( ASIO4ALL use, need Audio codec (embeded LPF) )

The sound quality of Bug head is better when actually comparing it with AIMP3, foobar2000 and WINAMP.
Do you understand it ?
Zach
Addict
Addict
Posts: 1654
Joined: Sun Dec 12, 2010 12:36 am
Location: Somewhere in the midwest
Contact:

Re: Bug head 1.2 Ultimate up sampling audio

Post by Zach »

I think so
Image
User avatar
oryaaaaa
Enthusiast
Enthusiast
Posts: 791
Joined: Mon Jan 12, 2004 11:40 pm
Location: Okazaki, JAPAN

Update 1.601

Post by oryaaaaa »

Update version
  • 64bit digital remaster mode (RED)
  • 64bit digital low path filter (Green-Hamming, Red-Blackman)
  • Line-in mode for internet radio, SHOUTcast, etc
  • WASAPI Support (beta), If you have trouble, then use asio4all.
    http://www.asio4all.com/
  • tons of bug fixes
Could you do the volume adjustment on the amplifier side?
coz for USB DAC Digital headphone amp.

have fun
User avatar
oryaaaaa
Enthusiast
Enthusiast
Posts: 791
Joined: Mon Jan 12, 2004 11:40 pm
Location: Okazaki, JAPAN

Re: Bug head 1.612 Digital remaster music player

Post by oryaaaaa »

Update 1.612
  • LPF2047tap(Brown, required 2cores)
  • LPF4097tap(Purple, required 2cores)
  • FIX WASAPI Bug
  • FIX CDA Bug
  • increased reability
  • Support 32/176.4 and 32/192
Recomend sound mode
  • Default: REDx1. Green-LPF
  • x2, Green-LPF
  • REDx4, Brown-LPF
Next future
  • BROWNx2, BROWNx4 Sound mode (Required 2cores)
  • Convert tool mode
  • Display IDv2 TAG information
have fun
User avatar
oryaaaaa
Enthusiast
Enthusiast
Posts: 791
Joined: Mon Jan 12, 2004 11:40 pm
Location: Okazaki, JAPAN

Re: Bug head 1.658 Digital remaster music player

Post by oryaaaaa »

Update 1.658
  • Sound engine version up
  • some bugs fixed
This software need support 44.1/88.2/176.4kHz.
coz USB AUDIO CLASS 2 only

This version is final version in this season.
If you want to newest Headphone-DAC (Made in Japan), I will send you it.
or Hiface Evo or ...
User avatar
oryaaaaa
Enthusiast
Enthusiast
Posts: 791
Joined: Mon Jan 12, 2004 11:40 pm
Location: Okazaki, JAPAN

Re: Bug head 1.724 Digital remaster music player

Post by oryaaaaa »

Finished project for Ver1.x

By development about knowhow
http://www.un4seen.com/forum/?topic=13888.0

Next stages Ver2.x, Shareware.... give up :(

I wrote a novel aiming at the novelist.
It takes 500 hours or more to finish reading.
The polish of the novel was a hell because it had aimed at the highest novel in the world.
and ...

I made the music player from a theory wrong by refreshing.
It is Bug head.

Thanks for reading.
Last edited by oryaaaaa on Mon Aug 06, 2012 12:39 am, edited 1 time in total.
User avatar
oryaaaaa
Enthusiast
Enthusiast
Posts: 791
Joined: Mon Jan 12, 2004 11:40 pm
Location: Okazaki, JAPAN

Re: Bug head 1.752 Digital remaster music player

Post by oryaaaaa »

Update Ver1.752
  • Perfect gapless processing
  • Audio processing engine is improved
  • don't support frequency, "Reject" will display
  • Some bug fixed
User avatar
oryaaaaa
Enthusiast
Enthusiast
Posts: 791
Joined: Mon Jan 12, 2004 11:40 pm
Location: Okazaki, JAPAN

Re: Bug head 1.803 Digital remaster music player

Post by oryaaaaa »

Update Ver1.803
  • Critical bug fixed, Sound engine stop
  • Unlock multi thread mode, 4 cores or 8 cores more
  • PureBasic Ver4.7 base
  • Gapless bug fixed
  • Fixed Japanese document
  • Fixed License EULA
  • Post softpedia.com, Get 100% CLEAN Award
http://www.softpedia.com/get/Multimedia ... head.shtml
User avatar
oryaaaaa
Enthusiast
Enthusiast
Posts: 791
Joined: Mon Jan 12, 2004 11:40 pm
Location: Okazaki, JAPAN

Re: Bug head 1.811 Digital remaster music player

Post by oryaaaaa »

Update 1.811
  • Criticul bug fix (Sound engine stop. maybe, finished)
  • Recommended usage add to PDF manual
  • Change Logo image
  • Remove LockMutex from multi thread programming
  • Build by PureBasic 5.00
have fun.

If you use multi thread, You should get cores on main thread.
coz sometimes rarely crush thread.... :shock:

Code: Select all

Procedure.b CheckCores()
  Protected ProcessMask.l, SystemMask.l, Count.b, i.b
  If GetProcessAffinityMask_(GetCurrentProcess_(), @ProcessMask, @SystemMask)
    For i=0 To 31
      If ProcessMask & (1<<i)
        Count+1
      EndIf
    Next
  EndIf
  If Count=0: Count=1: EndIf
  ProcedureReturn Count
EndProcedure

Main thread ... call OK
Sub thread ... call rarely crush
BASS ASIO and BASS WASAPI, code snippets.

Code: Select all

Procedure.l AsioProc(input.b, channel.l, *buffer, length.l, *user)
  ;http://www.un4seen.com/forum/?topic=11261.0
  Shared chan4.l, UST.b
  Protected infopos.q, infolen.q
  Protected *b=*buffer
  Protected C.l = 0
  Select chan4
    Case #chan3
      If (out_2s-out_2p)>length ; must > , next songs? crush
        CopyMemory(*out_2+out_2p, *b, length)
        out_2p + length : C = length
      ElseIf out_2s>out_2p
        CopyMemory(*out_2+out_2p, *b, out_2s-out_2p)
        C = out_2s - out_2p : out_2s=out_2p
        If out_1p=0
          CopyMemory(*out_1, *b+C, length-C)
          out_1p = length - C : C = length
          chan4 = #chan2
        EndIf
      EndIf
      
    Case #chan2
      If (out_1s-out_1p)>length
        CopyMemory(*out_1+out_1p, *b, length)
        out_1p + length : C = length
      ElseIf out_1s>out_1p
        CopyMemory(*out_1+out_1p, *b, out_1s-out_1p)
        C = out_1s - out_1p : out_1s=out_1p
        If out_2p=0
          CopyMemory(*out_2, *b+C, length-C)
          out_2p = length - C : C = length
          chan4=#chan3
        EndIf
      EndIf
      
  EndSelect 
   
  If ListSize(Info())>0
    FirstElement(Info())
    Info()\pos + Int(length/UST)
    infopos = Info()\pos
    infolen  = Info()\length
    If infopos>=infolen
      DeleteElement(Info())
      If ListSize(Info())>0
        FirstElement(Info())
        Info()\pos = infopos - infolen
      EndIf
    EndIf  
  EndIf
  ProcedureReturn C
EndProcedure

Procedure.l WasapiProc( *buffer, length.l, *user)
  Shared chan4.l, UST.b
  Protected infopos.q, infolen.q
  Protected *b=*buffer
  Protected C.l = 0
  Select chan4
    Case #chan3
      If (out_2s-out_2p)>length
        CopyMemory(*out_2+out_2p, *b, length)
        out_2p + length : C = length
      ElseIf out_2s>out_2p
        CopyMemory(*out_2+out_2p, *b, out_2s-out_2p)
        C = out_2s - out_2p : out_2s=out_2p
        If out_1p=0
          CopyMemory(*out_1, *b+C, length-C)
          out_1p = length - C : C = length
          chan4 = #chan2
        EndIf
      EndIf
      
    Case #chan2
      If (out_1s-out_1p)>length
        CopyMemory(*out_1+out_1p, *b, length)
        out_1p + length : C = length
      ElseIf out_1s>out_1p
        CopyMemory(*out_1+out_1p, *b, out_1s-out_1p)
        C = out_1s - out_1p : out_1s=out_1p
        If out_2p=0
          CopyMemory(*out_2, *b+C, length-C)
          out_2p = length - C : C = length
          chan4=#chan3
        EndIf
      EndIf
      
  EndSelect 
  
  If ListSize(Info())>0
    FirstElement(Info())
    Info()\pos + Int(length/UST)
    infopos = Info()\pos
    infolen  = Info()\length
    If infopos>=infolen
      DeleteElement(Info())
      If ListSize(Info())>0
        FirstElement(Info())
        Info()\pos = infopos - infolen
      EndIf
    EndIf  
  EndIf
  ProcedureReturn C
EndProcedure
BASS Decode process, Code snippets

Code: Select all

pos.q = BASS_ChannelGetLength(chan,#BASS_POS_BYTE)
pos2.q = BASS_ChannelGetPosition(chan,#BASS_POS_BYTE)
If (pos-pos2)<=#BUF1
  pdiv = pos-pos2
  K = Bass_ChannelGetData(chan, *out2, pdiv)
  If K>0
    pdiv = K
  ElseIf BASS_ErrorGetCode()<>#BASS_ERROR_ENDED
    Endpos=2
    Break 
  EndIf
  Repeat
    NextPlaysongs()
    If chan<>0
      pos=BASS_ChannelGetLength(chan,#BASS_POS_BYTE)
      K = Bass_ChannelGetData(chan, *out2+pdiv, #BUF1-pdiv) 
      If K>0
        pdiv + K
      Else
        Endpos=2
        Break 
      EndIf
    Else
      Endpos=2
      Break
    EndIf
  Until pdiv=>#BUF1
Else
  pdiv = #BUF1
  K = Bass_ChannelGetData(chan, *out2, pdiv) 
  If K>0
    pdiv = K
  Else
    Endpos=2
    Break 
  EndIf
EndIf
Select ch 
  Case 1
    CopyMemory(*out2, *out_2, pdiv)
    NowChan = #chan2 : out_2s = pdiv : out_2p = 0
    ready=pdiv :; chan4 = #chan2
  Case 2
    CopyMemory(*out2, *out_1, pdiv)
    NowChan = #chan3  : out_1s = pdiv : out_1p = 0
    ready=pdiv:; chan4 = #chan3
EndSelect
User avatar
oryaaaaa
Enthusiast
Enthusiast
Posts: 791
Joined: Mon Jan 12, 2004 11:40 pm
Location: Okazaki, JAPAN

Re: Bug head 1.820 Digital remaster music player

Post by oryaaaaa »

Update Ver1.820
  • Critical bug, no devices or short of memory.
Post Reply