Coder Social home page Coder Social logo

4mics_hat's People

Contributors

aiwintermuteai avatar jerryyip avatar killingjacky avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

4mics_hat's Issues

Unable to get Status COde 204

I followed the sets of commands given in following article
http://wiki.seeed.cc/ReSpeaker_4_Mic_Array_for_Raspberry_Pi/

But after being done with the commands. No Status code 204 is received after running
"python ns_kws_doa_alexa_with_light.py"

Please help me to find the issue.

Following is the log file.........

ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.front
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround21
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround21
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround40
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround41
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround50
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround51
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround71
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.iec958
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.iec958
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.iec958
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib confmisc.c:1281:(snd_func_refer) Unable to find definition 'defaults.bluealsa.device'
ALSA lib conf.c:4528:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:4996:(snd_config_expand) Args evaluate error: No such file or directory
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM bluealsa
ALSA lib confmisc.c:1281:(snd_func_refer) Unable to find definition 'defaults.bluealsa.device'
ALSA lib conf.c:4528:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:4996:(snd_config_expand) Args evaluate error: No such file or directory
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM bluealsa
ALSA lib pcm_dmix.c:990:(snd_pcm_dmix_open) The dmix plugin supports only playback stream
ALSA lib pcm_dmix.c:990:(snd_pcm_dmix_open) The dmix plugin supports only playback stream
ALSA lib pcm_ac108.c:469:(_snd_pcm_ac108_open) a108 is only for capture
connect(2) call to /tmp/jack-1000/default/jack_0 failed (err=No such file or directory)
attempt to connect to server failed
INFO:/home/pi/env/local/lib/python2.7/site-packages/voice_engine-0.0.3-py2.7.egg/voice_engine/source.pyc:0:bcm2835 ALSA: - (hw:0,0) with 0 input channels
INFO:/home/pi/env/local/lib/python2.7/site-packages/voice_engine-0.0.3-py2.7.egg/voice_engine/source.pyc:1:bcm2835 ALSA: IEC958/HDMI (hw:0,1) with 0 input channels
INFO:/home/pi/env/local/lib/python2.7/site-packages/voice_engine-0.0.3-py2.7.egg/voice_engine/source.pyc:2:seeed-4mic-voicecard: - (hw:1,0) with 2 input channels
INFO:/home/pi/env/local/lib/python2.7/site-packages/voice_engine-0.0.3-py2.7.egg/voice_engine/source.pyc:3:sysdefault with 0 input channels
INFO:/home/pi/env/local/lib/python2.7/site-packages/voice_engine-0.0.3-py2.7.egg/voice_engine/source.pyc:4:playback with 0 input channels
INFO:/home/pi/env/local/lib/python2.7/site-packages/voice_engine-0.0.3-py2.7.egg/voice_engine/source.pyc:5:dmixed with 0 input channels
INFO:/home/pi/env/local/lib/python2.7/site-packages/voice_engine-0.0.3-py2.7.egg/voice_engine/source.pyc:6:ac108 with 4 input channels
INFO:/home/pi/env/local/lib/python2.7/site-packages/voice_engine-0.0.3-py2.7.egg/voice_engine/source.pyc:Use ac108
INFO:avs.alexa:Refreshing access_token
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): api.amazon.com
DEBUG:urllib3.connectionpool:https://api.amazon.com:443 "POST /auth/o2/token HTTP/1.1" 200 977
DEBUG:avs.alexa:{
"product_id": "ReSpeaker",
"access_token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"refresh_url": "https://api.amazon.com/auth/o2/token",
"expiry": "Thu Dec 07 12:49:45 2017",
"api": "v20160207",
"client_id": "amzn1.application-oa2-client.xxxxxxxxxxxxxxxxxxxxxxxxxx",
"host_url": "avs-alexa-na.amazon.com",
"client_secret": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"refresh_token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}
DEBUG:hyper.http20.connection:Selected NPN protocol: h2
DEBUG:hyper.http20.connection:recv for stream 0 with set([]) already present
INFO:hyper.http20.connection:Received unhandled event <RemoteSettingsChanged changed_settings:{ChangedSetting(setting=SettingCodes.MAX_CONCURRENT_STREAMS, original_value=None, new_value=100), ChangedSetting(setting=SettingCodes.INITIAL_WINDOW_SIZE, original_value=65535, new_value=2147483647), ChangedSetting(setting=SettingCodes.max_header_list_size, original_value=None, new_value=40960)}>
INFO:hyper.http20.connection:Received unhandled event <WindowUpdated stream_id:0, delta:2147418112>
DEBUG:hpack.hpack:HPACK encoding <generator object inner at 0x73e4ac88>
DEBUG:hpack.hpack:Adding (':method', 'GET') to the header table
ALSA lib pcm.c:8306:(snd_pcm_recover) overrun occurred
DEBUG:hpack.hpack:Encoding 2 with 7 bits
DEBUG:hpack.hpack:Adding (':scheme', 'https') to the header table
DEBUG:hpack.hpack:Encoding 7 with 7 bits
DEBUG:hpack.hpack:Adding (':authority', 'avs-alexa-na.amazon.com') to the header table
DEBUG:hpack.hpack:Encoding 1 with 6 bits
DEBUG:hpack.hpack:Encoding 17 with 7 bits
DEBUG:hpack.hpack:Adding (':path', '/v20160207/directives') to the header table
DEBUG:hpack.hpack:Encoding 4 with 6 bits
DEBUG:hpack.hpack:Encoding 15 with 7 bits
DEBUG:hpack.hpack:Adding ('authorization', 'Bearer xxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx') to the header table
DEBUG:hpack.hpack:Encoding 23 with 4 bits
DEBUG:hpack.hpack:Encoding 474 with 7 bits
DEBUG:hpack.hpack:Encoded header block to ��A��t,:
�kT5�H����z�D��� :Ć��I�������Q�[��>��2x�w&Z��RpŲ�d����gl2{�����(���{6���Vtلz����U������ii̋%�I�ʍ���q��{/���إg6�l����~���1�k�����������͎Д�?W������&�ut{�5�
�O��n��o�f�sg)|���g纟ވl�;4���tMژ�F�y��E�s�ڰ����˶O�:ͨ�|���^�mr^"�
Y����lכVP6���ǫ$��-��p�O#~�߽�������[����zeoe����������ѥ�)ܣ�����+����W�o��ڒ���vJ{���}E�??�1X�+vF�<�,�ͺb� �;gf��ӣV����;�;����g��çk �)EӮH�����O>|;��T��E�0mK;,)�{A�U���߿Q�FyÛoK�۵���;��e����P�WNhݮ�f DEBUG:hyper.http20.connection:recv for stream 1 with set([]) already present INFO:hyper.http20.connection:Received unhandled event <SettingsAcknowledged changed_settings:{ChangedSetting(setting=SettingCodes.ENABLE_PUSH, original_value=1, new_value=0)}> INFO:hyper.http20.connection:Received unhandled event <SettingsAcknowledged changed_settings:{}> DEBUG:hyper.http20.connection:recv for stream 1 with set([]) already present DEBUG:hpack.hpack:Decoding �T�*@�����R����BM'���tOK,�fBH�K�DrE�����.1���"��k9#/F%��H�mR�P,��,��$��Q>�,��� A�ǩ=
DEBUG:hpack.hpack:Decoded 8, consumed 1 bytes DEBUG:hpack.hpack:Decoded (':status', '200'), consumed 1 DEBUG:hpack.hpack:Decoded 20, consumed 1 bytes DEBUG:hpack.hpack:Decoded 1, consumed 1 bytes DEBUG:hpack.hpack:Decoded ('access-control-allow-origin', <memory at 0x73eb4f80>), total consumed 3 bytes, indexed True DEBUG:hpack.hpack:Decoded 12, consumed 1 bytes DEBUG:hpack.hpack:Decoded 44, consumed 1 bytes DEBUG:hpack.hpack:Decoded ('x-amzn-requestid', '06c728fffe3dcd94-00004c6d-0000c350-3d16aba23a82e67b-6d39ad0b-1'), total consumed 59 bytes, indexed True DEBUG:hpack.hpack:Decoded 31, consumed 1 bytes DEBUG:hpack.hpack:Decoded 47, consumed 1 bytes DEBUG:hpack.hpack:Decoded ('content-type', 'multipart/related; boundary=------abcde123; type=application/json'), total consumed 49 bytes, indexed True INFO:hyper.http20.connection:Received unhandled event <PriorityUpdated stream_id:1, weight:16, depends_on:0, exclusive:False> DEBUG:hpack.hpack:HPACK encoding <generator object inner at 0x73e5c210> DEBUG:hpack.hpack:Adding (':method', 'POST') to the header table DEBUG:hpack.hpack:Encoding 3 with 7 bits DEBUG:hpack.hpack:Adding (':scheme', 'https') to the header table DEBUG:hpack.hpack:Encoding 7 with 7 bits DEBUG:hpack.hpack:Adding (':authority', 'avs-alexa-na.amazon.com') to the header table DEBUG:hpack.hpack:Encoding 63 with 7 bits DEBUG:hpack.hpack:Adding (':path', '/v20160207/events') to the header table DEBUG:hpack.hpack:Encoding 4 with 6 bits DEBUG:hpack.hpack:Encoding 12 with 7 bits DEBUG:hpack.hpack:Adding ('content-type', 'multipart/form-data; boundary=seeed-voice-engine') to the header table DEBUG:hpack.hpack:Encoding 31 with 6 bits DEBUG:hpack.hpack:Encoding 34 with 7 bits DEBUG:hpack.hpack:Adding ('authorization', 'Bearer xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx') to the header table DEBUG:hpack.hpack:Encoding 23 with 4 bits DEBUG:hpack.hpack:Encoding 474 with 7 bits DEBUG:hpack.hpack:Encoded header block to ���D�c��� :�{���_����j�bX��R��H�Ԍ�� ��� Rȷs��X�Lj�����Q�[��>��2x�w&Z��RpŲ�d����gl2{�����(���{6���Vtلz����U������ii̋%�I�ʍ���q��{/���إg6�l����~���1�k�����������͎Д�?W������&�ut{�5� �O��n��o�f�sg)|���g纟ވl�;4���tMژ�F�y��E�s�ڰ����˶O�:ͨ�|���^�mr^"���u���������6 Y����lכVP6���ǫ$��-��p�O#~�߽�������[����zeoe����������ѥ�)ܣ�����+����W�o��ڒ���vJ{���}E�??�1X�+vF�<�,�ͺb� �;gf��ӣV����;�;����g��çk �)EӮH�����O>|;��T��E�0mK;,)�{A�U���߿Q�FyÛoK�۵���;��e����P�WNhݮ�f
DEBUG:avs.alexa:metadata: {
"event": {
"header": {
"namespace": "System",
"name": "SynchronizeState",
"messageId": "65a2d68cece747bd8b4f0fa40936e073"
},
"payload": {}
},
"context": [
{
"header": {
"namespace": "SpeechSynthesizer",
"name": "SpeechState"
},
"payload": {
"token": "",
"playerActivity": "FINISHED",
"offsetInMilliseconds": 0
}
},
{
"header": {
"namespace": "Speaker",
"name": "VolumeState"
},
"payload": {
"volume": 50,
"muted": false
}
},
{
"header": {
"namespace": "AudioPlayer",
"name": "PlaybackState"
},
"payload": {
"token": "",
"playerActivity": "IDLE",
"offsetInMilliseconds": 0
}
},
{
"header": {
"namespace": "Alerts",
"name": "AlertsState"
},
"payload": {
"allAlerts": [],
"activeAlerts": []
}
}
]
}
INFO:avs.alexa:wait for response
DEBUG:hyper.http20.connection:recv for stream 3 with set([1]) already present
%��3�T���ck.hpack:Decoding ������tOK,�fBH�K�DrE�����.1���"��k9#/F�?_Ħ��j�bX��
&=LtA��� ,��,8�!B&~Бؘ)*G �5��D��p/��}��e���u�b
DEBUG:hpack.hpack:Decoded 8, consumed 1 bytes
DEBUG:hpack.hpack:Decoded (':status', '200'), consumed 1
DEBUG:hpack.hpack:Decoded 64, consumed 1 bytes
DEBUG:hpack.hpack:Decoded ('access-control-allow-origin', <memory at 0x73eb4f80>), consumed 1
DEBUG:hpack.hpack:Decoded 63, consumed 2 bytes
DEBUG:hpack.hpack:Decoded 44, consumed 1 bytes
DEBUG:hpack.hpack:Decoded ('x-amzn-requestid', '06c728fffe3dcd94-00004c6d-0000c350-3d16aba23a82e67b-6d39ad0b-3'), total consumed 47 bytes, indexed True
DEBUG:hpack.hpack:Decoded 31, consumed 1 bytes
DEBUG:hpack.hpack:Decoded 68, consumed 1 bytes
DEBUG:hpack.hpack:Decoded ('content-type', 'multipart/related;boundary=------abcde123;start=metadata.1512627619030;type="application/json"'), total consumed 70 bytes, indexed True
INFO:hyper.http20.connection:Received unhandled event <PriorityUpdated stream_id:3, weight:16, depends_on:0, exclusive:False>
INFO:avs.alexa:status code: 200
INFO:avs.alexa:Found 176 bytes of None application/json, first_payload_block=True
INFO:avs.alexa:Finished downloading JSON
DEBUG:avs.alexa:{u'directive': {u'header': {u'namespace': u'System', u'name': u'SetEndpoint', u'messageId': u'cc59261c-59ef-4629-8650-2816e28a37f7'}, u'payload': {u'endpoint': u'https://avs-alexa-eu.amazon.com'}}}
DEBUG:avs.alexa:{
"header": {
"namespace": "System",
"name": "SetEndpoint",
"messageId": "cc59261c-59ef-4629-8650-2816e28a37f7"
},
"payload": {
"endpoint": "https://avs-alexa-eu.amazon.com"
}
}
DEBUG:avs.alexa:ping at Thu Dec 07 11:53:48 2017
INFO:hyper.http20.connection:Received unhandled event
DEBUG:avs.alexa:ping at Thu Dec 07 11:57:48 2017
DEBUG:avs.alexa:ping at Thu Dec 07 12:01:49 2017

raspberry pi stuck when recored

I installed all the drivers properly. When I use the audcity software to record or when I try to run the sample file of the recording in Python, the Raspberry just stops working. After that, I restart the raspberry and the driver as if it was destroyed. The microphones do not work and are not visible in the arecord -L command. To fix this I have to reinstall the driver.
After reinstalling everything, the microphones are visible to the Raspberry again, but still if you record everything, the Raspberry doesn't work and the driver is destroyed.

also the conection cable of the linear 4hat-mic is really gentle and breaks easy.

Using lights with google assistant

Hi,

I'd like to use the lights in conjunction with the google assistant. Could you point me in the right direction for that? I noticed in your instructions you have the following:

python google_assistant.py

but I don't see that script in the repository.

Nodejs Sample for Controlling Apa102

I have tried nearly every library that exists regarding SPI and Apa102 for nodejs however they don't seem to produce any results, whereas the python script lights up flawlessly. I can see that the python code supplied connects to device 1 on bus 0. So I assume the device is /dev/spidev0.1.

The clock speed seems to not be a power of 2 from the code supplied, not sure if py-spidev provides defaults i cannot see.

hooloovoo seemed like the cleanest api, but didn't provide a way to set the device, which i believe is an issue with it's dependency on node-rpio.

Currently attempting to use pi-spi with something like dotstar

Any chance you can provide documentation, or at least point me in the right direction to control the LEDs via nodejs.

Can not work in docker container

When I ran the scripts pixels in docker container, it just has error like the following.

 File "/usr/local/src/test/mics_hat/interfaces/pixels.py", line 74, in <module>
    pixels = Pixels()
  File "/usr/local/src/test/mics_hat/interfaces/pixels.py", line 21, in __init__
    self.dev = apa102.APA102(num_led=self.PIXELS_N)
  File "/usr/local/src/test/mics_hat/interfaces/apa102.py", line 90, in __init__
    self.spi.open(bus, device)  # Open SPI port 0, slave device (CS) 1
FileNotFoundError: [Errno 2] No such file or directory

I am not familiar with the spidev, and not sure if linking the relevant device, when I ran the container, could fixed this error, like (docker run --device $path1:$path2 -it $image_id /bin/bash)

If I am right, could you please help me find the path of the device.
if I am wrong, could you please help me out with it.

kws_doa.py: cannot import name 'snowboydetect'

I copied the snowboy directory from the mic_array project and followed the build instructions - I'm still getting the following error:

(env) pi@raspberrypi:~/4mics_hat $ python kws_doa.py 
Traceback (most recent call last):
  File "kws_doa.py", line 13, in <module>
    from voice_engine.kws import KWS
  File "/home/pi/env/lib/python3.5/site-packages/voice_engine/kws.py", line 5, in <module>
    from .kws_snowboy import KWS
  File "/home/pi/env/lib/python3.5/site-packages/voice_engine/kws_snowboy.py", line 14, in <module>
    from snowboy import snowboydetect
ImportError: cannot import name 'snowboydetect'

I have the following bits in the 4mics_hat folder (went ahead and created a camel-case symlink just in case):

drwxr-xr-x  8 pi pi    4096 Oct 13 01:54 snowboy
-rw-r--r--  1 pi pi 2629458 Oct 13 01:00 snowboy-1.2.0b1-py2-none-any.whl
lrwxrwxrwx  1 pi pi      19 Oct 13 01:55 snowboydetect -> snowboy/swig/Python
lrwxrwxrwx  1 pi pi      19 Oct 13 02:04 SnowboyDetect -> snowboy/swig/Python
-rw-r--r--  1 pi pi 2267666 Oct 13 01:00 webrtc_audio_processing-0.0.1-cp27-cp27mu-linux_armv7l.whl

Have the following in snowboy/swig/Python:

(env) pi@raspberrypi:~/4mics_hat $ ls -al snowboy/swig/Python
total 1480
drwxr-xr-x 2 pi pi    4096 Oct 13 01:56 .
drwxr-xr-x 9 pi pi    4096 Oct 13 01:54 ..
-rw-r--r-- 1 pi pi      28 Oct 13 01:56 __init__.py
-rw-r--r-- 1 pi pi    2505 Oct 13 01:54 Makefile
-rw-r--r-- 1 pi pi    4857 Oct 13 01:54 snowboydetect.py
-rwxr-xr-x 1 pi pi 1048736 Oct 13 01:54 _snowboydetect.so
-rw-r--r-- 1 pi pi  157660 Oct 13 01:54 snowboy-detect-swig.cc
-rw-r--r-- 1 pi pi     525 Oct 13 01:54 snowboy-detect-swig.i
-rw-r--r-- 1 pi pi  273612 Oct 13 01:54 snowboy-detect-swig.o

Still a bit of a python n00b - What am I missing?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.