聲音採集播放以及I2S介面
電路圖如下
我們晶片裡面有個模組,通過I2S介面,接到我們音訊晶片,但是這個介面只傳輸聲音資料
但是我們用音效卡除了聲音之外,我們還可以調整音量,還可以設定左聲道,右聲道等等這些資訊,那麼控制資訊由誰來做呢
應該還得有其他引腳來傳遞其他控制資訊,比如調音量等等
聲音採集
聲音有大有小
我們在某個點上記錄,固定的時間來採集,所謂採集就是將聲音訊號轉換為電訊號,點越密聲音就越逼真 這就叫採集頻率
一般是8K-96K 96K的時候聲音已經很飽滿了,失真率我們耳朵已經分辨不出來了
最低的話不能低於8k,不然人聽起來效果很差
取樣頻率是指:一秒採集聲音多少次,注意我們有左聲道和右聲道
所謂採集就是ADC轉換,就是模擬訊號轉換為數字訊號存下來
採集是AD轉換,那麼有精度,精度是多少 有16位 24位 等等,位數越高聲音越精細
上面講了採集,那麼播放呢
就是DA轉換,
I2S介紹
I2S就是一種硬體介面,用來傳輸聲音資料。
我們來看看這個時序圖,有個LRCLK,你不是用來傳資料嗎,到底是傳的是左聲道的資料還是右聲道的資料,用誰來表示,用LRCLK來表示
當LRCLK是低電平的時候表示左聲道,高電平的時候是右聲道的資料
我們在說取樣的時候,每一個點要把模擬訊號轉換為數字訊號,這數字訊號可能有好多位,我怎麼傳輸呢?
顯然有個SCLK位時鐘。
CDCLK是系統時鐘,我們這個晶片也得工作一個頻率下,是我們s5p210提供給晶片工作的。
我們可以設定I2S控制器,讓它輸出三種格式的資料 一種I2S格式 一種MSB格式 一種LSB格式
我們看看這三種格式有什麼區別
I2S格式是過了一個時鐘之後才傳出第一位資料,而MSB是即刻傳資料
SDO和SDI兩條線一個是發出去一個是接收
我們WAV聲音檔案裡面,一開始有個頭部,頭部裡面就含有采樣頻率還有位寬 還有左右聲道,聲音資料
相關推薦
聲音採集播放以及I2S介面
電路圖如下 我們晶片裡面有個模組,通過I2S介面,接到我們音訊晶片,但是這個介面只傳輸聲音資料 但是我們用音效卡除了聲音之外,我們還可以調整音量,還可以設定左聲道,右聲道等等這些資訊,那麼控制資訊由誰來做呢 應該還得有其他引腳來傳遞其他控制資訊,比如調音量等等 聲音採
數字麥克風PDM訊號採集與STM32 I2S介面應用
數字麥克風採用MEMS技術,將聲波訊號轉換為數字取樣訊號,由單晶片實現取樣量化編碼,一般而言數字麥克風的輸出有PDM麥克風和PCM麥克風,由於PDM麥克風結構、工藝簡單而大量應用,在使用中要注意這二者的區別,尤其是STM32 MCU的文件在I2S介面章節,對此區別含糊
數字麥克風PDM訊號採集與STM32 I2S介面應用(二)
在使用STM32的數字麥克風I2S介面時,計算取樣率讓人頭疼,晶片手冊上沒有明確的說法,而手冊上的計算方法經過測試卻和實驗不符。藉助搜尋引擎,大部分資料都是來自於開發板賣家或開發板論壇,主要是咪頭採集然後配置WM89系列解碼晶片,然後配合FatFS、MP3解碼等模式,
數字麥克風PDM訊號採集與STM32 I2S介面應用(三)
本文是數字麥克風筆記文章的資料處理篇。 讀取數字麥克風的訊號,需要嵌入式驅動和PC應用的結合,驅動負責訊號採集,應用程式碼負責聲音分析。 一般而言,在完成特徵分析和實驗之後,把優化過的程式碼固化到嵌入式端,實現目標應用。本文記錄了分析過程的一些基本步驟。 1、ARM驅
DirectSound採集播放聲音技術文件
Windows上的採集聲音播放我們一般都用DirectSound來實現,下面我們重點來介紹一下使用DirectSound來實現音訊採集播放技術。 1.音訊採集部分: 首先我們需要枚舉出系統裡面的音訊裝置物件,我們用DirectSoundCaptureEnumerate()方
【轉載】關於C#中聲音的播放
ise player loop 安裝 lin playsound toolbar api函數 lec 轉自 http://www.cnblogs.com/chenjiahong/articles/2716552.html C#中聲音的播放主要有三種方法: 1.使用API
25、【支付模組開發】——將配置好的支付寶沙箱環境整合到我們的專案中以及支付介面的編寫
####1、將支付寶Demo中的相關檔案複製到我們的專案中: 首先,我們將Demo中src中的包及裡面的檔案複製到我們專案中 同樣,我們也要講zhifubao.properties這個配置檔案方法我們專案中的 resources目錄下: 加下來就是我們的jar包了~ 首先我們先在
Spring InitializingBean 介面以及Aware介面實現的原理
關於Spring InitializingBean 介面以及Aware介面實現的其實都在 第11步中; finishBeanFactoryInitialization() 方法中完成了3部分的內容: 1.完成對單例的非懶載入的bean 進
H5視訊播放以及下載!
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="initial-sca
win10建立Ubuntu18.04子系統,安裝常用軟體以及圖形介面(包括win10遠端桌面連線Ubuntu)
https://blog.csdn.net/li528405176/article/details/82263534 一、開啟win10子系統 [ Windows Subsystem for Linux(WSL)] 準備工作 設定——>更新和安全——>針對開發人員——>
遊戲製作之路-unity捕魚達人(一 開始以及載入介面的製作)
Unity捕魚達人的製作 一、建立開始介面 根據上一篇我們所講的,很容易就能把開始介面做出來。 二、遊戲載入場景 遊戲載入條的製作,我是用到了unity中的slider UI元件,如圖 slider元件包括背景和填充區域,在這裡我把背景設為白色,填充區域為藍色。我們把fill下的fil
Chrome 聲音自動播放抱錯問題【play() failed】
Chrome下呼叫play後抱錯:DOMException: play() failed because the user didn't interact with the document first. 聲音無法自動播放這個在IOS/Android上面一直是個慣例,桌面版的Safari在2017年的11版
I2S介面硬體定義及電氣連線方式
I2S介面概述 I2S全稱Inter-IC Sound, Integrated Interchip Sound,或簡寫IIS,是飛利浦在1986年定義(1996年修訂)的數字音訊傳輸標準,用於數字音訊資料在系統內部器件之間傳輸,例如編解碼器CODEC、DSP、數字輸入/輸出
Vue專案中對axios進行封裝以及api介面請求
對axios進行封裝: /* 定義一個ajax請求函式,並且其返回值: promise物件(非同步返回的資料是: response.data) */ import axios from 'axios'; export default function ajax (
使用Vitamio打造自己的Android萬能播放器(3)——本地播放(主介面、播放列表)
public class FragmentFile extends FragmentBase implements OnItemClickListener { private FileAdapter mAdapter; @Override public V
video無法自動播放以及不能根據父元素自適應大小
1、video添加了autoplay="autoplay"後還是不能自動播放,查閱資料後,在標籤內新增 muted,親測有效 <video src="video/pic_1536759760%20(1).mp4" muted autoplay="autoplay" s
簡易登入以及註冊介面製作
以下為登入和註冊頁面的圖片 登入: 註冊: 先介紹登入頁面 以下為登入的html <input id="username" type="text" placeholder="請輸入使用者名稱"> <input id="password" type="passw
遊戲製作之路-unity捕魚達人(一 開始以及載入介面的製作)
Unity捕魚達人的製作 一、建立開始介面 根據上一篇我們所講的,很容易就能把開始介面做出來。 二、遊戲載入場景 遊戲載入條的製作,我是用到了unity中的slider UI元件,如圖 slider元件包括背景和填充區域,在這裡我把背景設為白色,填充區域為
Java Comparable以及Colne介面的使用
Comparable 舉例:對集合ArrayList<Job> jobs中的提交時間排序(提交時間為屬性:submit)進行排序。 首先對於Job類實現Compara
List Set Map以及子介面用法總結
Collection ├List│├LinkedList│├ArrayList│└Vector│ └Stack└SetMap├Hashtable├HashMap └WeakHashMap list 和set 有共同的父類Collection 它們的用法也是一樣的 唯