Jump to content
IGNORED

M2Tech HiFace Mavericks problem


nieldm

Recommended Posts

BitPerfect Itunes? ITunes it's not bit perfect, bitperfect it's integer mode

 

Seems like you’ve never heard of the BitPerfect app: https://itunes.apple.com/us/app/bitperfect/id455545700?mt=12

I use it, and it takes over the playback from iTunes (like Amarra and PureMusic) and outputs the program bit perfect.

 

There are two issues when using it: 1) Integer mode set in BitPerfect does not work. Only the occasional snippet of program is heard when integer mode is on. 2) Clipping occurs with your driver, and that didn’t happen when I was using the W4S driver hack.

Link to comment

Bitperfect works for me after changing Preferences->Sound->Max bit depth to 32, great sound and bitrate changes smoothly.

Hackintosh I7 16GB Ram, Roon, HQPlayer, Drobo 8 TB NAS, Raspberry Pi 3 NAA, Gustard X20 ES 9018 Xmos, Audio GD C39 Preamp, The First ONE DIY Amp, Monitor Audio GS20 Speakers, Monitor Audio RSW12 Subwoofer, PI Audio MagikBuss filter.

Link to comment
Bitperfect works for me after changing Preferences->Sound->Max bit depth to 32, great sound and bitrate changes smoothly.

 

Now all your music is output at 32-bit, and hence no longer bit perfect. Kinda defeats the purpose of using BitPerfect in the first place.

Link to comment
USB channel use all 32 bit, nothing change. If you want to use 24 bit and let bit drop after is not a problem

 

1) So integer mode is still not possible with the Hiface?

2) Is that why BitPerfect can’t play back in integer mode (because the Hiface does not support it?)

Link to comment
1) So integer mode is still not possible with the Hiface?

2) Is that why BitPerfect can’t play back in integer mode (because the Hiface does not support it?)

 

I think that you don't understand. Integer mode is supported in 32bit x channel. In order to use integer mode you should work in exclusive mode. What is your problem?

Link to comment
I think that you don't understand. Integer mode is supported in 32bit x channel. In order to use integer mode you should work in exclusive mode. What is your problem?

 

The problems are that 1) Integer mode as set to ‘on’ in BitPerfect does not work. Should it? Or are you saying that integer mode is always on by default if the Hiface is in exclusive mode? 2) There is clipping when playing music. Hasn’t happened before so it must be your drivers fault. How and when will this be fixed?

Link to comment
The problems are that 1) Integer mode as set to ‘on’ in BitPerfect does not work. Should it? Or are you saying that integer mode is always on by default if the Hiface is in exclusive mode? 2) There is clipping when playing music. Hasn’t happened before so it must be your drivers fault. How and when will this be fixed?

 

Integer mode can only work on exclusive mode this is a mac design of audio core. It works when it's activated by the application so audioirvana let it to try. I don't know the other application. Clipping is impossible in integer mode ;). If the other driver doesn't clip in integer mode it was not real integer mode

Link to comment
Hi

 

https://drive.google.com/file/d/0B7-xQZAVg-6uTnl0Tnh5U0ZrVDQ/edit?usp=sharing

 

I have package this one:

 

- better load/unload of the driver (somenthing that nobody do)

- change the float to int in mixable scenario (no exclusive and no integer mode)

- new installer with m2tech background

 

This is new!!!!!! version 1.2 downloading....

Hackintosh I7 16GB Ram, Roon, HQPlayer, Drobo 8 TB NAS, Raspberry Pi 3 NAA, Gustard X20 ES 9018 Xmos, Audio GD C39 Preamp, The First ONE DIY Amp, Monitor Audio GS20 Speakers, Monitor Audio RSW12 Subwoofer, PI Audio MagikBuss filter.

Link to comment
Integer mode can only work on exclusive mode this is a mac design of audio core. It works when it's activated by the application so audioirvana let it to try. I don't know the other application. Clipping is impossible in integer mode ;). If the other driver doesn't clip in integer mode it was not real integer mode

 

In integer mode scenario I need to pass music as it is. I can not work on volume or dynamics. Buffer that come from application is not mixable and I take integer value for each channel and put on usb message as it is. What device do you have?

Link to comment
Integer mode can only work on exclusive mode this is a mac design of audio core. It works when it's activated by the application so audioirvana let it to try. I don't know the other application. Clipping is impossible in integer mode ;). If the other driver doesn't clip in integer mode it was not real integer mode

 

Okay, so the 1.2 driver is now installed. BitPerfect is now reporting that *all* track is played at 24 bit – regardless of their actual bit-depth. A bit of further investigation gives me the following device capabilities:

 

----------------------

Name: HiFace

UID:HiFaceAudioEngine:0

Model UID: HiFaceAudioDevice:HiFace

Device Id: 78

Hogged: YES

Frame Buffer Sizes: 14 - 12288

Current Frame Buffer Size: 8192

Left Channel: 1 Right Channel: 2

Sample Rates: 44.1 48.0 88.2 96.0 176.4 192.0

 

 

Audio Streams:

Stream ID: 79

Stream Number: 0

Starting Channel: 1

Total Channels: 2

Total Physical Formats: 12

 

 

Physical Format 1:

Sample Rate: 192000

Bit Depth: 24

Format Flags: [ kAudioFormatFlagIsSignedInteger kAudioFormatFlagIsAlignedHigh ]

Format ID: mcpl

Channels Per Frame: 2

Bytes Per Frame: 8

Frames Per Packet: 1

Bytes Per Packet: 8

 

 

 

 

Physical Format 2:

Sample Rate: 176400

Bit Depth: 24

Format Flags: [ kAudioFormatFlagIsSignedInteger kAudioFormatFlagIsAlignedHigh ]

Format ID: mcpl

Channels Per Frame: 2

Bytes Per Frame: 8

Frames Per Packet: 1

Bytes Per Packet: 8

 

 

 

 

Physical Format 3:

Sample Rate: 96000

Bit Depth: 24

Format Flags: [ kAudioFormatFlagIsSignedInteger kAudioFormatFlagIsAlignedHigh ]

Format ID: mcpl

Channels Per Frame: 2

Bytes Per Frame: 8

Frames Per Packet: 1

Bytes Per Packet: 8

 

 

 

 

Physical Format 4:

Sample Rate: 88200

Bit Depth: 24

Format Flags: [ kAudioFormatFlagIsSignedInteger kAudioFormatFlagIsAlignedHigh ]

Format ID: mcpl

Channels Per Frame: 2

Bytes Per Frame: 8

Frames Per Packet: 1

Bytes Per Packet: 8

 

 

 

 

Physical Format 5:

Sample Rate: 48000

Bit Depth: 24

Format Flags: [ kAudioFormatFlagIsSignedInteger kAudioFormatFlagIsAlignedHigh ]

Format ID: mcpl

Channels Per Frame: 2

Bytes Per Frame: 8

Frames Per Packet: 1

Bytes Per Packet: 8

 

 

 

 

Physical Format 6:

Sample Rate: 44100

Bit Depth: 24

Format Flags: [ kAudioFormatFlagIsSignedInteger kAudioFormatFlagIsAlignedHigh ]

Format ID: mcpl

Channels Per Frame: 2

Bytes Per Frame: 8

Frames Per Packet: 1

Bytes Per Packet: 8

 

 

 

 

Physical Format 7:

Sample Rate: 192000

Bit Depth: 32

Format Flags: [ kAudioFormatFlagIsSignedInteger kAudioFormatFlagIsPacked kAudioFormatFlagIsAlignedHigh kAudioFormatFlagIsNonMixable ]

Format ID: mcpl

Channels Per Frame: 2

Bytes Per Frame: 8

Frames Per Packet: 1

Bytes Per Packet: 8

 

 

 

 

Physical Format 8:

Sample Rate: 176400

Bit Depth: 32

Format Flags: [ kAudioFormatFlagIsSignedInteger kAudioFormatFlagIsPacked kAudioFormatFlagIsAlignedHigh kAudioFormatFlagIsNonMixable ]

Format ID: mcpl

Channels Per Frame: 2

Bytes Per Frame: 8

Frames Per Packet: 1

Bytes Per Packet: 8

 

 

 

 

Physical Format 9:

Sample Rate: 96000

Bit Depth: 32

Format Flags: [ kAudioFormatFlagIsSignedInteger kAudioFormatFlagIsPacked kAudioFormatFlagIsAlignedHigh kAudioFormatFlagIsNonMixable ]

Format ID: mcpl

Channels Per Frame: 2

Bytes Per Frame: 8

Frames Per Packet: 1

Bytes Per Packet: 8

 

 

 

 

Physical Format 10:

Sample Rate: 88200

Bit Depth: 32

Format Flags: [ kAudioFormatFlagIsSignedInteger kAudioFormatFlagIsPacked kAudioFormatFlagIsAlignedHigh kAudioFormatFlagIsNonMixable ]

Format ID: mcpl

Channels Per Frame: 2

Bytes Per Frame: 8

Frames Per Packet: 1

Bytes Per Packet: 8

 

 

 

 

Physical Format 11:

Sample Rate: 48000

Bit Depth: 32

Format Flags: [ kAudioFormatFlagIsSignedInteger kAudioFormatFlagIsPacked kAudioFormatFlagIsAlignedHigh kAudioFormatFlagIsNonMixable ]

Format ID: mcpl

Channels Per Frame: 2

Bytes Per Frame: 8

Frames Per Packet: 1

Bytes Per Packet: 8

 

 

 

 

Physical Format 12:

Sample Rate: 44100

Bit Depth: 32

Format Flags: [ kAudioFormatFlagIsSignedInteger kAudioFormatFlagIsPacked kAudioFormatFlagIsAlignedHigh kAudioFormatFlagIsNonMixable ]

Format ID: mcpl

Channels Per Frame: 2

Bytes Per Frame: 8

Frames Per Packet: 1

Bytes Per Packet: 8

 

 

 

 

----------------------

 

As you can see there are only 24 and 32 bit modes available – what happened to the 16 bit modes????????

 

BitPerfect is always in exclusive mode on whatever output device is chosen, it has no other mode. Integer mode set in BitPerfect still doesn’t work, and I’d like to find out if that is an issue with your driver or not.

 

There is with your 1.2 driver no clipping.

Link to comment
Okay, so the 1.2 driver is now installed. BitPerfect is now reporting that *all* track is played at 24 bit – regardless of their actual bit-depth. A bit of further investigation gives me the following device capabilities:

 

 

lyd please stop this, you need to learn more, the driver works in integer mode and is bitperfect!!!!!

Hackintosh I7 16GB Ram, Roon, HQPlayer, Drobo 8 TB NAS, Raspberry Pi 3 NAA, Gustard X20 ES 9018 Xmos, Audio GD C39 Preamp, The First ONE DIY Amp, Monitor Audio GS20 Speakers, Monitor Audio RSW12 Subwoofer, PI Audio MagikBuss filter.

Link to comment
Okay, so the 1.2 driver is now installed. BitPerfect is now reporting that *all* track is played at 24 bit – regardless of their actual bit-depth. A bit of further investigation gives me the following device capabilities:

 

----------------------

Name: HiFace

UID:HiFaceAudioEngine:0

Model UID: HiFaceAudioDevice:HiFace

Device Id: 78

Hogged: YES

Frame Buffer Sizes: 14 - 12288

Current Frame Buffer Size: 8192

Left Channel: 1 Right Channel: 2

Sample Rates: 44.1 48.0 88.2 96.0 176.4 192.0

 

 

Audio Streams:

Stream ID: 79

Stream Number: 0

Starting Channel: 1

Total Channels: 2

Total Physical Formats: 12

 

 

Physical Format 1:

Sample Rate: 192000

Bit Depth: 24

Format Flags: [ kAudioFormatFlagIsSignedInteger kAudioFormatFlagIsAlignedHigh ]

Format ID: mcpl

Channels Per Frame: 2

Bytes Per Frame: 8

Frames Per Packet: 1

Bytes Per Packet: 8

 

 

 

 

Physical Format 2:

Sample Rate: 176400

Bit Depth: 24

Format Flags: [ kAudioFormatFlagIsSignedInteger kAudioFormatFlagIsAlignedHigh ]

Format ID: mcpl

Channels Per Frame: 2

Bytes Per Frame: 8

Frames Per Packet: 1

Bytes Per Packet: 8

 

 

 

 

Physical Format 3:

Sample Rate: 96000

Bit Depth: 24

Format Flags: [ kAudioFormatFlagIsSignedInteger kAudioFormatFlagIsAlignedHigh ]

Format ID: mcpl

Channels Per Frame: 2

Bytes Per Frame: 8

Frames Per Packet: 1

Bytes Per Packet: 8

 

 

 

 

Physical Format 4:

Sample Rate: 88200

Bit Depth: 24

Format Flags: [ kAudioFormatFlagIsSignedInteger kAudioFormatFlagIsAlignedHigh ]

Format ID: mcpl

Channels Per Frame: 2

Bytes Per Frame: 8

Frames Per Packet: 1

Bytes Per Packet: 8

 

 

 

 

Physical Format 5:

Sample Rate: 48000

Bit Depth: 24

Format Flags: [ kAudioFormatFlagIsSignedInteger kAudioFormatFlagIsAlignedHigh ]

Format ID: mcpl

Channels Per Frame: 2

Bytes Per Frame: 8

Frames Per Packet: 1

Bytes Per Packet: 8

 

 

 

 

Physical Format 6:

Sample Rate: 44100

Bit Depth: 24

Format Flags: [ kAudioFormatFlagIsSignedInteger kAudioFormatFlagIsAlignedHigh ]

Format ID: mcpl

Channels Per Frame: 2

Bytes Per Frame: 8

Frames Per Packet: 1

Bytes Per Packet: 8

 

 

 

 

Physical Format 7:

Sample Rate: 192000

Bit Depth: 32

Format Flags: [ kAudioFormatFlagIsSignedInteger kAudioFormatFlagIsPacked kAudioFormatFlagIsAlignedHigh kAudioFormatFlagIsNonMixable ]

Format ID: mcpl

Channels Per Frame: 2

Bytes Per Frame: 8

Frames Per Packet: 1

Bytes Per Packet: 8

 

 

 

 

Physical Format 8:

Sample Rate: 176400

Bit Depth: 32

Format Flags: [ kAudioFormatFlagIsSignedInteger kAudioFormatFlagIsPacked kAudioFormatFlagIsAlignedHigh kAudioFormatFlagIsNonMixable ]

Format ID: mcpl

Channels Per Frame: 2

Bytes Per Frame: 8

Frames Per Packet: 1

Bytes Per Packet: 8

 

 

 

 

Physical Format 9:

Sample Rate: 96000

Bit Depth: 32

Format Flags: [ kAudioFormatFlagIsSignedInteger kAudioFormatFlagIsPacked kAudioFormatFlagIsAlignedHigh kAudioFormatFlagIsNonMixable ]

Format ID: mcpl

Channels Per Frame: 2

Bytes Per Frame: 8

Frames Per Packet: 1

Bytes Per Packet: 8

 

 

 

 

Physical Format 10:

Sample Rate: 88200

Bit Depth: 32

Format Flags: [ kAudioFormatFlagIsSignedInteger kAudioFormatFlagIsPacked kAudioFormatFlagIsAlignedHigh kAudioFormatFlagIsNonMixable ]

Format ID: mcpl

Channels Per Frame: 2

Bytes Per Frame: 8

Frames Per Packet: 1

Bytes Per Packet: 8

 

 

 

 

Physical Format 11:

Sample Rate: 48000

Bit Depth: 32

Format Flags: [ kAudioFormatFlagIsSignedInteger kAudioFormatFlagIsPacked kAudioFormatFlagIsAlignedHigh kAudioFormatFlagIsNonMixable ]

Format ID: mcpl

Channels Per Frame: 2

Bytes Per Frame: 8

Frames Per Packet: 1

Bytes Per Packet: 8

 

 

 

 

Physical Format 12:

Sample Rate: 44100

Bit Depth: 32

Format Flags: [ kAudioFormatFlagIsSignedInteger kAudioFormatFlagIsPacked kAudioFormatFlagIsAlignedHigh kAudioFormatFlagIsNonMixable ]

Format ID: mcpl

Channels Per Frame: 2

Bytes Per Frame: 8

Frames Per Packet: 1

Bytes Per Packet: 8

 

 

 

 

----------------------

 

As you can see there are only 24 and 32 bit modes available – what happened to the 16 bit modes????????

 

BitPerfect is always in exclusive mode on whatever output device is chosen, it has no other mode. Integer mode set in BitPerfect still doesn’t work, and I’d like to find out if that is an issue with your driver or not.

 

There is with your 1.2 driver no clipping.

 

HiFace is a digital interface 24/32 bit. Mixing seems always done in 24 bit precision in mac so I have decided to expose 24bit float precison and use all the bits in integer mode. Why do you want to support 16bit? In linux I'm supporting 32 bit because it's what device support. All conversion are done by alsa in Linux and by mixer in mac osx. Do you want 16bit and let me do the conversion in the kernel when it's possible using any player?

Link to comment
HiFace is a digital interface 24/32 bit. Mixing seems always done in 24 bit precision in mac so I have decided to expose 24bit float precison and use all the bits in integer mode. Why do you want to support 16bit? In linux I'm supporting 32 bit because it's what device support. All conversion are done by alsa in Linux and by mixer in mac osx. Do you want 16bit and let me do the conversion in the kernel when it's possible using any player?

 

kAudioFormatFlagIsNonMixable The not mixable are in integer mode so all in 32 bit

Link to comment

Hi all

 

I'm trying to help people to have HiFace working device. They guy that done the old driver take 6 months and we have taken 6 days and in linux was 4-5 days and then weeks to be included in linux kernel. Even the latest w4s driver was done by the same guy to catch some new customer because he decides to do its own business. This is not my problem, one of us in the company have done the driver for m2tech users and this fix a lot of issues of the other driver like voughan crash (I hope, because I have tested here). Now I'm not an audio expert and I'm in the forum to understand what problem the user can have and try to understand and fix where is possible. I don't have all the possible player and until now the best that I found is audioirvana because any player that use iTunes are very unstable. Even audioirvana it's not perfect because people need to unselect integer mode before deselect exclusive mode because seems that it remains active.

Link to comment
kAudioFormatFlagIsNonMixable The not mixable are in integer mode so all in 32 bit

 

AudioIrvana let play integer mode in exclusive mode and you can check from there that it's working in integer mode. Basically if you open the pdf that I post music is copied in a buffer direclty. Then I take music from this buffer without change it and send over the usb bus. If you have more then one player the path is different and it can not be bit-perfect because in that case you write the music in shareable buffer using float. When the driver read this mixable buffer it needs to convert float to integer again and send over the usb. In this way conversion can loose original sample so it's not bit-perfect any more

Link to comment
Hi all

 

I'm trying to help people to have HiFace working device. They guy that done the old driver take 6 months and we have taken 6 days and in linux was 4-5 days and then weeks to be included in linux kernel. Even the latest w4s driver was done by the same guy to catch some new customer because he decides to do its own business. This is not my problem, one of us in the company have done the driver for m2tech users and this fix a lot of issues of the other driver like voughan crash (I hope, because I have tested here). Now I'm not an audio expert and I'm in the forum to understand what problem the user can have and try to understand and fix where is possible. I don't have all the possible player and until now the best that I found is audioirvana because any player that use iTunes are very unstable. Even audioirvana it's not perfect because people need to unselect integer mode before deselect exclusive mode because seems that it remains active.

 

Thanks a lot for all your Help!!!!!!! We have been in hell with this driver, your new driver is really great and sounding beautiful!!!

Hackintosh I7 16GB Ram, Roon, HQPlayer, Drobo 8 TB NAS, Raspberry Pi 3 NAA, Gustard X20 ES 9018 Xmos, Audio GD C39 Preamp, The First ONE DIY Amp, Monitor Audio GS20 Speakers, Monitor Audio RSW12 Subwoofer, PI Audio MagikBuss filter.

Link to comment
HiFace is a digital interface 24/32 bit. Mixing seems always done in 24 bit precision in mac so I have decided to expose 24bit float precison and use all the bits in integer mode. Why do you want to support 16bit? In linux I'm supporting 32 bit because it's what device support. All conversion are done by alsa in Linux and by mixer in mac osx. Do you want 16bit and let me do the conversion in the kernel when it's possible using any player?

 

I’m asking because BitPerfect report that 16/44.1 program is played at 24/44.1:

Screen Shot 2014-05-10 at 18.19.13.png

 

Now that is what is being *reported*. It might be that your driver is zero-padding the 16 bit program to fill the empty bits up to 24, and hence in practical terms still bit perfect. So is that what your are saying? For me I would prefer my program to be sent to the Hiface (and DAC) in its native bit-depth and sample rate, so for 16/44.1 program that would mean my DAC should get 16/44.1 data. Is my thinking wrong here?

Link to comment
I’m asking because BitPerfect report that 16/44.1 program is played at 24/44.1:

[ATTACH=CONFIG]12347[/ATTACH]

 

Now that is what is being *reported*. It might be that your driver is zero-padding the 16 bit program to fill the empty bits up to 24, and hence in practical terms still bit perfect. So is that what your are saying? For me I would prefer my program to be sent to the Hiface (and DAC) in its native bit-depth and sample rate, so for 16/44.1 program that would mean my DAC should get 16/44.1 data. Is my thinking wrong here?

 

The padding should be done automatically by the player or the player can decide what this the best algo to convert to 32 bit precision. Now I can talk with Marco about it, but expose 16 bit aligned right and send 0 the others 16 bit I don't really know if it is a good solution. I don't think that any driver that does not support natively 16bit expose 16bit to let happy the player

Link to comment
The padding should be done automatically by the player or the player can decide what this the best algo to convert to 32 bit precision. Now I can talk with Marco about it, but expose 16 bit aligned right and send 0 the others 16 bit I don't really know if it is a good solution. I don't think that any driver that does not support natively 16bit expose 16bit to let happy the player

 

For example linux expose all 32bit integer channel to all the frequency and let alsalib or player to do conversion

Link to comment
The padding should be done automatically by the player or the player can decide what this the best algo to convert to 32 bit precision. Now I can talk with Marco about it, but expose 16 bit aligned right and send 0 the others 16 bit I don't really know if it is a good solution. I don't think that any driver that does not support natively 16bit expose 16bit to let happy the player

 

The hardware needs to expose hw capability. Why I need to expose a no capability. If I declare to be a 24/32 bit player up layer will adapt the audio stream to my capability. I can't not expose another capability for let you to have the impression that you are always integer mode. BTW the name of the programs is not equal to integer mode (that is bit perfect)

Link to comment

panickingas:

The 1.2 driver works with no clipping thru iTunes playback anymore. I would say it is at least working at the same level as the W4S alternative we were using until last week.

 

Good job!

 

And while people at this forum are pushy and demanding (mostly because we have waited more than 6 months for this driver...sigh), please understand we all appreciate the effort from you and your colleagues who produce this driver, and we do understand it takes time to tune / fix / mature the driver to perfection.

 

Continue your good work! Cheers!

Link to comment
panickingas:

The 1.2 driver works with no clipping thru iTunes playback anymore. I would say it is at least working at the same level as the W4S alternative we were using until last week.

 

Good job!

 

And while people at this forum are pushy and demanding (mostly because we have waited more than 6 months for this driver...sigh), please understand we all appreciate the effort from you and your colleagues who produce this driver, and we do understand it takes time to tune / fix / mature the driver to perfection.

 

Continue your good work! Cheers!

 

The driver should work as a real driver so I suggest people to connect and disconnect cable during music playback or do strange things to understand if it's stable. This is most for Voughan users too and standby mode. Right now the laptop and the pc can suspend when it's playing musing but it's not perfect because we don't catch suspend event and stop music but as I see it's still possible to suspend with some noise at the end because the device doesn't receive the expected sample, this can be improved in a new release. What I would like to know is if you want to have this driver for all the version of OS even the old one.

Link to comment

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...