回覆列表
  • 1 # 程式魚哥

    一、首先回答下題主的問題

    程式設計師絕對不會親自動手去寫0101的這種二進位制,哪怕是幾十年前。程式語言有機器語言,低階語言和高階語言之分,任何程式語言都會透過相對應的編譯機制和解釋機制,最終轉換成機器能識別的位元組碼檔案,也就是二進位制檔案(0101…)。

    二、語音識別

    語音識別技術所涉及的領域包括:訊號處理、模式識別、機率論和資訊理論、發聲機理和聽覺機理、人工智慧等等。語音識別方法主要是模式匹配法。 在訓練階段,使用者將詞彙表中的每一詞依次說一遍,並且將其特徵向量作為模板存入模板庫。 在識別階段,將輸入語音的特徵向量依次與模板庫中的每個模板進行相似度比較,將相似度最高者作為識別結果輸出。語音識別的過程就是模電轉換的過程。機器中的聲音模組接收外界語音,透過一系列前端處理,比如對原始語音進行降噪和源音增強處理轉換成電訊號,後端對電訊號進行一系列的處理、編譯和解釋,最終得到機器識別環境能識別的資訊。當然這個過程是非常複雜的,無論如何編譯、解釋、識別對於任何語言或操作來講,其實本身是一種機器和外在事物資訊互動的約定,就像漢語、英語等,不同的語言,不同的文字,不同的意思,這事先都進行了約定,雙方透過這種約定最終達到交流的目的。

    以上僅僅是對題主的問題做一個簡單的解答和說明,具體工作原理和過程都是相當抽象和複雜的,如果涉足相關領域可以再做深度研究。希望以上能給予一些幫助。

    【無情懷,不編碼。做一個有情懷的碼農,雖千萬人,吾往矣!】

  • 2 # 搬磚程式設計師

    人類的語音,應該說的是程式語言吧。

    先解決說明中的小問題,幾十年前,最開始的程式設計師就是靠0和1“敲”出來,這就是所謂的機器語言(還是人造的),因為硬體簡單,所以只有0和1。

    每臺機器對應著一組指令集,程式設計師編寫程式需要記住這些指令集,並且記住每個工作單元的狀態,非常複雜。

    後來發明了組合語言,這個和機器語言和接近,相對來說還是容易編寫。

    比較有標誌性的是,c語言的誕生,面向過程的思想,隨後的程式語言,都深受其影響。

    說偏了,下面講一下編譯器的原理。

    第一步,進行語法分析,一段程式碼,計算機看到的可能就是一個個字元,計算機需要進行標記,為之後的工作做準備。

    第二步,語法分析,透過對之前的標記,我們進一步分析裡面的語法,再一步簡化

    第三步,語義分析,其實可以理解為進一步的語法分析,這一步是將之前不易分析出來的部分,進行進一步分析,進一步解釋(標記)。

    第四步,最佳化程式碼,如無用的程式碼,計算的結果,註釋等等,這些東西有的已經在前面進行優化了,這根據編譯器的選擇有關。

    第五步,生成目的碼。

    其實,編譯器的核心就是演算法的設計,只是這個演算法非常非常複雜。

  • 3 # 菜鳥01號

    題主你猜的不錯,第一個編譯器就是人工純手工編寫的。

    有一種編譯方法叫迭代法,將一個程式分成很多份,然後讓第一份寫出的編譯器編譯第二份,以此類推,編譯完所有。人工只需要編譯第一份編譯器,這樣就大大降低了工作量。

    舉個栗子

    c語言程式語言gcc編譯才能執行,而gcc本身又是c語言寫出來的,那gcc是怎麼編譯出來的呢?就像先有雞還是先有蛋的問題。

    答案是gcc又由其它語言編譯器編譯的,一般是組合語言,那組合語言是用啥編譯的呢?總有一個最初的編譯器存在。學過組合語言的人都知道,組合語言每一個指令都對應著一個二進位制碼,在計算機早期,人們都是在紙條上寫完程式,然後對照編碼表,一步步編譯成機器語言的。所以,人的大腦就是最初的那個編譯器,只不過速度有點慢而已。

    有了機器碼,發明了彙編,一切都好辦了,最難的就是如何跨出那第一步。

  • 4 # 大學生程式設計指南

    編譯器只是把這些邏輯程式碼編譯成計算機能識別的二進位制檔案,最初的計算機的程式設計幾乎就是最原始的0101的組合而作,隨著大家的努力從彙編,再到C語言,再到現在的C++程式語言,加上現在大行其道的java,以及爭議最大的程式語言php,開發軟體越來越通俗化,以至於很多人做了很多年都不知道底層語言是如何工作的,分工也精細了。

    最近很多人說到底層語言過時了之類的語言,特別是對於C語言,現在作業系統的底層語言實現大部分都是C語言,底層驅動,通訊類的程式設計基本上都有其影子。

    只不過經過多年的發展,底層很多的東西已經成型,相對來說工作機會就少了許多。但是並不代表沒有公司需要了,工作的要求相對高了一些。造成了一種底層語言找不到工作的假象,這點在公司招聘員工的時候體現出來了,找web後臺開發的一大批投簡歷的,但是招嵌入式的幾乎找不到,大家都忙著培訓速成品了。

  • 中秋節和大豐收的關聯?
  • 電腦主機裡的部件各起什麼作用?