600D Audio Controls?

Started by testaevisual, June 17, 2012, 06:16:10 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

testaevisual

Hi,

First of all, thanks for such a wonderful addition to these cameras! Currently, my only major problem is I don't see 600D audio controls listed anywhwere on the planned or not possible features list, which gets me thinking... is this coming? I'm sure this would be a very welcome addition, and it sure would make life a lot easier for me and likely a lot of other t3i users. I am especially waiting out for audio monitoring through headphones.

I guess I am mainly hoping that the newer 650D or 5D mkIII has the same 'different' sound card the 600D has which the 550D and 60D didn't have, which should mean audio control development for the 600D is a lot easier.

Basically I'm asking if Audio Controls and monitoring on the 600D are possible and, if they are, when we can expect to see them. I am willing to offer my 600D for some user-end bug testing if need be.
My kit at this current moment: 60D, 600D, Tokina 11-16mm f/2.8, Sigma 30mm f/1.4 HSM, twin Audio-Technica ATR6550 shotgun mics, 3 Olympus lav mics, Behringer Xenyx 802 mixer + Audio technica studio headphones.

I find it's all I really need to make great videos, every time!

bart

Hi,

I have a 600d and like that as well. But the audio chip in the 600d is different from the others. It's model is unknown and undocumented as far as we know. We also hope to find out more through the 650D and 5DmkIII.

a1ex

We have understood what most audio registers do, but reconfiguring the chip seems a very difficult task. The only success was enabling audio remote shot, but it breaks video recording.

testaevisual

Ok... Thanks for the information update! Maybe the sound chip is unique to the 600D. Maybe something similar is present in models released after the 600D. Probably pretty hard to diagnose... Maybe it became the new canon standard.
My kit at this current moment: 60D, 600D, Tokina 11-16mm f/2.8, Sigma 30mm f/1.4 HSM, twin Audio-Technica ATR6550 shotgun mics, 3 Olympus lav mics, Behringer Xenyx 802 mixer + Audio technica studio headphones.

I find it's all I really need to make great videos, every time!

mexicodirk

 ;)
yes this its somefing wath i missin g on the 600d!
i hope in the future audio via hdmi or usb output recording!
i use a hdmi (lilliput) monitor with audio, only recording via hdmi no audio!

have fun

dirk
Canon EOS600D | Tokina SD 11-16 F2.8 (IF)DX | Nikkor 50mm 1.2 | SMC Pentax-M 2.8 28mm | EF 100-300mm 4.5-5.6 | EFS 18-55mm 3.5-5.6 IS | en construction CHRONOS 2

1%

What is holding back headphone? Registers are changed and chip does nothing? Any way to reset the audio chip... maybe it only  reads registers at start? It seems we have some control through the regular canon menus in manual... just I can't monitor and that makes audio REALLY useless.  Any way to  help on this? Log something... do tests, etc?

a1ex

You can play with them; scrax reported that registers were changed (new value could be read) but the audio meters stayed the same.

1%

Is there any framework to go by? I'm OK at modifying but writing fresh functions not so much. Can you send commands to change registers through the console?


1%

Ok, I looked at audio.c and .h

The addresses in the .h file don't correspond to what is in the wiki but audio meters do work so some must be the same.

I.e for TurnAVLineMuteOff=
0x5703                           0x2210

I do not see the 2210 address anywhere nor the function. In audio.c I only see it checking if the usb is detected and forcing display to stay on. I never found it sending ic_writes to anything.

I see it setting gain by sending write to AUDIO_IC_SIG2/1 but I'm not sure what is actually changing after data is read from addresses... I guess I can google that part and how to read/flip registers correctly but I'm still confused.


*I do see the regular flip a register function but not sure what to set the address to or do
msleep(0x1fe)
R0, R0, #0x6B00

funkysound

I´m using the 600d for most of my professional film work here in germany instead of the 5d mark2 which I use too from time to time. The quality of the pictures the 600d offers is far good enough for around 90% of all my filming situations.
The 600d is still much more flexible and faster with it´s great monitor - the 5d is only usable in studio situations or with much more afford like external monitors and so on. Very strange that canon still didn´t use this system for the mark3! Seems like it´s not professional to be flexible.
So the daily work goes on with my baby the 600d.

But the only problem ist still that I can´t hear and control what the audio side does. If you ever get this done ... Great, Great!!! ... and the 5d will always stay where it should be - in the studio.
Anyway, many thanks for what you did till now for all canon filmers and please don´t stop working on the 600d audio. I´m shure you´ll find a solution soon.
All the best!
EOS 600d, Tamron 17-50mm 2,8 with stab., Tamron 70-300mm, Canon 50mm 1:1,8, Sigma 10-20mm 4-5,6, Sigma 30mm 1,4,  EOS M with 18-55mm, 22mm and EF adapter, tons of more glases incl. FD/FL, EOS 70D, Canon 18-135mm STM

1%

I think the screen and the crop mode are good. 5d has full frame, more power and better HDMI output.

I wish I could find a solution soon but I'm a shitty programmer and alex has no 600D.

funkysound

I would wish that the ML community would support alex with one piece of every canon model - this would make things easier for him and help the whole canon filmer/user community.
Let´s see it this way - for example with a 600d:
If every 600d user who uses ML gives him 10 $ or € it needs only around 70 people to solve this problem. This could work for every model.
I would go with it immediately ...
So, is there anybody around who´s interested?
EOS 600d, Tamron 17-50mm 2,8 with stab., Tamron 70-300mm, Canon 50mm 1:1,8, Sigma 10-20mm 4-5,6, Sigma 30mm 1,4,  EOS M with 18-55mm, 22mm and EF adapter, tons of more glases incl. FD/FL, EOS 70D, Canon 18-135mm STM

nanomad

I also suggest
Quote from: funkysound on July 02, 2012, 11:18:39 AM
I would wish that the ML community would support alex with one piece of every canon model - this would make things easier for him and help the whole canon filmer/user community.
Let´s see it this way - for example with a 600d:
If every 600d user who uses ML gives him 10 $ or € it needs only around 70 people to solve this problem. This could work for every model.
I would go with it immediately ...
So, is there anybody around who´s interested?

The donation feature is in the works, don't worry  8)
EOS 1100D | EOS 650 (No, I didn't forget the D) | Ye Olde Canon EF Lenses ('87): 50 f/1.8 - 28 f/2.8 - 70-210 f/4 | EF-S 18-55 f/3.5-5.6 | Metz 36 AF-5

mexicodirk

 :) yes
i use the 600D and 10 or 15 Bux its  not a problem for this great work what you guys making!

in the Download Page you can Donate !
and i put something in!

Dirk

@ nanomad nice pice of Canon History you have ( EOS650 without D)
Canon EOS600D | Tokina SD 11-16 F2.8 (IF)DX | Nikkor 50mm 1.2 | SMC Pentax-M 2.8 28mm | EF 100-300mm 4.5-5.6 | EFS 18-55mm 3.5-5.6 IS | en construction CHRONOS 2

nanomad

Quote from: mexicodirk on July 03, 2012, 02:37:02 AM
@ nanomad nice pice of Canon History you have ( EOS650 without D)

It's a great piece of hardware. 24 years old and it still works like it was its first day. The same goes for the lenses (altough I had to clean the tele since it had dust in it)
EOS 1100D | EOS 650 (No, I didn't forget the D) | Ye Olde Canon EF Lenses ('87): 50 f/1.8 - 28 f/2.8 - 70-210 f/4 | EF-S 18-55 f/3.5-5.6 | Metz 36 AF-5

scrax

1%
For audio on 600D if have not changed it only enabled in TL you can have metering working at first start if you set the Output volume to 4 or 6 (I'm not sure if audio need to be on manual or in canon menu). After a movie record it will not work anymore.This can make sound trigger usable but only if movie mode is disabled or camera is restarted before using it (if you switch or star up in video mode it will not work anymore).
I'm using ML2.3 for photography with:
EOS 600DML | EOS 400Dplus | EOS 5D MLbeta5- EF 100mm f/2.8 USM Macro  - EF-S 17-85mm f4-5.6 IS USM - EF 70-200mm f/4 L USM - 580EXII - OsX, PS, LR, RawTherapee, LightZone -no video experience-

1%

When not recording I can only get the meters to come on for a second when first enabling audio and then they fall. Maybe one of the other settings is set? Or do you need headphone to be on too for output volume?

I've got a slightly better understanding on how this works after some research. I have the console going, just need to decrypt .fr so I can load it. Wonder if you could do a detailed cross analysis between all available firmware and if that would help any.

I want to try:
call("TurnAVLineMuteOff");

with don't click me button... maybe while recording and while not with headphone connected and on.. I think I have to disassemble FW and find entry address and put it in the stubs? I can't just call it without that, right?

****
I've tried setting

7e ->  04
7f  -> 04
(On is 07)
to turn off wind filter. register changes but setting doesn't... at least I'm starting to know what is what. I'll try to find record volume next.

1%

I played this function via audio writes and I can hear clicks then always a click when I start/stop recording.

On playback if I hit play fast enough after running the function I can hear audio from file in headphones.

TurnAVLineMuteOff=
0x5703   -< Disable Something else?                       
0x4903   -< This is disable amp?                         
0x4B00                           
0x3F33                         
0x2502                           
0x27A0
0x2126 -< I think this reboots IC.
msleep(0x1fe) <-  msleep(501ms)
0x4901 -< turn on audio amp
R0, R0, #0x6B00 -<< Send 10 to register ( off is 00)

When I play I think monitoring is on for few ms or completely but output is low or something is muting it?

Also when I run function I see audio meters fall while IC reboots and you can hear it in the video file on playback  [ now over headphones :) ]


a1ex

Here are my guesses from dumping the registers:

68,68, 6e, 6f: auto/manual?

7e/7f: 04 = WF off, 07 = WF on

audio gain:
32/33
38/39
6e/6f

68/69 agc


Some background: audio registers have two digits (let's say 0xAB).

To read a register: int value = audio_ic_read(0xAB00);
To write to a register: if value is 0x12, you call audio_ic_write(0xAB12).

1%

I was doing too much work naming the registers. Wonder what is resetting things after register is changed. Maybe some process controls audio and has to be shut off? Or specific order needs to be followed? I'll have to try more stuff.

Here are some of the guesses/logs from trying if you didn't see it before:

https://bitbucket.org/OtherOnePercent/tragic-lantern/changeset/810be8d0edb6#comments


Also, have to say many of the registers from 7k0r guide are the same or very similar.

Also i think setting 1 of the register pairs is enough... that seems to be what cannon fw does.

1%

I wish I could look for more but I can't decrypt the firmware ( no keys) and I don't know how the dumper works for 600D or if it works. Only other option is trial and error? How can I make reg dump in play mode? Set msleep to some number then go into play? I'll look at take SS in 10sec.


Lets Annotate the functions!
May not be 100%

DisableAudioIC
2100     - 00 Disabled 26 While Record - 06 Stop                       
0d00   - 0f while on


PowerMicAmp
230a     - 0A while recording 00 While stop input power?                       
2f02     - 00 Stopped 02 Recording Power Save?                       
SelectMic(0) ?
1512  - Always 12
1311  - 11 while recording 00 stop


UnpowerMicAmp
4903  - Mute/off amp 01 is on                           
1300  - rec switch off                           
2300  - Input power? off                           
SetFilterRecOff -?


TurnAVLineMuteOn()=
0x4903 - Mute/off amp 01 is on                 
0x693E - Vol Control Disable: 2c is enable

TurnAVLineMuteOff=
0x5703   - Disable Something sometimes 00                   
0x4903   - This is disable amp?                         
0x4B00   - fader? only see 00                       
0x3F33   - Unkn Alsways See 33                     
0x2502   - Dac power? See 02 and 00 Only                       
0x27A0   - Power Management? Set to 00 by mystery
0x2126 - I think this reboots IC.
msleep(0x1fe) -  msleep(501ms)
0x4901 - turn on audio amp
R0, R0, #0x6B00 - Send 10 to register ( off is 00)

Registers stay after reboot until something changes them.


UnpowerSpeakerForWAV()=
0x4903  - Disable Amp - common theme when changing settings         
0x2713  - Power MGMT? 00 or A0         
0x2700  - Same?         
ORR     R0, R0, #0x6B00 (wr) - Send 10 to register ( off is 00)   
0x5500 - Speaker amp out? Always see 00
0x3B1B - Speaker amp vol? see 1b always

PowerSpeakerForWAV=
0x5507 - Speaker amp out 07 on?   Maybe SPKR on/off                       
0x4903 - Disable amp                         
0x4B00 - Fader?                         
0x2713 - Power MGMT to 13                         
0x271F - New setting 1F?
0x4901 - Power AMP
ORR     R0, R0, #0x6B00 - Send 10 to reg

SetFilterPlayOff=
UnpowerSpeakerForWAV
TurnAVLineMuteOn
0x1300 - rec off
0x2106 - Audio IC to stop mode
msleep
0x2700 - Power MGMT?
0x5700 - Often see 03 while recording
0x2500 - dac power? see 03 and 00
0x6700 - Filters? See 0f or 00
0xAD00 - doc says eq? always see 00

SetFilterPlay=                   
0xADBD     - Here it is again with new setting.  Is this EQ on/off?                   
0x673F     - Filters to 3f?
0x7F00     - Disable wind screen/hpf why?
0x8175     - EQ? Normally 0d
0x832A     - EQ? Normally db
0x85A1     - EQ? Normally 0c
0x8795     - EQ? Normally 1b
0x896D     - EQ? Normally 6d
0x8B08     - EQ? Normally 08
0x8D16     - EQ? Normally 41
0x8FBD     - EQ? Normally ed
0x9146     -<
0x93EA These are 0 in other modes
0x959C
0x9724
0x996D
0x9B08
0x9DCA         
0x9FDB    -<
0xA100     >
0xA300 0 in other modes eq?
0xA500
0xA700     >
0x75D5     - Normally DD
0x77F4     - Normally DD
0x79F1     - Normally E7
0x7BF0     - Normally E7
0x7D00     - Normally E7
0xA95A     - Normally 00


Second Set filter play:

Are these 2 different modes?


0xAD85  - EQ to 85 now?
0x7F00  - Disable HPF/Wind we didn't set filters this time?
0x8300  - Normally DB
0x8500  - Normally 0C
0x8700  - Normally 1B
0x8900  - Normally 6D
0x8B00  - Normally 08
0x8D00  - Normally 41
0x8F00  - Normally ED
0x9100  - Second function Sets these to 0
0x9300
0x9500
0x9700
0x9900
0x9B00
0x9D00
0x9F00  < End
0xA100 - Zero these again
0xA300
0xA500
0xA700  < END
0x75E7 Now we set all these how they usually are.
0x77E7
0x79E7
0x7BE7
0x7DE7
0xA900


FF06A420 wav_volume_out_maybe=   
ORR     R0, R0, #0x3B00       Normally 1B so what is the flip?  Guide says speaker amp volume
ORR     R0, R5, #0x7100       Normally ff Guide says play digital volume





a1ex

No need to decrypt the firmware once you run ML - see the FAQ.

You can put the reg dump on "don't click me" and maybe you can use some delay. Or call fake_simple_button(BGMT_PLAY) to force playback mode after ML menu is closed.

1%


  • SetAudioVolumeOut
    InitializeAudioIC
    DisableAudioIC
    StartPlayWaveData (beep)
    StopPlayWaveData
    DumpAudioIcRegister
    SendDataForAudioIC
    ReceiveDataForAudioIC

One of those might be what is flipping/ignoring registers? Or you need to unpower amp to switch wind screen?

No way to send audio writes real time so I don't have to recompile and run every time? SD reader is on my render box and compiling machine is an extra laptop with no slot.

a1ex

You can use PTP for that: http://magiclantern.wikia.com/wiki/PTP-CHDK

But I think you need some custom handlers.