{"id":1084,"date":"2017-09-18T13:57:43","date_gmt":"2017-09-18T11:57:43","guid":{"rendered":"http:\/\/www.fabienm.eu\/wordpress\/?p=1084"},"modified":"2017-09-30T11:10:15","modified_gmt":"2017-09-30T09:10:15","slug":"analog-input-with-usb-soundcard-on-linux-part1","status":"publish","type":"post","link":"https:\/\/www.fabienm.eu\/wordpress\/2017\/09\/18\/analog-input-with-usb-soundcard-on-linux-part1\/","title":{"rendered":"Analog input with usb soundcard on Linux [Part1]"},"content":{"rendered":"<p>I recently bought a current sensor to measure my electric house consumption. <a href=\"https:\/\/www.amazon.fr\/gp\/product\/B01M0QUPBA\/ref=oh_aui_detailpage_o00_s00?ie=UTF8&amp;psc=1\">This sensor <\/a>as a 1 volt amplitude output signal that can be captured by a simple sound input.<\/p>\n<div id=\"attachment_1092\" style=\"width: 810px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-1092\" class=\"wp-image-1092 size-full\" src=\"http:\/\/www.fabienm.eu\/wordpress\/wp-content\/uploads\/2017\/09\/toaster_700W.png\" alt=\"\" width=\"800\" height=\"625\" srcset=\"https:\/\/www.fabienm.eu\/wordpress\/wp-content\/uploads\/2017\/09\/toaster_700W.png 800w, https:\/\/www.fabienm.eu\/wordpress\/wp-content\/uploads\/2017\/09\/toaster_700W-300x234.png 300w, https:\/\/www.fabienm.eu\/wordpress\/wp-content\/uploads\/2017\/09\/toaster_700W-768x600.png 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><p id=\"caption-attachment-1092\" class=\"wp-caption-text\">Current curve on my kettle consumption captured by the sensor. Using a 10k resistor on output<\/p><\/div>\n<p>I don&rsquo;t have microphone input on my raspberry pi 3. Then to use my sensor I had to buy an <a href=\"https:\/\/www.rueducommerce.fr\/produit\/cabling-carte-son-externe-en-cle-usb-2-0-27397280#moid:MO-AABE2M66728060\">USB soundcard<\/a> on the internet.<\/p>\n<p>On my laptop (debian stretch), the usb-key is correctly seen as a sound-card :<\/p>\n<pre>$ sudo dmesg\r\n[ 9474.556786] usb 1-1.2: new full-speed USB device number 5 using ehci-pci\r\n[ 9474.668021] usb 1-1.2: New USB device found, idVendor=8086, idProduct=0808\r\n[ 9474.668026] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0\r\n[ 9474.668028] usb 1-1.2: Product: USB PnP Sound Device\r\n[ 9474.668029] usb 1-1.2: Manufacturer: C-Media Electronics Inc.\r\n[ 9474.758118] hidraw: raw HID events driver (C) Jiri Kosina\r\n[ 9474.767742] usbcore: registered new interface driver snd-usb-audio\r\n[ 9474.771791] usbcore: registered new interface driver usbhid\r\n[ 9474.771793] usbhid: USB HID core driver\r\n[ 9474.778747] input: C-Media Electronics Inc. USB PnP Sound Device as \/devices\/pci0000:00\/0000:00:1a.0\/usb1\/1-1\/1-1.2\/1-1.2:1.3\/0003:8086:0808.0001\/input\/input19\r\n[ 9474.837031] hid-generic 0003:8086:0808.0001: input,hidraw0: USB HID v1.00 Device [C-Media Electronics Inc. USB PnP Sound Device] on usb-0000:00:1a.0-1.2\/input3\r\n<\/pre>\n<p>And works same on raspberrypi3 (with raspbian) :<\/p>\n<pre>[171165.501265] usb 1-1.2: new full-speed USB device number 4 using dwc_otg\r\n[171165.609589] usb 1-1.2: New USB device found, idVendor=8086, idProduct=0808\r\n[171165.609608] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0\r\n[171165.609621] usb 1-1.2: Product: USB PnP Sound Device\r\n[171165.609634] usb 1-1.2: Manufacturer: C-Media Electronics Inc.      \r\n[171165.618168] input: C-Media Electronics Inc.       USB PnP Sound Device as \/devices\/platform\/soc\/3f980000.usb\/usb1\/1-1\/1-1.2\/1-1.2:1.3\/0003:8086:0808.0001\/input\/input0\r\n[171165.671634] hid-generic 0003:8086:0808.0001: input,hidraw0: USB HID v1.00 Device [C-Media Electronics Inc.       USB PnP Sound Device] on usb-3f980000.usb-1.2\/input3\r\n[171165.766026] usbcore: registered new interface driver snd-usb-audio\r\n<\/pre>\n<p>And seems to be <a href=\"http:\/\/xmodulo.com\/how-to-capture-microphone-input-to-wav-format-file.html\">correctly recognized by arecord<\/a> on raspberrypi3 :<\/p>\n<pre>pi@raspberrypi:~ $ arecord -l\r\n**** List of CAPTURE Hardware Devices ****\r\ncard 1: Device [USB PnP Sound Device], device 0: USB Audio [USB Audio]\r\n  Subdevices: 1\/1\r\n  Subdevice #0: subdevice #0\r\n<\/pre>\n<p>And on my laptop !<\/p>\n<pre>$ arecord -l\r\n**** List of CAPTURE Hardware Devices ****\r\ncard 0: PCH [HDA Intel PCH], device 0: ALC3202 Analog [ALC3202 Analog]\r\n  Subdevices: 0\/1\r\n  Subdevice #0: subdevice #0\r\ncard 1: Device [USB PnP Sound Device], device 0: USB Audio [USB Audio]\r\n  Subdevices: 0\/1\r\n  Subdevice #0: subdevice #0\r\n<\/pre>\n<p>With -L option :<\/p>\n<pre>$ arecord -L\r\ndefault\r\n    Playback\/recording through the PulseAudio sound server\r\nnull\r\n    Discard all samples (playback) or generate zero samples (capture)\r\nsysdefault:CARD=PCH\r\n    HDA Intel PCH, ALC3202 Analog\r\n    Default Audio Device\r\nfront:CARD=PCH,DEV=0\r\n    HDA Intel PCH, ALC3202 Analog\r\n    Front speakers\r\ndmix:CARD=PCH,DEV=0\r\n    HDA Intel PCH, ALC3202 Analog\r\n    Direct sample mixing device\r\ndsnoop:CARD=PCH,DEV=0\r\n    HDA Intel PCH, ALC3202 Analog\r\n    Direct sample snooping device\r\nhw:CARD=PCH,DEV=0\r\n    HDA Intel PCH, ALC3202 Analog\r\n    Direct hardware device without any conversions\r\nplughw:CARD=PCH,DEV=0\r\n    HDA Intel PCH, ALC3202 Analog\r\n    Hardware device with all software conversions\r\nsysdefault:CARD=Device\r\n    USB PnP Sound Device, USB Audio\r\n    Default Audio Device\r\nfront:CARD=Device,DEV=0\r\n    USB PnP Sound Device, USB Audio\r\n    Front speakers\r\nsurround21:CARD=Device,DEV=0\r\n    USB PnP Sound Device, USB Audio\r\n    2.1 Surround output to Front and Subwoofer speakers\r\nsurround40:CARD=Device,DEV=0\r\n    USB PnP Sound Device, USB Audio\r\n    4.0 Surround output to Front and Rear speakers\r\nsurround41:CARD=Device,DEV=0\r\n    USB PnP Sound Device, USB Audio\r\n    4.1 Surround output to Front, Rear and Subwoofer speakers\r\nsurround50:CARD=Device,DEV=0\r\n    USB PnP Sound Device, USB Audio\r\n    5.0 Surround output to Front, Center and Rear speakers\r\nsurround51:CARD=Device,DEV=0\r\n    USB PnP Sound Device, USB Audio\r\n    5.1 Surround output to Front, Center, Rear and Subwoofer speakers\r\nsurround71:CARD=Device,DEV=0\r\n    USB PnP Sound Device, USB Audio\r\n    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers\r\niec958:CARD=Device,DEV=0\r\n    USB PnP Sound Device, USB Audio\r\n    IEC958 (S\/PDIF) Digital Audio Output\r\ndmix:CARD=Device,DEV=0\r\n    USB PnP Sound Device, USB Audio\r\n    Direct sample mixing device\r\ndsnoop:CARD=Device,DEV=0\r\n    USB PnP Sound Device, USB Audio\r\n    Direct sample snooping device\r\nhw:CARD=Device,DEV=0\r\n    USB PnP Sound Device, USB Audio\r\n    Direct hardware device without any conversions\r\nplughw:CARD=Device,DEV=0\r\n    USB PnP Sound Device, USB Audio\r\n    Hardware device with all software conversions\r\n\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>To test it on my laptop I hacked an extension cord to have a wire loop and grip the current sensor. I then plugged a kettle on it to capture the electric current signal.<\/p>\n<div id=\"attachment_1088\" style=\"width: 810px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-1088\" class=\"size-full wp-image-1088\" src=\"http:\/\/www.fabienm.eu\/wordpress\/wp-content\/uploads\/2017\/09\/P1010696.jpg\" alt=\"\" width=\"800\" height=\"600\" srcset=\"https:\/\/www.fabienm.eu\/wordpress\/wp-content\/uploads\/2017\/09\/P1010696.jpg 800w, https:\/\/www.fabienm.eu\/wordpress\/wp-content\/uploads\/2017\/09\/P1010696-300x225.jpg 300w, https:\/\/www.fabienm.eu\/wordpress\/wp-content\/uploads\/2017\/09\/P1010696-768x576.jpg 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><p id=\"caption-attachment-1088\" class=\"wp-caption-text\">current loop measurement<\/p><\/div>\n<p>Then I made measurement with arecord :<\/p>\n<pre>$ arecord -d 10 -f cd -D plughw:1 -t wav foobar.wav\r\nRecording WAVE 'foobar.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo\r\n<\/pre>\n<p>And eared the sound of my boiling water with play :<\/p>\n<pre>[16:51:57]fabien@martonilp:~\r\n$ play foobar.wav\r\n\r\nfoobar.wav:\r\n\r\nFile Size: 1.76M Bit Rate: 1.41M\r\nEncoding: Signed PCM\r\nChannels: 2 @ 16-bit\r\nSamplerate: 44100Hz\r\nReplaygain: off\r\nDuration: 00:00:10.00\r\n\r\nIn:100% 00:00:10.00 [00:00:00.00] Out:441k [!=====|=====!] Hd:0.0 Clip:0\r\nDone.\r\n<\/pre>\n<p>Then I\u00a0can ear the sound of current boiling water :<\/p>\n<!--[if lt IE 9]><script>document.createElement('audio');<\/script><![endif]-->\n<audio class=\"wp-audio-shortcode\" id=\"audio-1084-1\" preload=\"none\" style=\"width: 100%;\" controls=\"controls\"><source type=\"audio\/wav\" src=\"http:\/\/www.fabienm.eu\/wordpress\/wp-content\/uploads\/2017\/09\/Mesure_bouilloire_1100W.wav?_=1\" \/><a href=\"http:\/\/www.fabienm.eu\/wordpress\/wp-content\/uploads\/2017\/09\/Mesure_bouilloire_1100W.wav\">http:\/\/www.fabienm.eu\/wordpress\/wp-content\/uploads\/2017\/09\/Mesure_bouilloire_1100W.wav<\/a><\/audio>\n<p>&nbsp;<\/p>\n<p><a href=\"http:\/\/www.fabienm.eu\/wordpress\/?p=1097\">In futur article<\/a> we will see how to calculate the current consumption of my kettle from this wave files.<\/p>\n<p>References:<\/p>\n<ul>\n<li><a href=\"http:\/\/www.yhdc.us\/ENpdf\/SCT013-030-0-30A-0-1V_en.pdf\">SCT-013 30<\/a> : current sensor datasheet (pdf)<\/li>\n<li><a href=\"http:\/\/www.hobby-hour.com\/electronics\/computer_microphone.php\">Computer input microphone sound card.<\/a><\/li>\n<\/ul>\n<p><a href=\"http:\/\/www.fabienm.eu\/wordpress\/?p=1097\">[Next &gt;&gt; Part2]<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I recently bought a current sensor to measure my electric house consumption. This sensor as a 1 volt amplitude output signal that can be captured by a simple sound input. I don&rsquo;t have microphone input on my raspberry pi 3. &hellip; <a href=\"https:\/\/www.fabienm.eu\/wordpress\/2017\/09\/18\/analog-input-with-usb-soundcard-on-linux-part1\/\">Continuer la lecture <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[106,10],"tags":[178,166,176,83,175,174,19,177,173],"class_list":["post-1084","post","type-post","status-publish","format-standard","hentry","category-embarque","category-informatique","tag-carte-son","tag-consommation","tag-courant","tag-electricite","tag-electronique","tag-embarque","tag-linux","tag-oscilloscope","tag-raspberrypi"],"_links":{"self":[{"href":"https:\/\/www.fabienm.eu\/wordpress\/wp-json\/wp\/v2\/posts\/1084","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fabienm.eu\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fabienm.eu\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fabienm.eu\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fabienm.eu\/wordpress\/wp-json\/wp\/v2\/comments?post=1084"}],"version-history":[{"count":11,"href":"https:\/\/www.fabienm.eu\/wordpress\/wp-json\/wp\/v2\/posts\/1084\/revisions"}],"predecessor-version":[{"id":1120,"href":"https:\/\/www.fabienm.eu\/wordpress\/wp-json\/wp\/v2\/posts\/1084\/revisions\/1120"}],"wp:attachment":[{"href":"https:\/\/www.fabienm.eu\/wordpress\/wp-json\/wp\/v2\/media?parent=1084"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fabienm.eu\/wordpress\/wp-json\/wp\/v2\/categories?post=1084"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fabienm.eu\/wordpress\/wp-json\/wp\/v2\/tags?post=1084"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}